package game import ( "fmt" "server/GoUtil" cardCfg "server/conf/card" chargeCfg "server/conf/charge" playroomCfg "server/conf/playroom" "server/db" "server/game/mod/card" "server/game/mod/item" MsgMod "server/game/mod/msg" "server/game/mod/playroom" "server/msg" "server/pkg/github.com/name5566/leaf/log" "strconv" "strings" "google.golang.org/protobuf/proto" ) func ReqGmCommand(args []interface{}) error { _, player, buf := ParseArgs(args) detail := &msg.ReqGmCommand{} proto.Unmarshal(buf, detail) arg := strings.Split(detail.Command, " ") log.Debug("Player %d ReqGmCommand:%v", player.M_DwUin, arg) switch arg[0] { case "additem": id, _ := strconv.Atoi(arg[1]) num, _ := strconv.Atoi(arg[2]) player.HandleItem([]*item.Item{item.NewItem(id, num)}, msg.ITEM_POP_LABEL_GM.String()) case "subitem": id, _ := strconv.Atoi(arg[1]) num, _ := strconv.Atoi(arg[2]) player.HandleItem([]*item.Item{item.NewItem(id, -num)}, msg.ITEM_POP_LABEL_GM.String()) case "reset_order": player.PlayMod.mod_list.Order.Step = 0 player.PlayMod.mod_list.Order.InitData() player.PushClientRes(player.PlayMod.mod_list.Order.BackData()) case "add_card_star": num, _ := strconv.Atoi(arg[1]) player.PlayMod.mod_list.Card.ExchangeStar += num player.PushClientRes(player.PlayMod.mod_list.Card.BackData()) case "add_card": Id, _ := strconv.Atoi(arg[1]) player.PlayMod.mod_list.Card.AddCard(Id) player.PushClientRes(player.PlayMod.mod_list.Card.NotifyCard()) case "reset_card_reward": player.PlayMod.mod_list.Card.CollectReward = make(map[int]struct{}) player.PlayMod.mod_list.Card.AllCollect = 0 player.PushClientRes(player.PlayMod.mod_list.Card.BackData()) case "addexp": num, _ := strconv.Atoi(arg[1]) player.GetPlayerBaseMod().AddExp(player, num) player.PushClientRes(&player.GetPlayerBaseMod().Data) case "setlv": num, _ := strconv.Atoi(arg[1]) player.GetPlayerBaseMod().Data.Level = int32(num) player.GetPlayerBaseMod().Data.Exp = 0 player.PushClientRes(&player.GetPlayerBaseMod().Data) case "zeroUpdate": VarMod := player.PlayMod.getVarMod() VarMod.DailyResetTime = 0 player.ZeroUpdate(nil) G_GameLogicPtr.ZeroFlush() case "weekUpdate": VarMod := player.PlayMod.getVarMod() VarMod.WeeklyResetTime = 0 player.ZeroUpdate(nil) G_GameLogicPtr.ZeroFlush() case "setSevenLoginActive": num, _ := strconv.Atoi(arg[1]) player.PlayMod.getSevenLoginMod().Active = num case "pay": ChargeId, _ := strconv.Atoi(arg[1]) player.Kafka("pay", map[string]interface{}{ "ProductId": ChargeId, "Price": chargeCfg.GetMoneyCharge(ChargeId), "PayType": 3, "OrderId": "gm", "PayChannelOrderId": "gm", "CreateTime": GoUtil.Now(), "PayTime": GoUtil.Now(), }) Charge(player, ChargeId) case "resetFace": FaceMod := player.PlayMod.getFaceMod() FaceMod.List = nil FaceMod.InitData() AvatarMod := player.PlayMod.getAvatarMod() AvatarMod.List = nil AvatarMod.InitData() case "createOrder": Lv := player.GetPlayerBaseMod().GetLevel() EmitList := player.PlayMod.getChessMod().GetEmitList() EnergyMul := player.PlayMod.getBaseMod().GetEnergyMul() player.PlayMod.getOrderMod().CreateOrder(Lv, EmitList, EnergyMul) player.PushClientRes(player.PlayMod.getOrderMod().BackData()) case "resetCardReq": CardMod := player.PlayMod.getCardMod() CardMod.ReqFriend = make(map[int]*card.CardInfo) CardMod.ExCard = make(map[int]*card.CardInfo) CardMod.ExTimes = 10 CardMod.ReqTimes = 10 CardMod.AddCard(1) CardMod.AddCard(2) CardMod.AddCard(3) FriendMod := player.PlayMod.getFriendMod() FriendMod.Card = make(map[string]*card.CardInfo) player.PushClientRes(CardMod.NotifyCard()) case "subCard": ChargeId, _ := strconv.Atoi(arg[1]) CardMod := player.PlayMod.getCardMod() CardMod.SubCard(ChargeId) player.PushClientRes(CardMod.NotifyCard()) case "setProgress": num, _ := strconv.Atoi(arg[1]) player.PlayMod.getLimitedTimeEventMod().Progress = num case "setProgressReward": for i := 1; i < 5; i++ { player.PlayMod.getLimitedTimeEventMod().AddProgress(6) } player.PushClientRes(player.PlayMod.getLimitedTimeEventMod().ProgressBackData()) case "champshipGroup": G_GameLogicPtr.ChampshipMgrSend(&MsgMod.Msg{ Type: MsgMod.HANDLE_TYPE_CHAMPSHIP_GROUP, }) case "clearRank": num, _ := strconv.Atoi(arg[1]) G_GameLogicPtr.RankMgr.ClearRank(num) case "resetUserInfo": Rank := G_GameLogicPtr.RankMgr.getRank(RANK_TYPE_USER) for _, v := range Rank { G_GameLogicPtr.GetResSimplePlayerByUid(v.Uid) } case "champshipZero": G_GameLogicPtr.ChampshipMgrSend(&MsgMod.Msg{ Type: MsgMod.HANDLE_TYPE_CHAMPSHIP_ZERO, }) case "addMail": MailMod := player.PlayMod.getMailMod() Id := MailMod.Send("test", "test", []*item.Item{item.NewItem(100001, 1)}) player.PushClientRes(MailMod.NotifyMail(Id)) case "addMail2": MailMod := player.PlayMod.getMailMod() Id := MailMod.Send("test", "test", []*item.Item{}) player.PushClientRes(MailMod.NotifyMail(Id)) case "resetEmitOrder": OrderMod := player.PlayMod.getOrderMod() OrderMod.EimtOrder = make(map[string]struct{}) HandbookMod := player.PlayMod.getHandbookMod() delete(HandbookMod.BookList, 125) case "miningReload": MiningMod := player.PlayMod.getMiningMod() MiningMod.ZeroUpdate(-1) ActivityInfo := GetActivityInfo(player, ACT_TYPE_MINING) MiningMod.ZeroUpdate(ActivityInfo.Id) MiningBackData(player) case "guessColorReload": GuessColorMod := player.PlayMod.getGuessColorMod() GuessColorMod.ZeroUpdate(-1) ActivityInfo := GetActivityInfo(player, ACT_TYPE_GUESS_COLOR) GuessColorMod.ZeroUpdate(ActivityInfo.Id) GuessColorBackData(player) case "raceReload": RaceMod := player.PlayMod.getRaceMod() RaceMod.ZeroUpdate(-1) ActivityInfo := GetActivityInfo(player, ACT_TYPE_RACE) RaceMod.ZeroUpdate(ActivityInfo.Id) case "playroomTrigger": PlayroomOrderTrigger(player) case "playroomReset": PlayroomMod := playroom.PlayroomMod{} PlayroomMod.InitData() player.PlayMod.mod_list.Playroom = PlayroomMod case "playroomCollect": CollectList := playroomCfg.GetDecorateList() PlayroomMod := player.PlayMod.getPlayroomMod() for _, v := range CollectList { PlayroomMod.AddCollect(v) } case "resetRetire": ChessMod := player.PlayMod.getChessMod() ChessMod.Retire = make(map[string]int) ChessMod.RetireChessMap = make(map[string][]int) case "addChip": PlayroomMod := player.PlayMod.getPlayroomMod() PlayroomMod.AddChip() player.PushClientRes(PlayroomMod.NotifyLose()) case "save": player.PlayMod.ClearData(player) case "outline": a := player.GetAgent() a.Close() player.ClearData() case "addFriend": FriendMod := player.PlayMod.getFriendMod() Uid, _ := strconv.Atoi(arg[1]) FriendMod.AddFriend(Uid) case "addAddCard": CardMod := player.PlayMod.getCardMod() CardList := cardCfg.GetAllCardId(CardMod.Round) for _, v := range CardList { CardMod.AddCard(v) } case "resetRankUser": O := G_GameLogicPtr.RankMgr.getAllRank(RANK_TYPE_USER) for _, v := range O { Uid := strconv.Itoa(v.Uid) TimeSort := fmt.Sprintf("0.%d", RANK_TIME_SORT-GoUtil.Now()) TimeSortF, _ := strconv.ParseFloat(TimeSort, 64) db.RedisZAdd(RANK_USER, Uid, v.Score+TimeSortF) } case "addFriendStar": FriendTreasureMod := player.PlayMod.getFriendTreasureMod() FriendTreasureMod.AddStar(200) case "setDecorateArea": S, _ := strconv.Atoi(arg[1]) DecorateMod := player.PlayMod.getDecorateMod() DecorateMod.AreaId = S DecorateMod.FinishList = make(map[int]struct{}) DecorateMod.Progress = 0 } player.PlayMod.save() return nil }