From b6e490ee173d55ed0f25620b6516d0fad0b37ea6 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 29 Dec 2022 11:54:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=9F=90=E7=A7=8D=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E6=89=80=E6=9C=89=E9=81=93=E5=85=B7=EF=BC=88=E9=81=93?= =?UTF-8?q?=E5=85=B7=E7=B1=BB=E5=9E=8B,=E6=95=B0=E9=87=8F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/comp_configure.go | 11 +++++++++++ modules/gm/api_cmd.go | 1 + modules/gm/module.go | 26 ++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/modules/comp_configure.go b/modules/comp_configure.go index 05b4f8a3b..93bf1b3ca 100644 --- a/modules/comp_configure.go +++ b/modules/comp_configure.go @@ -332,3 +332,14 @@ func (this *MCompConfigure) GetVipConfigureData(lv int32) (item *cfg.GameVipData return } + +func (this *MCompConfigure) GetItemConfigureByType(useType int32) (item []*cfg.GameItemData) { + if v, err := this.GetConfigure(game_item); err == nil { + for _, v1 := range v.(*cfg.GameItem).GetDataMap() { + if v1.Usetype == useType { + item = append(item, v1) + } + } + } + return +} diff --git a/modules/gm/api_cmd.go b/modules/gm/api_cmd.go index 0e430f0ba..c3c739a74 100644 --- a/modules/gm/api_cmd.go +++ b/modules/gm/api_cmd.go @@ -37,6 +37,7 @@ import ( 20、bingo:cleanitem 21、bingo:allequip 21、bingo:chat,1 +22、bingo:itemtype,1,1 // 获取某种类型所有道具(道具类型,数量) */ //参数校验 func (this *apiComp) CmdCheck(session comm.IUserSession, req *pb.GMCmdReq) (code pb.ErrorCode) { diff --git a/modules/gm/module.go b/modules/gm/module.go index 271dad286..9d611d356 100644 --- a/modules/gm/module.go +++ b/modules/gm/module.go @@ -425,6 +425,32 @@ func (this *GM) CreateCmd(session comm.IUserSession, cmd string) (code pb.ErrorC log.Field{Key: "uid", Value: session.GetUserId()}, log.Field{Key: "0", Value: datas[0]}, ) + } else if len(datas) == 3 && (datas[0] == "itemtype") { + num1, err := strconv.Atoi(datas[1]) + if err != nil { + code = pb.ErrorCode_ReqParameterError + return + } + num2, err := strconv.Atoi(datas[2]) + if err != nil { + code = pb.ErrorCode_ReqParameterError + return + } + _data := this.configure.GetItemConfigureByType(int32(num1)) + for _, v := range _data { + res := &cfg.Gameatn{ + A: "item", + T: v.Id, + N: int32(num2), + } + this.DispenseRes(session, []*cfg.Gameatn{res}, true) + } + this.Debug("使用bingo命令:uid = %s ", + log.Field{Key: "uid", Value: session.GetUserId()}, + log.Field{Key: "0", Value: datas[0]}, + log.Field{Key: "1", Value: datas[1]}, + log.Field{Key: "2", Value: datas[2]}, + ) } } }