客户端GM控制台发送指令解析并发放资源
This commit is contained in:
parent
7af40d1031
commit
1e7dc159e4
@ -3,10 +3,17 @@ package gm
|
||||
import (
|
||||
"go_dreamfactory/comm"
|
||||
"go_dreamfactory/pb"
|
||||
cfg "go_dreamfactory/sys/configure/structs"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
/* GM 在控制台输入的字符串类型
|
||||
//bingo:item,10001,1
|
||||
//bingo:attr,gold,1000000
|
||||
*/
|
||||
//参数校验
|
||||
func (this *apiComp) CmdCheck(session comm.IUserSession, req *pb.GMCmdReq) (code pb.ErrorCode) {
|
||||
if len(req.Cmod) == 0 {
|
||||
@ -17,17 +24,35 @@ func (this *apiComp) CmdCheck(session comm.IUserSession, req *pb.GMCmdReq) (code
|
||||
|
||||
///解析GM 指令
|
||||
func (this *apiComp) Cmd(session comm.IUserSession, req *pb.GMCmdReq) (code pb.ErrorCode, data proto.Message) {
|
||||
|
||||
var (
|
||||
heroid string
|
||||
star int32
|
||||
lv int32
|
||||
)
|
||||
if code = this.CmdCheck(session, req); code == pb.ErrorCode_Success {
|
||||
return
|
||||
}
|
||||
// strings.Split(req.Cmod, "sign")
|
||||
this.module.ModuleHero.GetSpecifiedHero(session.GetUserId(), heroid, star, lv)
|
||||
keys := strings.Split(req.Cmod, ":")
|
||||
if len(keys) == 2 {
|
||||
if keys[0] == "bingo" {
|
||||
datas := strings.Split(keys[1], ",")
|
||||
if len(datas) != 3 {
|
||||
num, err := strconv.Atoi(datas[2])
|
||||
if err != nil {
|
||||
code = pb.ErrorCode_ReqParameterError
|
||||
return
|
||||
}
|
||||
code = this.module.DispenseRes(session, []*cfg.Game_atn{ // 添加资源
|
||||
{
|
||||
A: datas[0],
|
||||
T: datas[1],
|
||||
N: int32(num),
|
||||
},
|
||||
}, true)
|
||||
if code == pb.ErrorCode_Success { // 成功直接返回
|
||||
session.SendMsg(string(this.module.GetType()), "cmd", &pb.GMCmdResp{IsSucc: true})
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//this.module.ModuleHero.GetSpecifiedHero(session.GetUserId(), heroid, star, lv)
|
||||
session.SendMsg(string(this.module.GetType()), "cmd", &pb.GMCmdResp{IsSucc: false})
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user