package common import ( "fmt" "strings" ) // todo // 游戏模式ID // 多个id会属于同一个游戏,需要判断游戏类型时添加一个方法 // 例如:判断是否是象棋游戏 // func IsChess(id int) bool { // switch id { // case GameId_Chesstitians, // GameId_ChesstitiansMakruk, // GameId_ChesstitiansCambodian, // GameId_ChesstitiansCambodianRobot: // return true // } // return false //} const ( GameId_Unknow int = iota __GameId_Hundred_Min__ = 100 //################百人类################ GameId_HundredDZNZ = 101 //德州牛仔 GameId_HundredYXX = 102 //鱼虾蟹 GameId_Baccarat = 103 //百家乐 GameId_RollPoint = 104 //骰宝 GameId_Roulette = 105 //轮盘 GameId_DragonVsTiger = 106 //龙虎斗 GameId_RedVsBlack = 107 //红黑大战 GameId_RollCoin = 108 //奔驰宝马 GameId_RollAnimals = 109 //飞禽走兽 GameId_RollColor = 110 //森林舞会 GameId_RedPack = 111 //红包扫雷 GameId_Crash = 112 //碰撞游戏 __GameId_VS_Min__ = 200 //################对战类################ GameId_DezhouPoker = 201 //德州扑克 GameId_DezhouPoker_5To2 = 202 //德州扑克5选2 GameId_OmahaPoker = 203 //奥马哈 GameId_TenHalf = 204 //十点半 GameId_FiveCardStud = 205 //梭哈 GameId_BlackJack = 206 //21点 GameId_TienLen = 207 // tienlen自由桌经典版 GameId_TienLen_yl = 208 // tienlen自由桌娱乐版 GameId_TienLen_toend = 209 // tienlen自由桌经典版(打到底) GameId_TienLen_yl_toend = 210 // tienlen自由桌娱乐版(打到底) GameId_TienLen_m = 807 // tienlen经典比赛场 GameId_TienLen_m_toend = 808 // tienlen经典比赛场(打到底) GameId_TaLa = 220 //tala GameId_SamLoc = 230 //samloc GameId_TienLenSelect = 240 // tienlen经典版 GameId_TienLenSelect_yl = 241 // tienlen娱乐版 GameId_TienLenRank = 242 // tienlen排位赛经典 GameId_TienLenRank_yl = 243 // tienlen排位赛娱乐 GameId_TienLenSelect_toend = 244 // tienlen经典版(打到底) GameId_TienLenSelect_yl_toend = 245 // tienlen娱乐版(打到底) GameId_TienLenRank_toend = 246 // tienlen排位赛经典(打到底) GameId_TienLenRank_yl_toend = 247 // tienlen排位赛娱乐(打到底) GameId_Chesstitians = 501 //国际象棋 GameId_ChesstitiansMakruk = 511 //国际象棋变体 (Makruk 泰国象棋) GameId_ChesstitiansCambodian = 521 // 柬埔寨象棋 (Cambodian 柬埔寨象棋) GameId_ChesstitiansCambodianRobot = 522 // 柬埔寨象棋人机对战 GameID_Thirteen4 = 211 // 十三张(四人场) GameID_Thirteen8 = 212 // 十三张(八人场) GameID_ThirteenFree = 213 // 十三张(自由场经典场) GameID_ThirteenFreeLaiZi = 214 // 十三张(自由场癞子场) __GameId_Slot_Min__ = 300 //################拉霸类################ GameId_CaiShen = 301 // 财神 GameId_Avengers = 302 // 复仇者联盟 GameId_EasterIsland = 303 // 复活岛 GameId_IceAge = 304 // 冰河世纪 GameId_TamQuoc = 305 // 百战成神 GameId_Fruits = 306 // 水果拉霸 GameId_Richblessed = 307 // 多福多财 __GameId_Fishing_Min__ = 400 //################捕鱼类################ GameId_HFishing = 401 //欢乐捕鱼 GameId_TFishing = 402 //天天捕鱼 __GameId_Casual_Min__ = 500 //################休闲类################ __GameId_MiniGame_Min__ = 600 //################小游类################ GameId_Candy = 601 //糖果小游戏 GameId_MiniPoker = 602 //MiniPoker GameId_BOOM = 603 //卡丁车 GameId_LuckyDice = 604 //幸运筛子 GameId_CaoThap = 605 //CaoThap GameId_AngerUncle = 606 // 愤怒大叔 GameId_SmallRoket = 607 // 小火箭 __GameId_ThrGame_Min__ = 700 //################三方类################ GameId_Thr_Dg = 701 //DG Game GameId_Thr_XHJ = 901 //DG Game ) // IsTienLen TienLen游戏 func IsTienLen(gameId int) bool { return InSliceInt32(GetTienlenGameID(), int32(gameId)) } func GetTienlenGameID() []int32 { //todo 还要维护游戏id,好麻烦,还容易忘 return []int32{ GameId_TienLen, GameId_TienLen_yl, GameId_TienLen_toend, GameId_TienLen_yl_toend, GameId_TienLen_m, GameId_TienLen_m_toend, GameId_TienLenSelect, GameId_TienLenSelect_toend, GameId_TienLenSelect_yl, GameId_TienLenSelect_yl_toend, GameId_TienLenRank, GameId_TienLenRank_toend, GameId_TienLenRank_yl, GameId_TienLenRank_yl_toend, } } // IsTienLenYuLe TienLen娱乐 func IsTienLenYuLe(gameId int) bool { switch gameId { case GameId_TienLen_yl, GameId_TienLen_yl_toend, GameId_TienLenSelect_yl, GameId_TienLenRank_yl, GameId_TienLenSelect_yl_toend, GameId_TienLenRank_yl_toend: return true } return false } // IsTienLenToEnd TienLen打到底 func IsTienLenToEnd(gameId int) bool { switch gameId { case GameId_TienLen_toend, GameId_TienLen_yl_toend, GameId_TienLen_m_toend, GameId_TienLenSelect_toend, GameId_TienLenSelect_yl_toend, GameId_TienLenRank_toend, GameId_TienLenRank_yl_toend: return true } return false } // IsChess 象棋游戏 func IsChess(gameId int) bool { switch gameId { case GameId_Chesstitians, GameId_ChesstitiansMakruk, GameId_ChesstitiansCambodian, GameId_ChesstitiansCambodianRobot: return true } return false } // IsThirteen 十三张游戏 func IsThirteen(gameId int) bool { switch gameId { case GameID_Thirteen4, GameID_Thirteen8, GameID_ThirteenFree, GameID_ThirteenFreeLaiZi: return true } return false } // IsThirteen 十三张游戏 func IsSmallRocket(gameId int) bool { switch gameId { case GameId_SmallRoket: return true } return false } // IsLocalGame 自动分场模式的游戏 // 根据 DB_Createroom.xlsx 给玩家分场或创建房间 func IsLocalGame(gameId int) bool { switch gameId { case GameId_TienLen, GameId_TienLen_yl, GameId_TienLen_toend, GameId_TienLen_yl_toend, GameId_TaLa, GameId_SamLoc, GameID_ThirteenFree, GameID_ThirteenFreeLaiZi: return true } return false } // IsPlayerPool 需要统计在个人水池的游戏 func IsPlayerPool(gameId int) bool { if IsTienLen(gameId) || IsThirteen(gameId) { return true } return false } // 房间编号区间 const ( PrivateSceneStartId = 10000000 PrivateSceneMaxId = 99999999 MatchSceneStartId = 100000000 MatchSceneMaxId = 199999999 HundredSceneStartId = 200000000 HundredSceneMaxId = 299999999 HallSceneStartId = 300000000 HallSceneMaxId = 399999999 MiniGameSceneStartId = 400000000 MiniGameSceneMaxId = 409999999 CoinSceneStartId = 1000000000 //区间预留大点,因为队列匹配比较耗id,假定一天100w牌局,那么这个id区间够用1000天 CoinSceneMaxId = 1999999999 DgSceneId = 99 ) // 房间模式 const ( SceneMode_Public = iota //公共房间 SceneMode_Club //俱乐部房间 SceneMode_Private //私人房间 SceneMode_Match //赛事房间 SceneMode_Thr //三方房间 ) // 场景级别 //const ( // SceneLvl_Test = -1 // 试玩场(不要钱) // SceneLvl_Experience = 0 // 体验场(花小钱) // SceneLvl_Primary = 1 // 初级场 // SceneLvl_Middle = 2 // 中级场 // SceneLvl_Senior = 3 // 高级场 // SceneLvl_Professor = 4 // 专家场 //) // 房费选项 //const ( // RoomFee_Owner int32 = iota //房主 // RoomFee_AA //AA // RoomFee_Max //) const ( Platform_Rob = "__$G_P$__" Platform_Sys = "0" Channel_Rob = "$${ROBOT}$$" PMCmd_SplitToken = "-" PMCmd_AddCoin = "addcoin" PMCmd_Privilege = "setprivilege" DeviceOS_Android = "android" DeviceOS_IOS = "ios" ) const ( GainWay_NewPlayer int32 = 0 //0.新建角色 GainWay_Pay = 1 //1.后台增加(主要是充值) GainWay_ByPMCmd = 2 //2.pm命令 GainWay_MatchBreakBack = 3 //3.退赛退还 GainWay_MatchSystemSupply = 4 //4.比赛奖励 GainWay_Exchange = 5 //5.兑换 GainWay_ServiceFee = 6 //6.桌费 GainWay_CoinSceneWin = 7 //7.金豆场赢取 GainWay_CoinSceneLost = 8 //8.金豆场输 GainWay_CoinSceneEnter = 9 //9.进入金币场预扣 GainWay_ShopBuy = 10 //10.商城购买或者兑换 GainWay_CoinSceneLeave = 11 //11.金豆场回兑 GainWay_HundredSceneWin = 12 //12.万人场赢取 GainWay_HundredSceneLost = 13 //13.万人场输 GainWay_MessageAttach = 14 //14.邮件 GainWay_SafeBoxSave = 15 //15.保险箱存入 GainWay_SafeBoxTakeOut = 16 //16.保险箱取出 GainWay_Fishing = 17 //17.捕鱼 GainWay_CoinSceneExchange = 18 //18.金豆场兑换 GainWay_UpgradeAccount = 19 //19.升级账号 GainWay_API_AddCoin = 20 //20.API操作钱包 GainWay_GoldCome = 21 //21.财神降临 GainWay_Transfer_System2Thrid = 22 //22.系统平台转入到第三方平台的金币 GainWay_Transfer_Thrid2System = 23 //23.第三方平台转入到系统平台的金币 GainWay_RebateTask = 24 //24.返利获取 GainWay_IOSINSTALLSTABLE = 25 //25.ios安装奖励 GainWay_VirtualChange = 26 //26.德州虚拟账变 GainWay_CreatePrivateScene = 27 //27.创建私有房间 GainWay_PrivateSceneReturn = 28 //28.解散私有房间返还 GainWay_OnlineRandCoin = 29 //29.红包雨 GainWay_Expire = 30 //30.到期清理 GainWay_PromoterBind = 31 //31.手动绑定推广员 GainWay_GradeShopReturn = 32 //32.积分商城撤单退还积分 GainWay_Api_In = 33 //33.转移金币 GainWay_Api_Out = 34 //34.转移金币 GainWay_Shop_Buy = 35 //35.购买记录 GainWay_MAIL_MTEM = 36 //36.邮件领取道具 GainWay_Item_Sale = 37 //37.道具出售 GainWay_ReliefFund = 38 //38.领取救济金 GainWay_Shop_Revoke = 39 //39.撤单 GainWay_ActSign = 40 //40.签到 GainWay_MatchSignup = 41 //比赛报名费用 GainWay_MatchSeason = 42 //比赛赛季奖励 GainWay_ActSignNew = 43 //43.新签到 GainWay_ActTurnplate = 44 //44.轮盘 GainWay_ActBlindBox = 45 //45.盲盒 GainWay_ActFirstPay = 46 //46.首充 GainWay_VIPGift = 47 //47.vip礼包 GainWay_ActContinuousPay = 48 //48.连续充值 GainWay_ActJybAward = 49 //49.礼包码兑换 GainWay_LeaveDeduct = 50 //50.离开扣分 GainWay_LeaveCombat = 51 //51.离开补偿 GainWay_RankMatch = 52 //52.排位赛段位奖励 GainWay_AddBag = 53 //53 增加背包接口调用 GainWay_SmallRocket = 54 //54.小火箭收入 GainWay_BindTel = 55 //55.绑定手机号 GainWay_ReliefFund2 = 56 //56.救济金看视频双倍领取 GainWay_ActTurnplate2 = 57 //57.轮盘看视频双倍领取 GainWay_ActSignNew2 = 58 //58.签到看视频双倍领取 GainWay_ItemUse = 59 //59.道具使用 GainWay_PhoneScore = 60 //60.积分抽奖活动 GainWay_RankReward = 61 //61.段位奖励 GainWay_TaskReward = 62 //62.任务奖励 GainWay_Interact = 63 //63.房间内互动效果 GainWay_Collect = 64 //64.集卡活动 GainWay_WeekCardAward = 65 //65.周卡每日奖励 ) // 后台选择 金币变化类型 的充值 类型id号起始 //const GainWaySort_Api = 1000 // 自定义局数起始索引 //const CUSTOM_PER_GAME_INDEX_BEG int32 = 10 const ( ClientRole_Agentor int = iota ClientRole_Player ClientRole_GM ClientRole_Max ) const ( CoinSceneOp_Enter int32 = iota //进入 CoinSceneOp_Leave //离开 CoinSceneOp_Change //换桌 CoinSceneOp_AudienceEnter //观众进入 CoinSceneOp_AudienceLeave //观众离开 CoinSceneOp_AudienceChange //观众换桌 CoinSceneOP_Server ) // 玩家离开原因 const ( PlayerLeaveReason_Normal int = iota //主动离开 PlayerLeaveReason_Bekickout //钱不够被踢出 PlayerLeaveReason_OnDestroy //房间销毁强制退出 PlayerLeaveReason_CoinScene //玩家暂离金豆自由场 PlayerLeaveReason_ChangeCoinScene //玩家换桌 PlayerLeaveReason_OnBilled //结算完毕 PlayerLeaveReason_DropLine //掉线离开 PlayerLeaveReason_LongTimeNoOp //长时间未操作 PlayerLeaveReason_GameTimes //超过游戏次数强制离开 PlayerLeaveReason_RoomFull //房间人数已达上限 PlayerLeaveReason_RoomClose //房间已解散 PlayerLeaveReason_RoomMaxCoin //超出房间限制金币范围 PlayerLeaveReason_AutoState //托管状态踢出房间 ) // 万分比 const RATE_BASE_VALUE int32 = 10000 const ( SceneState_Normal int = iota SceneState_Fishing //鱼潮 ) const ( PlayerType_Rob int32 = 0 PlayerType_Undefine = 1 PlayerType_Black = -1 PlayerType_White = -2 ) const ( CoinPoolAIModel_Default int32 = iota //默认 CoinPoolAIModel_Normal //正常模式 CoinPoolAIModel_ShouFen //收分模式 CoinPoolAIModel_ZheZhong //折中模式 CoinPoolAIModel_TuFen //吐分 CoinPoolAIModel_Max // ) const ( RobotServerType int = 9 RobotServerId = 901 DataServerType int = 10 DataServerId = 1001 AIServerType = 11 AIServerId = 1101 ActThrServerType int = 12 ActThrServerID = 1201 ) // 踢号原因 const ( KickReason_Unknow int32 = iota KickReason_OtherLogin //顶号 KickReason_Freeze //冻结 KickReason_ResLow = 5 //资源 KickReason_AppLow = 6 //App版本 KickReason_CheckCodeErr = 7 //校验错误 KickReason_TaskErr = 8 //任务错误 KickReason_CantFindAcc = 9 //查找sid acc错误 KickReason_DBLoadAcc = 10 //数据库登录错误 KickReason_Logining //登陆中 KickReason_Disconnection = 99 //网络断开 ) // 游戏类型 const ( GameType_Unknow int32 = iota GameType_Hundred // 百人类 GameType_PVP // 对战类 GameType_Slot // 拉霸类 GameType_Fishing // 捕鱼类 GameType_Casual // 休闲类 GameType_Mini // 小游戏类 GameType_Thr // 三方类 ) func IsHundredType(gt int32) bool { return gt == GameType_Hundred || gt == GameType_Slot || gt == GameType_Casual } func IsCoinSceneType(gt int32) bool { return gt == GameType_PVP || gt == GameType_Fishing } const PreCreateSceneAudienceNum = 20 const ( HorseRaceLampPriority_Coin int = iota //根据玩家输赢金额大小设置优先级(在最大最小限额的基础上) HorseRaceLampPriority_Rand //随机(在最大最小限额的基础上) ) // 设备 const ( Web = 0 Android = 1 IOS = 2 WebStr = "h5" AndroidStr = "android" IOSStr = "ios" ) var DeviceName = map[int]string{ Web: WebStr, Android: AndroidStr, IOS: IOSStr, } var DeviceNum = map[string]int{ WebStr: Web, AndroidStr: Android, IOSStr: IOS, } const ( MatchTrueMan_Forbid int32 = -1 //禁止匹配真人 MatchTrueMan_Unlimited = 0 //不限制 MatchTrueMan_Priority = 1 //优先匹配真人 ) const ( SingleAdjustModeNormal = 0 SingleAdjustModeWin = 1 SingleAdjustModeLose = 2 ) // 自动化标签(程序里产生的全部<0) const ( AutomaticTag_QZNN_Smart int32 = -1 ) const ( SceneParamEx_DbGameFreeId = 0 SceneParamEx_CanStartNum = 1 //游戏开始的要求人数 ) // 比赛参数 const ( PlayerIParam_MatchRank int = iota PlayerIParam_IsQuit PlayerIParam_MatchWeaken PlayerIParam_TotalOfGames ) const ( PARAMEX_GAMEFREEID int = iota //游戏id PARAMEX_MATCH_COPYID //比赛副本id PARAMEX_MATCH_ID //比赛id PARAMEX_MATCH_PHASEIDX //赛程阶段idx PARAMEX_MATCH_MMTYPE //赛制 PARAMEX_MATCH_BASESCORE //底分 PARAMEX_MATCH_NUMOFGAME //局数 PARAMEX_MATCH_OUTSCORE //出局分数 PARAMEX_MATCH_RESTPLAYERNUM //剩余人数 PARAMEX_MATCH_STARTNUM //本轮开始人数 //PARAMEX_MATCH_RANK //我的排名,构建房间消息时,额外补充,每个玩家不同 ) const ( MaxLoopNum = 1000 DefaultResult = 0 ) const ( CodeTypeSMS = 0 // 短信验证码 CodeTypeStr = 1 // 字符串验证码 CodeTypeHuaKuai = 2 // 滑块验证码 CodeTypeNo = 3 // 不使用验证码 ) const ( ActId_Share int = iota //0.微信分享 ActId_OnlineReward //1.在线奖励 ActId_UpgradeAccount //2.升级账号 ActId_GoldTask //3.财神任务 ActId_GoldCome //4.财神降临 ActId_LuckyTurntable //5.转盘活动 ActId_Yeb //6.余额宝 ActId_Card //7.周卡月卡 ActId_RebateTask //8.返利获取 ActId_IOSINSTALLSTABLE //9.ios安装奖励 ActId_VipLevelBonus //10.vip日周月等级奖励 ActId_LoginRandCoin //11.登录红包 ActId_OnlineRandCoin //12.红包雨 ActId_MatchSwitch //13.比赛开关 ActId_PromoterBind //14.手动绑定推广员 ActId_Lottery //15.彩金池 ActId_Task //16.活跃任务 ActId_PROMOTER //17.全民推广 ActId_Activity //18.活动界面 ActId_NewYear //19.新年暗号红包活动 ActId_Guess //20.猜灯谜活动 ActId_Sign //21.七日签到 ExchangeId_Alipay //22.兑换到支付宝 ExchangeId_Bank //23.兑换到银行卡 ExchangeId_Wechat //24.兑换到微信 ActId_Max ) // 匹配模式 const ( MatchMode_Normal int32 = iota //普通匹配 MatchMode_Quene //队列匹配 ) const ( SCENE_BIGWINHISTORY_MAXNUMBER = 40 // 爆奖记录最大数量 SCENE_BIGWINHISTORY_LIMITNUMBER = 10 // 假数据生成临界值 SCENE_BIGWINHISTORY_TIMEINTERVAL = 2 // 假数据生成定点时间间隔,单位:小时(实际时间 = 定点时间 + 随机时间) ) const ( OrderColumnInvalid = 0 // 默认 OrderColumnCoinPayTotal = 1 // 充值 OrderColumnCoinExchangeTotal = 2 // 提现 OrderColumnTaxTotal = 3 // 税收 OrderColumnRegisterTime = 4 // 注册时间 OrderColumnRoomNumber = 5 // 游戏房间号 OrderColumnLose = 6 // 输次数 OrderColumnWin = 7 // 赢次数 OrderColumnDraw = 8 // 平次数 OrderColumnWinCoin = 9 // 赢分 OrderColumnLoseCoin = 10 // 输分 ) const ( LoginTypeGuest = 0 // 游客登录 LoginTypeAccount = 1 // 账号登录 LoginTypeTelCode = 2 // 手机号验证码登录 LoginTypeTelegram = 5 // telegram登录 LoginTypeGoogle = 6 // google,facebook 登录 RegisterTypeTel = 3 // 手机号注册 RegisterTypeName = 4 // 账号注册 ) const ( // 账号判断状态码 LoginTypeNoExist = -1 LoginError = 0 LoginOk = 1 LoginNew = 2 LoginPasswordError = 3 LoginFreeze = 4 LoginTelExist = 8 LoginTelCodeExpire = 9 // 手机号验证码登录过期 RegisterNotExist = 6 RegisterExist = 7 // 创建账号状态码 InsertAccountOk = 9 ) const TelLoginValidDays = 7 // 手机号登录有效期,天 const ( LoginLogTypeLogin int32 = iota // 登录 LoginLogTypeLogout // 登出 LoginLogTypeRehold // 重连 LoginLogTypeDrop // 掉线 ) // 道具ID const ( ItemIDCoin = 100001 // 金币对应的itemId ItemIDDiamond = 100002 // 钻石对应的itemId ItemIDMoneyPond = 100003 // 玩家金币池对应物品Id ItemIDVipExp = 100005 // VIP经验对应的物品Id ItemIDPhoneScore = 100006 // 手机抽奖积分 ItemIDWeekScore = 100004 // 周活跃积分 ItemIDGiftBox = 50001 // 碎片礼盒 ItemIDCollectBox = 50002 // 集卡礼盒 ) func ToItemId(id int32) int32 { switch id { case 1: return ItemIDCoin case 2: return ItemIDDiamond } return id } // 道具类型 const ( ItemTypePetFragments = 1 //宠物碎片 ItemTypeCharacterFragments = 2 //角色碎片 ItemTypeChangeCard = 3 //兑换卡 ItemTypeOther = 4 //其他 ItemTypeCoin = 5 //金币 ItemTypeDiamond = 6 //钻石 ItemTypeFishPower = 7 //捕鱼炮台 ItemTypeMoneyPond = 8 //玩家金币池 ItemTypePhoneCode = 9 //话费兑换卡 ItemTypeVipExp = 10 //VIP经验 ItemTypeShopScore = 11 //积分 ItemTypeInteract = 12 // 互动表情 ) func GetKeyNoviceGameId(gameId int) string { return fmt.Sprintf("novice-%v", gameId) } func GetKeyGameType(gameType int) string { return fmt.Sprintf("gametype-%v", gameType) } // 账变类型 const ( BillTypeCoin = 0 // 金币 BillTypeDiamond = 1 // 钻石 ) // 验证码类型 const ( SMSCodeTelBind = 1 // 绑定手机号验证码 SMSCodeTelLogin = 2 // 手机号登录验证码 ) // 账号类型 const ( AccountTypeGoogle = 1 // 谷歌 AccountTypeFacebook = 2 // facebook AccountTypeTel = 3 // 手机号 ) func GetTelLoginCodeKey(platform, tel string) string { return fmt.Sprintf("%v.%v.%v", SMSCodeTelLogin, platform, tel) } func GetBindTelCodeKey(platform, tel string) string { return fmt.Sprintf("%v.%v.%v", SMSCodeTelBind, platform, tel) } func GetImageCodeKey(key string) string { return fmt.Sprintf("%v.%v", "Image", key) } const ( SMSCodeValidTime = 60 // 访问频率限制 SMSCodeValidTimeTelBind = 60 // 绑定手机号验证码有效期,单位秒 SMSCodeValidTimeTelLogin = 600 // 手机号登录验证码有效期,单位秒 ) // 活动,任务类型 const ( TaskTypeAdv = 1 // 看广告次数 TaskTypeBuyCoin = 2 // 买金币次数 TaskTypeLogin = 3 // 登录次数 TaskTypeWinTimes = 4 // 赢游戏次数 TaskTypePlayTimes = 5 // 玩游戏次数 TaskTypeRankMatchTimes = 6 // 排位赛次数 TaskTypePay = 7 // 充值金额 TaskTypeWinOrLose = 8 // 游戏输赢金币数量 TaskTypeTienlenCount = 9 // tienlen游戏场次 TaskTypeBindInviter = 10 // 绑定邀请人数量 TaskTypeWinCoin = 11 // 赢取金币数量 TaskTypeTienlenWinTimes = 12 // tienlen游戏赢取次数 TaskTypeInviteScore = 13 // 邀请积分 TaskTypeActivityScore = 14 // 周活跃积分数量 TaskTypeFirstLogin = 15 // 每日首次登录 TaskTypeInviteNum = 16 // 邀请绑定数量 TaskTypeTurnplate = 17 // 转盘抽奖次数 ) const ( TaskGameTypeTienlen = 1 // tienlen TaskGameTypeThirteen = 2 // 十三张 TaskGameTypeChess = 3 // 象棋 TaskGameTypeSmallRocket = 4 // 小火箭 ) const ( TaskActivityTypeEveryDay = 1 // 每日任务 TaskActivityTypeWeek = 2 // 每周任务 TaskActivityTypeNovice = 3 // 新手任务 TaskActivityTypeInvite = 4 // 邀请任务 TaskActivityTypeAchieve = 5 // 成就任务 ) const HeadRange = 3 // 机器人头像id范围 const ( InviteScoreTypeBind = 1 // 绑定邀请码 InviteScoreTypeLogin = 2 // 每日登录 InviteScoreTypePlayTimes = 3 // 每日参与任意游戏 InviteScoreTypeRecharge = 4 // 充值 InviteScoreTypeGameTimes = 5 // 每局游戏 ) const TaskIDInvitePlayGame = 1000001 const TaskIDInviteRecharge = 1000002 const TaskIDInviteFirstLogin = 1000003 func InMatchChannel(ls []string, n string) bool { if n == "" || len(ls) == 0 { return false } if n == Channel_Rob { return true } if InSliceString(ls, n) { return true } if InSliceString(ls, "Official") && strings.ToLower(n) == "main" { // 兼容 return true } return false } // 渠道名称 const ( ChannelDefault = ChannelOfficial ChannelGooglePlay = "GooglePlay" ChannelWeb = "Web" ChannelOfficial = "Official" ) // 角色id const ( DefaultRoleId = RoleIDGirl // 默认角色 RoleIDGirl = 2000001 RoleIDBoy = 2000002 RoleIDMagic = 2000003 ) var RolesIDs = []int32{RoleIDGirl, RoleIDBoy, RoleIDMagic} // 角色加成类型 const ( RoleAddADV = 1 // 看视频加成 RoleAddCoin = 2 // 商城购买金币加成 RoleAddRankScore = 3 // 排位积分加成 ) // 宠物id const ( DefaultPetId = PetIDChicken // 默认宠物 PetIDChicken = 3000001 ) var PetIDs = []int32{PetIDChicken}