864 lines
31 KiB
Go
864 lines
31 KiB
Go
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_TienLenCustom = 215 // tienlen房卡经典版
|
||
GameId_TienLenCustom_yl = 216 // tienlen房卡娱乐版
|
||
GameId_TienLenCustom_toend = 217 // tienlen房卡典版(打到底)
|
||
GameId_TienLenCustom_yl_toend = 218 // tienlen房卡娱乐版(打到底)
|
||
__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_FortuneTiger = 308 // FortuneTiger
|
||
GameId_FortuneDragon = 309 // FortuneDragon
|
||
GameId_FortuneRabbit = 310 // FortuneRabbit
|
||
GameId_FortuneOx = 311 // FortuneOx
|
||
GameId_FortuneMouse = 312 // FortuneMouse
|
||
__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_Clawdoll = 608 // 娃娃机
|
||
__GameId_ThrGame_Min__ = 700 //################三方类################
|
||
GameId_Thr_Dg = 701 //DG Game
|
||
GameId_Thr_XHJ = 901 ///DG Game
|
||
)
|
||
|
||
const (
|
||
GameDifTienlen = "207" // tienlen
|
||
GameDifThirteen = "211" // 十三张
|
||
GameDifChess = "521" // 象棋
|
||
GameDifFish = "401" // 捕鱼
|
||
GameDifRocket = "607" // 小火箭
|
||
GameDifCaiShen = "301" // 财神
|
||
GameDifAvengers = "302" // 复仇者联盟
|
||
GameDifEaster = "303" // 复活节岛
|
||
GameDifIceAge = "304" // 冰河世纪
|
||
GameDifTamQuoc = "305" // 百战成神
|
||
GameDifFruits = "306" // 水果机
|
||
GameDifRichblessed = "307" // 多彩多福
|
||
GameDifClawdoll = "608" // 娃娃机
|
||
)
|
||
|
||
// 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,
|
||
GameId_TienLenCustom_yl,
|
||
GameId_TienLenCustom_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,
|
||
GameId_TienLenCustom_toend,
|
||
GameId_TienLenCustom_yl_toend:
|
||
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
|
||
}
|
||
|
||
func IsDaZhong(gameId int) bool {
|
||
switch gameId {
|
||
case GameId_TienLenSelect,
|
||
GameId_TienLenSelect_yl, GameId_TienLenSelect_toend,
|
||
GameId_TienLenSelect_yl_toend:
|
||
return true
|
||
}
|
||
return false
|
||
}
|
||
|
||
// 房间编号区间
|
||
const (
|
||
PrivateSceneStartId = 100000
|
||
PrivateSceneMaxId = 999999
|
||
MatchSceneStartId = 100000000
|
||
MatchSceneMaxId = 199999999
|
||
HundredSceneStartId = 200000000
|
||
HundredSceneMaxId = 299999999
|
||
CoinSceneStartId = 1000000000
|
||
CoinSceneMaxId = 1999999999
|
||
DgSceneId = 99
|
||
)
|
||
|
||
// 房间模式
|
||
const (
|
||
SceneModePublic = 0 // 公共房间
|
||
SceneModePrivate = 2 // 私人房间
|
||
SceneModeMatch = 3 // 赛事房间
|
||
SceneModeThr = 4 // 三方房间
|
||
SceneModePrivateMatch = 5 // 竞技馆房间
|
||
)
|
||
|
||
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 //新建角色
|
||
GainWay_Pay = 1 //后台增加(主要是充值)
|
||
GainWay_ByPMCmd = 2 //pm命令
|
||
GainWay_MatchBreakBack = 3 //退赛退还
|
||
GainWay_MatchSystemSupply = 4 //比赛奖励
|
||
GainWay_Exchange = 5 //兑换
|
||
GainWay_ServiceFee = 6 //桌费
|
||
GainWay_CoinSceneWin = 7 //金豆场赢取
|
||
GainWay_CoinSceneLost = 8 //金豆场输
|
||
GainWay_CoinSceneEnter = 9 //进入金币场预扣
|
||
GainWay_ShopBuy = 10 //商城购买或者兑换
|
||
GainWay_CoinSceneLeave = 11 //金豆场回兑
|
||
GainWay_HundredSceneWin = 12 //万人场赢取
|
||
GainWay_HundredSceneLost = 13 //万人场输
|
||
GainWay_MessageAttach = 14 //邮件
|
||
GainWay_SafeBoxSave = 15 //保险箱存入
|
||
GainWay_SafeBoxTakeOut = 16 //保险箱取出
|
||
GainWay_Fishing = 17 //捕鱼
|
||
GainWay_CoinSceneExchange = 18 //金豆场兑换
|
||
GainWay_UpgradeAccount = 19 //升级账号
|
||
GainWay_API_AddCoin = 20 //API操作钱包
|
||
GainWay_GoldCome = 21 //财神降临
|
||
GainWay_Transfer_System2Thrid = 22 //系统平台转入到第三方平台的金币
|
||
GainWay_Transfer_Thrid2System = 23 //第三方平台转入到系统平台的金币
|
||
GainWay_RebateTask = 24 //返利获取
|
||
GainWay_IOSINSTALLSTABLE = 25 //ios安装奖励
|
||
GainWay_VirtualChange = 26 //德州虚拟账变
|
||
GainWay_CreatePrivateScene = 27 //创建私有房间
|
||
GainWay_PrivateSceneReturn = 28 //解散私有房间返还
|
||
GainWay_OnlineRandCoin = 29 //红包雨
|
||
GainWay_Expire = 30 //到期清理
|
||
GainWay_PromoterBind = 31 //手动绑定推广员
|
||
GainWay_GradeShopReturn = 32 //积分商城撤单退还积分
|
||
GainWay_Api_In = 33 //转移金币
|
||
GainWay_Api_Out = 34 //转移金币
|
||
GainWay_Shop_Buy = 35 //购买记录
|
||
GainWay_MAIL_MTEM = 36 //邮件领取道具
|
||
GainWay_Item_Sale = 37 //道具出售
|
||
GainWay_ReliefFund = 38 //领取救济金
|
||
GainWay_Shop_Revoke = 39 //撤单
|
||
GainWay_ActSign = 40 //
|
||
GainWay_MatchSignup = 41 //比赛报名费用
|
||
GainWay_MatchSeason = 42 //比赛赛季奖励
|
||
GainWay_ActSignNew = 43 //新签到
|
||
GainWay_ActTurnplate = 44 //轮盘
|
||
GainWay_ActBlindBox = 45 //盲盒
|
||
GainWay_ActFirstPay = 46 //首充
|
||
GainWay_VIPGift = 47 //vip礼包
|
||
GainWay_ActContinuousPay = 48 //连续充值
|
||
GainWay_ActJybAward = 49 //礼包码兑换
|
||
GainWay_LeaveDeduct = 50 //离开扣分
|
||
GainWay_LeaveCombat = 51 //离开补偿
|
||
GainWay_RankMatch = 52 //排位赛段位奖励
|
||
GainWay_AddBag = 53 //增加背包接口调用
|
||
GainWay_SmallRocket = 54 //小火箭收入
|
||
GainWay_BindTel = 55 //绑定手机号
|
||
GainWay_ReliefFund2 = 56 //救济金看视频双倍领取
|
||
GainWay_ActTurnplate2 = 57 //轮盘看视频双倍领取
|
||
GainWay_ActSignNew2 = 58 //签到看视频双倍领取
|
||
GainWay_ItemUse = 59 //道具使用
|
||
GainWay_PhoneScore = 60 //手机积分活动
|
||
GainWay_RankReward = 61 //排位奖励
|
||
GainWay_TaskReward = 62 //任务奖励
|
||
GainWay_Interact = 63 //房间内互动效果
|
||
GainWayItemCollectExchange = 64 //集卡活动兑换
|
||
GainWay_WeekCardAward = 65 //周卡奖励
|
||
GainWay_PigrankTakeCoin = 66 //存钱罐领取耗费钻石
|
||
GainWay_PigrankGainCoin = 67 //存钱罐打开获取金币
|
||
GainWay_ItemMove = 68 //道具赠送
|
||
GainWay_RoleUpgrade = 69 //角色升级
|
||
GainWay_PetUpgrade = 70 //宠物升级
|
||
GainWay_Game = 71 //游戏掉落
|
||
GainWayItemCollectLogin = 73 //集卡活动登录
|
||
GainWay_Collect = 74 //集卡活动
|
||
GainWayItemPhoneScoreExchange = 75 //抽手机活动兑换
|
||
GainWayItemTaskInvite = 78 //邀请任务
|
||
GainWayItemTaskNewPlayer = 79 //新手任务
|
||
GainWayItemTaskAchievement = 80 //成就任务
|
||
GainWayItemTaskEveryDay = 81 //每日任务
|
||
GainWayItemWeekActive = 82 //周活跃奖励
|
||
GainWayContinueSign = 83 //累计签到
|
||
GainWayBackend = 84 // 后台操作
|
||
GainWayBuyCoin = 85 // 商城购买金币
|
||
GainWayBuyItem = 86 // 商城购买道具
|
||
GainWayBuyWeekCard = 87 // 商城购买周卡
|
||
GainWayVipBuyCoin = 88 // vip商城购买金币
|
||
GainWaySign7Con = 89 // 累计签到进阶奖励消耗
|
||
GainWay_PigrankGainDiamond = 90 //存钱罐打开获取钻石
|
||
GainWaySign7Add = 91 // 累计签到进阶奖励获得
|
||
GainWayItemChange = 92 //背包内使用道具兑换话费
|
||
GainWayPetSkillLevelUp = 93 //宠物技能升级
|
||
GainWayPermitAward = 94 // 赛季通行证等级奖励
|
||
GainWayItemPermitRank = 95 // 赛季通行证排行奖励
|
||
GainWayPermitExchangeCost = 96 // 赛季通行证兑换消耗
|
||
GainWayPermitExchangeGain = 97 // 赛季通行证兑换获得
|
||
GainWayItemTaskPermit = 98 // 赛季通行证任务
|
||
GainWayDiamondLottery = 99 //钻石抽奖
|
||
GainWaySkinUnLock = 100 // 皮肤解锁消耗
|
||
GainWaySkinUpGrade = 101 // 皮肤升级消耗
|
||
GainWayItemFen = 102 // 道具分解消耗
|
||
GainWayItemFenGain = 103 // 道具分解获得
|
||
GainWayGuide = 104 //新手引导奖励
|
||
GainWayVipGift9 = 105 //vip等级礼包
|
||
GainWayRoomCost = 106 //房费消耗
|
||
GainWayRoomGain = 107 //房卡场获得
|
||
GainWayItemShop = 108 // 交易市场道具交易
|
||
GainWayClawdollCostItem = 109 // 娃娃机上分扣道具
|
||
GainWayItemShopChangeDoll = 110 // 商城兑换娃娃
|
||
GainWayItemBagChangeDoll = 111 // 背包内兑换娃娃
|
||
GainWayClawdollCatch = 112 // 娃娃机抓取到娃娃获取卡
|
||
GainWayItemBagChangeDollRevocation = 113 //娃娃兑换后台撤销
|
||
)
|
||
|
||
// 后台选择 金币变化类型 的充值 类型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 (
|
||
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 //优先匹配真人
|
||
)
|
||
|
||
// 自动化标签(程序里产生的全部<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 (
|
||
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 // 集卡礼盒
|
||
ItemIDLike = 100007 // 点赞
|
||
ItemIDCoffee = 100008 // 咖啡
|
||
ItemIDBucket = 100009 // 水桶
|
||
ItemIDSlippers = 100010 // 拖鞋
|
||
ItemIDPermit = 100011 // 赛季通行证积分
|
||
ItemIDLong = 50013 // 龙币
|
||
ItemIDPetSkill = 11001 //宠物技能升级道具
|
||
ItemIDVCard = 30001 // v卡
|
||
ItemIDJCard = 30002 // 金券
|
||
ItemDiamondScore = 100012 //钻石积分
|
||
ItemIDClawdoll = 40003 // 娃娃卡
|
||
ItemDollCard = 40004 // 娃娃卡积分
|
||
)
|
||
|
||
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 // 互动表情
|
||
ItemTypeExpireTime = 15 // 时效类道具
|
||
ItemTypeObjective = 16 // 目标类道具
|
||
ItemTypeChange = 17 // 兑换话费
|
||
ItemTypeSkinChip = 22 // 皮肤碎片
|
||
ItemTypeDoll = 26 //娃娃兑换
|
||
)
|
||
|
||
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 // 转盘抽奖次数
|
||
TaskTypeInviteRecharge = 18 // 被邀请人充值金额*
|
||
TaskTypeLoseCoin = 19 // 输的金币数量
|
||
TaskType20 = 20 // 未使用
|
||
TaskTypeOnlineTs = 21 // 在线时长,秒
|
||
TaskTypeBuyPig = 22 // 购买任意存钱罐
|
||
TaskTypeDaZhong = 23 // 大众场胜利
|
||
TaskTypeInvitePlay = 24 // 邀请好友私人桌对局
|
||
TaskTypeJoinMatch = 25 // 参与比赛场
|
||
TaskTypeMatchRank10 = 26 // 比赛场前10名
|
||
TaskTypeCostDiamond = 27 // 消耗钻石数量
|
||
TaskTypeTienlenLoseCoin = 28 // Tienlen输的金币数量
|
||
TaskTypeTienlenWinCoin = 29 // Tienlen赢取金币数量
|
||
TaskTypeRankMatchWinTimes = 30 // 排位胜利次数
|
||
TaskTypeBuyPermit = 31 // 购买典藏通行证
|
||
)
|
||
|
||
const (
|
||
TaskGameTypeTienlen = 1 // tienlen
|
||
TaskGameTypeThirteen = 2 // 十三张
|
||
TaskGameTypeChess = 3 // 象棋
|
||
TaskGameTypeSmallRocket = 4 // 小火箭
|
||
)
|
||
|
||
const (
|
||
TaskActivityTypeEveryDay = 1 // 每日任务
|
||
TaskActivityTypeWeek = 2 // 每周任务
|
||
TaskActivityTypeNovice = 3 // 新手任务
|
||
TaskActivityTypeInvite = 4 // 邀请任务
|
||
TaskActivityTypeAchieve = 5 // 成就任务
|
||
TaskActivityTypePermitEveryDay = 6 // 赛季通行证每日任务
|
||
TaskActivityTypePermit = 7 // 赛季通行证任务
|
||
)
|
||
|
||
const HeadRange = 3 // 机器人头像id范围
|
||
|
||
const (
|
||
InviteScoreCheckWeek = -1 // 跨周
|
||
InviteScoreTypeBind = 1 // 绑定邀请码
|
||
InviteScoreTypePay = 2 // 充值
|
||
InviteScoreTypeRecharge = 3 // 充值完成
|
||
InviteScoreTypePayMe = 4 // 充值(给自己)
|
||
InviteScoreTypeBindTel = 5 // 绑定手机号
|
||
)
|
||
|
||
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}
|
||
|
||
const (
|
||
ChannelSwitchExchange = 1 // 兑换商城开关
|
||
ChannelSwitchDropItem = 2 // v卡掉落开关
|
||
ChannelSwitchInvite = 3 // 邀请开关
|
||
ChannelSwitchPermit = 4 // 典藏通行证开关
|
||
ChannelSwitchDiamondLottery = 5 // 钻石抽奖开关
|
||
)
|
||
|
||
// 特殊商品id
|
||
const (
|
||
ShopIdWeekCard = 970001 // 周卡
|
||
ShopIdPermit = 990001 // 典藏通行证
|
||
)
|
||
|
||
const PermitStartTsKey = "permit_start_ts"
|
||
|
||
const PermitAdd = 0.2 // 典藏通行证赛季积分多加,百分比
|
||
|
||
const (
|
||
SkinGetAuto = 1
|
||
SkinGetItem = 2
|
||
SkinGetVip = 3
|
||
)
|
||
|
||
const (
|
||
SkillIdRankScore = 30002 // 排位积分加成百分比
|
||
SkillIdVipTimes = 30003 // VIP赛每日免费报名次数
|
||
SkillIdVipGift = 30004 // VIP每日礼包金币奖励提升百分比
|
||
SkillIdTask = 30005 // 每日任务金币奖励提升百分比
|
||
SkillIdDiamondLottery = 30007 // 每次钻石抽奖幸运值提升百分比
|
||
)
|
||
|
||
var (
|
||
SkinRandom = []int32{300001, 300002, 300007, 300006, 300005, 300004, 300003}
|
||
SkinWeightMap = map[int32]int{
|
||
300001: 20,
|
||
300002: 40,
|
||
300007: 40,
|
||
300006: 50,
|
||
300005: 40,
|
||
300004: 60,
|
||
300003: 70,
|
||
}
|
||
)
|
||
|
||
const (
|
||
AttributeGuideStep = 1 // 引导步骤
|
||
AttributeGuideSkip = 2 // 跳过引导
|
||
AttributeGuideTest = 3 // 测试引导
|
||
)
|
||
|
||
const (
|
||
On = 1 // 开启
|
||
Off = 2 // 关闭
|
||
)
|
||
|
||
const (
|
||
DataConfigAll = 0 // 全部配置
|
||
DataConfigSprite = 1 // 精灵配置
|
||
DataConfigMatchAudience = 2 // 赛事观战开关
|
||
)
|
||
|
||
// 房间状态
|
||
const (
|
||
SceneStateWaite = 0 // 等待
|
||
SceneStateStart = 1 // 开始
|
||
SceneStateEnd = 2 // 结束
|
||
)
|
||
|
||
const (
|
||
// PlayerHistoryModel .
|
||
PlayerHistoryModel = iota + 1
|
||
|
||
// BIGWIN_HISTORY_MODEL .
|
||
BIGWIN_HISTORY_MODEL
|
||
|
||
// GameHistoryModel .
|
||
GameHistoryModel
|
||
)
|
||
|
||
type ListOpType int // 列表操作类型
|
||
|
||
const (
|
||
ListModify ListOpType = 1 // 修改
|
||
ListAdd ListOpType = 2 // 增加
|
||
ListDel ListOpType = 3 // 减少
|
||
ListFind ListOpType = 4 // 查询
|
||
)
|
||
|
||
type NotifyType int // 通知类型
|
||
|
||
const (
|
||
NotifyPrivateRoomList NotifyType = 1 // 私人房间列表
|
||
)
|
||
|
||
// SCPlayerCoinChange 中数值类型
|
||
const (
|
||
PlayerChangeTypeCoin = 0 // 金币
|
||
PlayerChangeTypeNum = 1 // 积分
|
||
)
|