game_sync/common/constant.go

805 lines
28 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
)
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" // 多彩多福
)
// 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
}
// 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 = 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 = 0 //公共房间
SceneMode_Private = 2 //私人房间
SceneMode_Match = 3 //赛事房间
SceneMode_Thr = 4 //三方房间
)
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 //钻石抽奖
)
// 后台选择 金币变化类型 的充值 类型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 // 集卡礼盒
ItemIDLike = 100007 // 点赞
ItemIDCoffee = 100008 // 咖啡
ItemIDBucket = 100009 // 水桶
ItemIDSlippers = 100010 // 拖鞋
ItemIDPermit = 100011 // 赛季通行证积分
ItemIDLong = 50013 // 龙币
ItemIDPetSkill = 11001 //宠物技能升级道具
ItemIDVCard = 30001 // v卡
ItemIDJCard = 30002 // 金券
ItemDiamondScore = 100012 //钻石积分
)
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 // 兑换话费
)
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 // 排位胜利次数
)
const (
TaskGameTypeTienlen = 1 // tienlen
TaskGameTypeThirteen = 2 // 十三张
TaskGameTypeChess = 3 // 象棋
TaskGameTypeSmallRocket = 4 // 小火箭
)
const (
TaskActivityTypeEveryDay = 1 // 每日任务
TaskActivityTypeWeek = 2 // 每周任务
TaskActivityTypeNovice = 3 // 新手任务
TaskActivityTypeInvite = 4 // 邀请任务
TaskActivityTypeAchieve = 5 // 成就任务
TaskActivityTypePermit = 6 // 赛季通行证任务
)
const HeadRange = 3 // 机器人头像id范围
const (
InviteScoreCheckWeek = -1 // 跨周
InviteScoreTypeBind = 1 // 绑定邀请码
InviteScoreTypePay = 2 // 充值
InviteScoreTypeRecharge = 3 // 充值完成
InviteScoreTypePayMe = 4 // 充值(给自己)
)
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
DiamondLottery = 4
)
// 特殊商品id
const (
ShopIdWeekCard = 970001 // 周卡
ShopIdPermit = 990001 // 典藏通行证
)
const PermitStartTsKey = "permit_start_ts"
const PermitAdd = 0.2 // 典藏通行证赛季积分多加,百分比