Merge remote-tracking branch 'origin/develop' into dev_slots
This commit is contained in:
commit
ce931c98b6
124
.gitlab-ci.yml
124
.gitlab-ci.yml
|
@ -1,22 +1,128 @@
|
||||||
stages:
|
stages:
|
||||||
|
- lock
|
||||||
- build
|
- build
|
||||||
- deploy
|
- save
|
||||||
|
- sync
|
||||||
|
- unlock
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
GIT_DEPTH: 0
|
ProjectPath: "mongo.games.com/game"
|
||||||
|
|
||||||
default:
|
default:
|
||||||
tags:
|
tags:
|
||||||
- game-develop
|
- gitlab
|
||||||
|
|
||||||
|
# 锁定作业,防止并发流水线执行
|
||||||
|
lock_job:
|
||||||
|
stage: lock
|
||||||
|
script:
|
||||||
|
- |
|
||||||
|
if [ -f /tmp/ci_lock ]; then
|
||||||
|
echo "流水线已在运行,等待..."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
touch /tmp/ci_lock
|
||||||
|
echo "获得锁定,开始流水线。"
|
||||||
|
fi
|
||||||
|
|
||||||
build-job:
|
build-job:
|
||||||
stage: build
|
stage: build
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
- release
|
||||||
script:
|
script:
|
||||||
- echo "Compiling the code..."
|
- git checkout $CI_COMMIT_REF_NAME
|
||||||
- echo "Compile complete."
|
- git pull origin $CI_COMMIT_REF_NAME
|
||||||
|
# 拷贝到GOPATH
|
||||||
|
- echo '拷贝到GOPATH'
|
||||||
|
- cp -rfp ./* $GOPATH/src/$ProjectPath
|
||||||
|
# 进入项目目录
|
||||||
|
- cd $GOPATH/src/$ProjectPath
|
||||||
|
# 编译
|
||||||
|
- echo '编译'
|
||||||
|
- go env -w GO111MODULE=off
|
||||||
|
- |
|
||||||
|
while IFS= read -r line
|
||||||
|
do
|
||||||
|
cd $line
|
||||||
|
echo "编译 $line"
|
||||||
|
go build -v
|
||||||
|
cd ..
|
||||||
|
done < shell/programs.txt
|
||||||
|
|
||||||
deploy-job:
|
save-job:
|
||||||
stage: deploy
|
stage: save
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
- release
|
||||||
script:
|
script:
|
||||||
- echo "Deploying application..."
|
- cd $GOPATH/src/$ProjectPath
|
||||||
- echo "Application successfully deployed."
|
# 拷贝文件
|
||||||
|
- echo '拷贝文件'
|
||||||
|
- rm -rf ./temp
|
||||||
|
- mkdir ./temp
|
||||||
|
- mkdir ./temp/data
|
||||||
|
- cp -rfp ./data/* ./temp/data
|
||||||
|
# 删除自定义配置
|
||||||
|
- echo '删除自定义配置'
|
||||||
|
- |
|
||||||
|
while IFS= read -r line
|
||||||
|
do
|
||||||
|
echo "删除 $line 配置"
|
||||||
|
rm ./temp/data/$line
|
||||||
|
done < ./shell/exclude.txt
|
||||||
|
# 拷贝可执行程序
|
||||||
|
- echo '拷贝可执行程序'
|
||||||
|
- |
|
||||||
|
while IFS= read -r line
|
||||||
|
do
|
||||||
|
echo "拷贝 $line"
|
||||||
|
mv ./$line/$line ./temp/$line
|
||||||
|
done < ./shell/programs.txt
|
||||||
|
|
||||||
|
sync_job:
|
||||||
|
stage: sync
|
||||||
|
only:
|
||||||
|
- develop
|
||||||
|
- release
|
||||||
|
script:
|
||||||
|
- cd $GOPATH/src/$ProjectPath
|
||||||
|
- if [ "$CI_COMMIT_BRANCH" == "develop" ]; then
|
||||||
|
SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY_DEVELOP";
|
||||||
|
REMOTE_HOST="$REMOTE_HOST_DEVELOP";
|
||||||
|
REMOTE_USER="$REMOTE_USER_DEVELOP";
|
||||||
|
SERVER_CI_TOKEN="$REMOTE_CI_TOKEN_DEVELOP";
|
||||||
|
ServerName="develop";
|
||||||
|
elif [ "$CI_COMMIT_BRANCH" == "release" ]; then
|
||||||
|
SSH_PRIVATE_KEY="$SSH_PRIVATE_KEY_BETA";
|
||||||
|
REMOTE_HOST="$REMOTE_HOST_BETA";
|
||||||
|
REMOTE_USER="$REMOTE_USER_BETA";
|
||||||
|
SERVER_CI_TOKEN="$REMOTE_CI_TOKEN_BETA";
|
||||||
|
ServerName="beta";
|
||||||
|
else
|
||||||
|
echo "不支持的分支";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 设置 .ssh 目录并写入 SSH 私钥
|
||||||
|
- echo "设置 SSH keys..."
|
||||||
|
- mkdir -p ~/.ssh
|
||||||
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' > ~/.ssh/id_rsa
|
||||||
|
- chmod 600 ~/.ssh/id_rsa
|
||||||
|
- ssh-keyscan -H "$REMOTE_HOST" >> ~/.ssh/known_hosts
|
||||||
|
|
||||||
|
# 使用 rsync 将文件同步到远程服务器
|
||||||
|
- echo "同步到服务器"
|
||||||
|
- echo "Deploying to remote server using rsync..."
|
||||||
|
- rsync -avz --delete ./temp/ $REMOTE_USER@$REMOTE_HOST:$REMOTE_DEPLOY_PATH
|
||||||
|
|
||||||
|
# 触发部署
|
||||||
|
- "curl -X POST --fail -F token=$SERVER_CI_TOKEN -F ref=release -F variables[ServerName]=$ServerName https://git.pogorockgames.com/api/v4/projects/31/trigger/pipeline"
|
||||||
|
|
||||||
|
# 解锁作业,释放锁定
|
||||||
|
unlock_job:
|
||||||
|
stage: unlock
|
||||||
|
script:
|
||||||
|
- rm -f /tmp/ci_lock
|
||||||
|
- echo "释放锁定,流水线结束。"
|
||||||
|
when: always
|
|
@ -320,6 +320,7 @@ const (
|
||||||
GainWayClawdollCatch = 112 // 娃娃机抓取到娃娃获取卡
|
GainWayClawdollCatch = 112 // 娃娃机抓取到娃娃获取卡
|
||||||
GainWayItemBagChangeDollRevocation = 113 //娃娃兑换后台撤销
|
GainWayItemBagChangeDollRevocation = 113 //娃娃兑换后台撤销
|
||||||
GainWayPermitReset = 114 //赛季通行证积分重置
|
GainWayPermitReset = 114 //赛季通行证积分重置
|
||||||
|
GainWayClientUpgrade = 115 //客户端升级奖励
|
||||||
)
|
)
|
||||||
|
|
||||||
// 后台选择 金币变化类型 的充值 类型id号起始
|
// 后台选择 金币变化类型 的充值 类型id号起始
|
||||||
|
|
|
@ -52,7 +52,11 @@ func InsertAnnouncerLog(logs ...*model.AnnouncerLog) (err error) {
|
||||||
// 取最新100条数据
|
// 取最新100条数据
|
||||||
func FetchAnnouncerLog(plt string) (recs []model.AnnouncerLog, err error) {
|
func FetchAnnouncerLog(plt string) (recs []model.AnnouncerLog, err error) {
|
||||||
query := bson.M{}
|
query := bson.M{}
|
||||||
err = AnnouncerLogCollection(plt).Find(query).Sort("-_id").Limit(100).All(&recs)
|
c := AnnouncerLogCollection(plt)
|
||||||
|
if c == nil {
|
||||||
|
return recs, AnnouncerLogDBErr
|
||||||
|
}
|
||||||
|
err = c.Find(query).Sort("-_id").Limit(100).All(&recs)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,11 @@ func AwardLogCollection(plt string) *mongo.Collection {
|
||||||
}
|
}
|
||||||
|
|
||||||
func FetchAwardLog(plt string) (recs model.AwardLog, err error) {
|
func FetchAwardLog(plt string) (recs model.AwardLog, err error) {
|
||||||
err = AwardLogCollection(plt).Find(bson.M{}).One(&recs)
|
c := AwardLogCollection(plt)
|
||||||
|
if c == nil {
|
||||||
|
return recs, AwardLogDBErr
|
||||||
|
}
|
||||||
|
err = c.Find(bson.M{}).One(&recs)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,20 +30,21 @@ const (
|
||||||
ETCDKEY_PLAYERPOOL = "/game/plt/playerpool/" // 个人水池调控配置
|
ETCDKEY_PLAYERPOOL = "/game/plt/playerpool/" // 个人水池调控配置
|
||||||
ETCDKEY_GAME_CONFIG = "/game/plt/gameconfig/" // 游戏管理/全局配置
|
ETCDKEY_GAME_CONFIG = "/game/plt/gameconfig/" // 游戏管理/全局配置
|
||||||
ETCDKEY_ACT_PHONELOTTERY = "/game/act_phoneLottery"
|
ETCDKEY_ACT_PHONELOTTERY = "/game/act_phoneLottery"
|
||||||
ETCDKEY_ChannelSwitch = "/game/channel/switch" // 渠道开关
|
ETCDKEY_ChannelSwitch = "/game/channel/switch" // 渠道开关
|
||||||
ETCDKEY_ACT_Invite = "/game/act_invite" // 邀请活动配置
|
ETCDKEY_ACT_Invite = "/game/act_invite" // 邀请活动配置
|
||||||
ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置
|
ETCDKEY_ACT_Permit = "/game/act_permit" // 赛季通行证配置
|
||||||
ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置
|
ETCDKEY_DIAMOND_LOTTERY = "/game/diamond_lottery" // 钻石抽奖配置
|
||||||
ETCDKEY_Item = "/game/item" // 道具列表
|
ETCDKEY_Item = "/game/item" // 道具列表
|
||||||
ETCDKEY_SKin = "/game/skin_config" // 皮肤配置
|
ETCDKEY_SKin = "/game/skin_config" // 皮肤配置
|
||||||
ETCDKEY_RANK_TYPE = "/game/RankType" // 排行榜奖励配置
|
ETCDKEY_RANK_TYPE = "/game/RankType" // 排行榜奖励配置
|
||||||
ETCDKEY_AWARD_CONFIG = "/game/awardlog_config" //获奖记录
|
ETCDKEY_AWARD_CONFIG = "/game/awardlog_config" //获奖记录
|
||||||
ETCDKEY_GUIDE = "/game/guide_config" //新手引导配置
|
ETCDKEY_GUIDE = "/game/guide_config" //新手引导配置
|
||||||
ETCDKEY_MACHINE = "/game/machine_config" //娃娃机配置
|
ETCDKEY_MACHINE = "/game/machine_config" //娃娃机配置
|
||||||
ETCDKEY_MatchAudience = "/game/match_audience" //比赛观众
|
ETCDKEY_MatchAudience = "/game/match_audience" //比赛观众
|
||||||
ETCDKEY_Spirit = "/game/spirit" // 小精灵配置
|
ETCDKEY_Spirit = "/game/spirit" // 小精灵配置
|
||||||
ETCDKEY_RoomType = "/game/room_type" // 房间类型配置
|
ETCDKEY_RoomType = "/game/room_type" // 房间类型配置
|
||||||
ETCDKEY_RoomConfig = "/game/room_config" // 房间配置
|
ETCDKEY_RoomConfig = "/game/room_config" // 房间配置
|
||||||
ETCDKEY_RoomConfigSystem = "/game/room_system" // 系统房间配置
|
ETCDKEY_RoomConfigSystem = "/game/room_system" // 系统房间配置
|
||||||
ETCDKEY_ClientUpgrade = "/game/client_upgrade" // 客户端升级奖励配置
|
ETCDKEY_ClientUpgrade = "/game/client_upgrade" // 客户端升级奖励配置
|
||||||
|
ETCDKEY_PopUpWindow = "/game/PopUpWindowConfig" //弹窗配置
|
||||||
)
|
)
|
||||||
|
|
|
@ -631,7 +631,7 @@ func GetPressCards(cards, lastCards []int32, data *tienlenApi.PredictRequest, po
|
||||||
})
|
})
|
||||||
isWin := data.IsWin
|
isWin := data.IsWin
|
||||||
//测试代码
|
//测试代码
|
||||||
//isWin = false
|
isWin = true
|
||||||
logger.Logger.Trace("压牌 调控输赢 isWin = ", isWin)
|
logger.Logger.Trace("压牌 调控输赢 isWin = ", isWin)
|
||||||
outCards := []int32{}
|
outCards := []int32{}
|
||||||
//压牌测试代码
|
//压牌测试代码
|
||||||
|
@ -1734,7 +1734,7 @@ func GetOutCards(cards []int32, data *tienlenApi.PredictRequest, pos int32) []in
|
||||||
})
|
})
|
||||||
isWin := data.IsWin
|
isWin := data.IsWin
|
||||||
//测试代码
|
//测试代码
|
||||||
//isWin = false
|
isWin = true
|
||||||
logger.Logger.Trace("出牌 调控输赢 isWin = ", isWin)
|
logger.Logger.Trace("出牌 调控输赢 isWin = ", isWin)
|
||||||
//测试代码
|
//测试代码
|
||||||
//cards = []int32{51, 4, 5}
|
//cards = []int32{51, 4, 5}
|
||||||
|
|
|
@ -512,7 +512,7 @@ func ZegoRTCStreamAction(Action string, machineInfo *webapi.MachineInfo) rule.Ze
|
||||||
timestamp := time.Now().Unix()
|
timestamp := time.Now().Unix()
|
||||||
queryParams := url.Values{}
|
queryParams := url.Values{}
|
||||||
|
|
||||||
queryParams.Set("StreamId", "test")
|
queryParams.Set("StreamId", machineInfo.StreamId)
|
||||||
queryParams.Set("Sequence", fmt.Sprintf("%d", timestamp))
|
queryParams.Set("Sequence", fmt.Sprintf("%d", timestamp))
|
||||||
|
|
||||||
// 生成16进制随机字符串(16位)
|
// 生成16进制随机字符串(16位)
|
||||||
|
|
|
@ -409,6 +409,9 @@ func (this *TienLenSceneData) BroadcastOpPos() {
|
||||||
if B < 0 {
|
if B < 0 {
|
||||||
isWin = false
|
isWin = false
|
||||||
}
|
}
|
||||||
|
if this.WGCreateScene.GetCloseCtrl() {
|
||||||
|
isWin = true
|
||||||
|
}
|
||||||
isTienLenYule := this.IsTienLenYule()
|
isTienLenYule := this.IsTienLenYule()
|
||||||
pack := &tienlen.SCTienLenAIData{
|
pack := &tienlen.SCTienLenAIData{
|
||||||
BombNum: 0, //炸弹数量
|
BombNum: 0, //炸弹数量
|
||||||
|
@ -554,10 +557,12 @@ func (this *TienLenSceneData) GetFreeGameSceneType() int32 {
|
||||||
return this.GetSceneType()
|
return this.GetSceneType()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SendHandCard_Match 发牌
|
||||||
// 比赛场发牌
|
// 比赛场发牌
|
||||||
// 纯真人,随机发牌
|
// 纯真人,随机发牌
|
||||||
// 有机器人和真人,真人拿好牌
|
// 有机器人和真人,真人拿好牌
|
||||||
func (this *TienLenSceneData) SendHandCard_Match() {
|
// mustRandom 必须随机发牌
|
||||||
|
func (this *TienLenSceneData) SendHandCard_Match(mustRandom bool) {
|
||||||
this.poker.Shuffle()
|
this.poker.Shuffle()
|
||||||
buf := this.poker.GetPokerBuf()
|
buf := this.poker.GetPokerBuf()
|
||||||
cardss := map[int][]int32{}
|
cardss := map[int][]int32{}
|
||||||
|
@ -579,7 +584,7 @@ func (this *TienLenSceneData) SendHandCard_Match() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if len(realPlayers) > 0 && len(robotPlayers) > 0 {
|
if !mustRandom && len(realPlayers) > 0 && len(robotPlayers) > 0 {
|
||||||
type gradeInfo struct {
|
type gradeInfo struct {
|
||||||
id int
|
id int
|
||||||
grade int
|
grade int
|
||||||
|
|
|
@ -991,14 +991,17 @@ func (this *SceneHandCardStateTienLen) OnEnter(s *base.Scene) {
|
||||||
if rule.TestOpen {
|
if rule.TestOpen {
|
||||||
sceneEx.SendHandCardTest()
|
sceneEx.SendHandCardTest()
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
if len(sceneEx.testPokers) > 1 {
|
if len(sceneEx.testPokers) > 1 {
|
||||||
sceneEx.SendHandCardOdds()
|
sceneEx.SendHandCardOdds()
|
||||||
} else {
|
} else {
|
||||||
if sceneEx.IsMatchScene() || sceneEx.IsCustom() {
|
if sceneEx.WGCreateScene.GetCloseCtrl() {
|
||||||
sceneEx.SendHandCard_Match()
|
sceneEx.SendHandCard_Match(true)
|
||||||
} else {
|
} else {
|
||||||
sceneEx.SendHandCardOdds()
|
if sceneEx.IsMatchScene() || sceneEx.IsCustom() {
|
||||||
|
sceneEx.SendHandCard_Match(false)
|
||||||
|
} else {
|
||||||
|
sceneEx.SendHandCardOdds()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,6 +173,9 @@ func SMDollMachineGrabHandler(session *netlib.Session, packetId int, data interf
|
||||||
|
|
||||||
// 监听抓取结果返回
|
// 监听抓取结果返回
|
||||||
func DollMachineGrabResult(conn *machinedoll.Conn, snid, id int32) {
|
func DollMachineGrabResult(conn *machinedoll.Conn, snid, id int32) {
|
||||||
|
if conn == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
num := int64(1)
|
num := int64(1)
|
||||||
for {
|
for {
|
||||||
// 读取数据
|
// 读取数据
|
||||||
|
@ -183,6 +186,7 @@ func DollMachineGrabResult(conn *machinedoll.Conn, snid, id int32) {
|
||||||
logger.Logger.Error("Failed to read response from client:", err)
|
logger.Logger.Error("Failed to read response from client:", err)
|
||||||
err := conn.Conn.Close()
|
err := conn.Conn.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
logger.Logger.Error("conn.Conn.Close():", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|
|
@ -151,7 +151,7 @@ func (this *MachineManager) UpdateToGameServer(conn *Conn, status int32) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func SendToGameServer(pid int, msg interface{}) {
|
func SendToGameServer(pid int, msg interface{}) {
|
||||||
GameConn = srvlib.ServerSessionMgrSington.GetSession(1, 7, 777)
|
GameConn = srvlib.ServerSessionMgrSington.GetSession(1, 7, 706)
|
||||||
if GameConn != nil {
|
if GameConn != nil {
|
||||||
GameConn.Send(pid, msg)
|
GameConn.Send(pid, msg)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -155,6 +155,8 @@ type AllConfig struct {
|
||||||
RoomConfigSystem map[int32]*webapi.RoomConfigSystem
|
RoomConfigSystem map[int32]*webapi.RoomConfigSystem
|
||||||
// 客户端升级奖励配置
|
// 客户端升级奖励配置
|
||||||
*webapi.ClientUpgrade
|
*webapi.ClientUpgrade
|
||||||
|
//弹窗配置
|
||||||
|
*webapi.PopUpWindowConfig
|
||||||
}
|
}
|
||||||
|
|
||||||
type GlobalConfig struct {
|
type GlobalConfig struct {
|
||||||
|
|
|
@ -39,6 +39,7 @@ const (
|
||||||
MSGTYPE_RANK_REWARD //排行榜奖励
|
MSGTYPE_RANK_REWARD //排行榜奖励
|
||||||
MSGTYPE_ITEM_CHANGE //背包使用兑换
|
MSGTYPE_ITEM_CHANGE //背包使用兑换
|
||||||
MSGTYPE_RANK_PermitReward // 通行证排行奖励
|
MSGTYPE_RANK_PermitReward // 通行证排行奖励
|
||||||
|
MSGTYPE_ClientUpgrade // 客户端升级
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -2,7 +2,9 @@ package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"crypto/md5"
|
||||||
"encoding/gob"
|
"encoding/gob"
|
||||||
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
@ -108,10 +110,12 @@ const (
|
||||||
SystemFreeGive_PhoneLotterySwap // 手机积分兑换奖励
|
SystemFreeGive_PhoneLotterySwap // 手机积分兑换奖励
|
||||||
SystemFreeGive_CollectBox // 开启卡片礼盒奖励
|
SystemFreeGive_CollectBox // 开启卡片礼盒奖励
|
||||||
SystemFreeGive_CollectBoxSwap // 卡片礼盒兑换奖励
|
SystemFreeGive_CollectBoxSwap // 卡片礼盒兑换奖励
|
||||||
|
SystemFreeGive_ClientUpgrade // 客户端升级奖励
|
||||||
)
|
)
|
||||||
const (
|
const (
|
||||||
SystemFreeGive_CoinType_Coin int32 = iota //金币
|
SystemFreeGive_CoinType_Coin int32 = iota //金币
|
||||||
SystemFreeGive_CoinType_Diamond //钻石
|
SystemFreeGive_CoinType_Diamond //钻石
|
||||||
|
SystemFreeGive_CoinType_Tiem // 道具
|
||||||
)
|
)
|
||||||
|
|
||||||
type PlayerGameCtrlData struct {
|
type PlayerGameCtrlData struct {
|
||||||
|
@ -907,7 +911,13 @@ func NewPlayerData(acc string, name, headUrl string, id int32, channel, platform
|
||||||
logger.Logger.Trace("New player name is empty.")
|
logger.Logger.Trace("New player name is empty.")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
raw := fmt.Sprintf("%v%v", DEFAULT_PLAYER_SAFEBOX_PWD, common.GetAppId())
|
||||||
|
h := md5.New()
|
||||||
|
io.WriteString(h, raw)
|
||||||
|
pwd := hex.EncodeToString(h.Sum(nil))
|
||||||
tNow := time.Now()
|
tNow := time.Now()
|
||||||
|
isRobot := channel == common.Channel_Rob
|
||||||
|
|
||||||
pd := &PlayerData{
|
pd := &PlayerData{
|
||||||
Id: bson.NewObjectId(),
|
Id: bson.NewObjectId(),
|
||||||
AccountId: acc,
|
AccountId: acc,
|
||||||
|
@ -918,6 +928,7 @@ func NewPlayerData(acc string, name, headUrl string, id int32, channel, platform
|
||||||
SnId: id,
|
SnId: id,
|
||||||
Head: rand.Int31n(common.HeadRange),
|
Head: rand.Int31n(common.HeadRange),
|
||||||
HeadUrl: headUrl,
|
HeadUrl: headUrl,
|
||||||
|
SafeBoxPassword: pwd,
|
||||||
Ip: ip,
|
Ip: ip,
|
||||||
RegIp: ip,
|
RegIp: ip,
|
||||||
Params: params,
|
Params: params,
|
||||||
|
@ -927,7 +938,7 @@ func NewPlayerData(acc string, name, headUrl string, id int32, channel, platform
|
||||||
CreateTime: tNow.Local(),
|
CreateTime: tNow.Local(),
|
||||||
Ver: VER_PLAYER_MAX - 1,
|
Ver: VER_PLAYER_MAX - 1,
|
||||||
HeadOutLine: 1,
|
HeadOutLine: 1,
|
||||||
IsRob: false,
|
IsRob: isRobot,
|
||||||
PackageID: packTag,
|
PackageID: packTag,
|
||||||
YesterdayGameData: NewPlayerGameCtrlData(),
|
YesterdayGameData: NewPlayerGameCtrlData(),
|
||||||
TodayGameData: NewPlayerGameCtrlData(),
|
TodayGameData: NewPlayerGameCtrlData(),
|
||||||
|
|
|
@ -20,6 +20,20 @@ func GenerateLogin(o *PlayerLoginEvent) *mq.RabbitMQData {
|
||||||
return NewRabbitMQData(mq.BackLogin, o)
|
return NewRabbitMQData(mq.BackLogin, o)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type SystemFreeGive struct {
|
||||||
|
Snid int32 `json:"snid,omitempty"`
|
||||||
|
Channel string `json:"Channel,omitempty"`
|
||||||
|
AppChannel string `json:"AppChannel,omitempty"`
|
||||||
|
ChannelId string `json:"ChannelId,omitempty"`
|
||||||
|
Platform string `json:"platform,omitempty"`
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
GiveWay int32 `json:"givetype,omitempty"`
|
||||||
|
GiveType int32 `json:"cointype,omitempty"`
|
||||||
|
Count int64 `json:"count,omitempty"`
|
||||||
|
Ts int64 `json:"ts,omitempty"`
|
||||||
|
ItemId int32 `json:"itemid,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
// GenerateSystemFreeGive 系统免费赠送
|
// GenerateSystemFreeGive 系统免费赠送
|
||||||
func GenerateSystemFreeGive(snid int32, name, platform, channel string, givetype, cointype int32, count int64) *mq.RabbitMQData {
|
func GenerateSystemFreeGive(snid int32, name, platform, channel string, givetype, cointype int32, count int64) *mq.RabbitMQData {
|
||||||
params := make(map[string]string)
|
params := make(map[string]string)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -236,6 +236,8 @@ enum PlayerPacketID {
|
||||||
PACKET_SCClawdollItemLog = 2845;//返回娃娃卡道具记录
|
PACKET_SCClawdollItemLog = 2845;//返回娃娃卡道具记录
|
||||||
PACKET_CSDollConfig = 2846; //获取娃娃机配置信息
|
PACKET_CSDollConfig = 2846; //获取娃娃机配置信息
|
||||||
PACKET_SCDollConfig = 2847; //返回娃娃机配置信息
|
PACKET_SCDollConfig = 2847; //返回娃娃机配置信息
|
||||||
|
PACKET_CSPopUpWindowConfig = 2848; //获取弹窗配置
|
||||||
|
PACKET_SCPopUpWindowConfig = 2849; //返回弹窗配置
|
||||||
}
|
}
|
||||||
|
|
||||||
// 账变记录
|
// 账变记录
|
||||||
|
@ -1407,4 +1409,20 @@ message MachineInfo{
|
||||||
int32 ItemNum = 4;//获得道具数量
|
int32 ItemNum = 4;//获得道具数量
|
||||||
int32 MachineId = 5;
|
int32 MachineId = 5;
|
||||||
string Name = 6;
|
string Name = 6;
|
||||||
|
}
|
||||||
|
//获取活动弹窗配置
|
||||||
|
//PACKET_CSPopUpWindowConfig
|
||||||
|
message CSPopUpWindowConfig{
|
||||||
|
}
|
||||||
|
//返回活动弹窗配置
|
||||||
|
//PACKET_SCPopUpWindowConfig
|
||||||
|
message SCPopUpWindowConfig{
|
||||||
|
repeated PopUpWindowInfo Info = 1;
|
||||||
|
}
|
||||||
|
message PopUpWindowInfo{
|
||||||
|
int32 Id = 1;
|
||||||
|
string Name = 2;
|
||||||
|
string Key = 3;
|
||||||
|
int32 OpenStatus = 4;//1-开启 0-关闭
|
||||||
|
int32 Weight = 5;//弹窗权重
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -205,6 +205,7 @@ message WGCreateScene {
|
||||||
MatchParam Match = 16; // 比赛场参数
|
MatchParam Match = 16; // 比赛场参数
|
||||||
repeated int32 ChessRank = 26; // 象棋段位配置
|
repeated int32 ChessRank = 26; // 象棋段位配置
|
||||||
repeated int64 Params = 27; // 游戏参数,GameRule中定义,不要有其他用途,含义不明确
|
repeated int64 Params = 27; // 游戏参数,GameRule中定义,不要有其他用途,含义不明确
|
||||||
|
bool CloseCtrl = 28; // 是否关闭开启控制
|
||||||
}
|
}
|
||||||
|
|
||||||
//PACKET_WG_DESTROYSCENE
|
//PACKET_WG_DESTROYSCENE
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -109,6 +109,7 @@ message GameFree {
|
||||||
int32 GroupId = 1; // 组ID
|
int32 GroupId = 1; // 组ID
|
||||||
bool Status = 2; // 开关
|
bool Status = 2; // 开关
|
||||||
server.DB_GameFree DbGameFree = 3; // excel导出结构
|
server.DB_GameFree DbGameFree = 3; // excel导出结构
|
||||||
|
bool CloseCtrl = 4; // 是否关闭调控开关
|
||||||
}
|
}
|
||||||
|
|
||||||
// 平台级别游戏配置
|
// 平台级别游戏配置
|
||||||
|
@ -988,4 +989,17 @@ message ClientUpgrade{
|
||||||
int32 On = 2; // 开关 1开启 2关闭
|
int32 On = 2; // 开关 1开启 2关闭
|
||||||
int32 OnForce = 3; // 强制升级开关 1开启 2关闭
|
int32 OnForce = 3; // 强制升级开关 1开启 2关闭
|
||||||
repeated ItemInfo Reward = 4; // 奖励
|
repeated ItemInfo Reward = 4; // 奖励
|
||||||
|
}
|
||||||
|
|
||||||
|
//etcd /game/PopUpWindowConfig
|
||||||
|
message PopUpWindowConfig{
|
||||||
|
string Platform = 1; // 平台
|
||||||
|
repeated PopUpWindowInfo Info = 2;
|
||||||
|
}
|
||||||
|
message PopUpWindowInfo{
|
||||||
|
int32 Id = 1;
|
||||||
|
string Name = 2;
|
||||||
|
string Key = 3;
|
||||||
|
int32 OpenStatus = 4;//1-开启 2-关闭
|
||||||
|
int32 Weight = 5;//弹窗权重
|
||||||
}
|
}
|
|
@ -327,11 +327,11 @@ func CSShieldMsgHandler(s *netlib.Session, packetid int, data interface{}, sid i
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
//聊天消息
|
//聊天消息
|
||||||
common.Register(int(chat.ChatPacketID_PACKET_SCChatMsg), &chat.CSChatMsg{}, CSChatMsgHandler)
|
common.Register(int(chat.ChatPacketID_PACKET_CSChatMsg), &chat.CSChatMsg{}, CSChatMsgHandler)
|
||||||
//聊天记录
|
//聊天记录
|
||||||
common.Register(int(chat.ChatPacketID_PACKET_CSGetChatLog), &chat.CSGetChatLog{}, CSGetChatLogHandler)
|
common.Register(int(chat.ChatPacketID_PACKET_CSGetChatLog), &chat.CSGetChatLog{}, CSGetChatLogHandler)
|
||||||
//读消息
|
//读消息
|
||||||
common.Register(int(chat.ChatPacketID_PACKET_CSReadChatMsg), &chat.CSReadChatMsg{}, CSReadChatMsgHandler)
|
common.Register(int(chat.ChatPacketID_PACKET_CSReadChatMsg), &chat.CSReadChatMsg{}, CSReadChatMsgHandler)
|
||||||
//屏蔽玩家
|
//屏蔽玩家
|
||||||
common.Register(int(chat.ChatPacketID_PACKET_SCShieldMsg), &chat.SCShieldMsg{}, CSShieldMsgHandler)
|
common.Register(int(chat.ChatPacketID_PACKET_CSShieldMsg), &chat.SCShieldMsg{}, CSShieldMsgHandler)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3273,6 +3273,32 @@ func CSCLAWDOLLConfig(s *netlib.Session, packetId int, data interface{}, sid int
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 客户端请求弹窗配置
|
||||||
|
func CSPopUpWindowConfig(s *netlib.Session, packetId int, data interface{}, sid int64) error {
|
||||||
|
p := PlayerMgrSington.GetPlayer(sid)
|
||||||
|
if p == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
config := PlatformMgrSingleton.GetConfig(p.Platform).PopUpWindowConfig
|
||||||
|
if config == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
pack := &player_proto.SCPopUpWindowConfig{}
|
||||||
|
for _, value := range config.Info {
|
||||||
|
info := &player_proto.PopUpWindowInfo{
|
||||||
|
Id: value.Id,
|
||||||
|
Name: value.Name,
|
||||||
|
Key: value.Key,
|
||||||
|
OpenStatus: value.OpenStatus,
|
||||||
|
Weight: value.Weight,
|
||||||
|
}
|
||||||
|
pack.Info = append(pack.Info, info)
|
||||||
|
}
|
||||||
|
p.SendToClient(int(player_proto.PlayerPacketID_PACKET_SCPopUpWindowConfig), pack)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// 用户信息
|
// 用户信息
|
||||||
common.Register(int(player_proto.PlayerPacketID_PACKET_CS_PLAYERDATA), player_proto.CSPlayerData{}, CSPlayerData)
|
common.Register(int(player_proto.PlayerPacketID_PACKET_CS_PLAYERDATA), player_proto.CSPlayerData{}, CSPlayerData)
|
||||||
|
@ -3310,4 +3336,6 @@ func init() {
|
||||||
common.Register(int(player_proto.PlayerPacketID_PACKET_CSClawdollItemLog), player_proto.CSClawdollItemLog{}, CSClawdollItemLog)
|
common.Register(int(player_proto.PlayerPacketID_PACKET_CSClawdollItemLog), player_proto.CSClawdollItemLog{}, CSClawdollItemLog)
|
||||||
//客户端请求配置信息
|
//客户端请求配置信息
|
||||||
common.Register(int(player_proto.PlayerPacketID_PACKET_CSDollConfig), player_proto.CSCLAWDOLLConfig{}, CSCLAWDOLLConfig)
|
common.Register(int(player_proto.PlayerPacketID_PACKET_CSDollConfig), player_proto.CSCLAWDOLLConfig{}, CSCLAWDOLLConfig)
|
||||||
|
//客户端请求弹窗配置信息
|
||||||
|
common.Register(int(player_proto.PlayerPacketID_PACKET_CSPopUpWindowConfig), player_proto.CSPopUpWindowConfig{}, CSPopUpWindowConfig)
|
||||||
}
|
}
|
||||||
|
|
|
@ -236,7 +236,7 @@ func init() {
|
||||||
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_SCENESTART), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_SCENESTART), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
||||||
logger.Logger.Trace("receive SSPacketID_PACKET_GW_SCENESTART GWSceneStart:", pack)
|
logger.Logger.Trace("receive SSPacketID_PACKET_GW_SCENESTART GWSceneStart:", pack)
|
||||||
if msg, ok := pack.(*serverproto.GWSceneStart); ok {
|
if msg, ok := pack.(*serverproto.GWSceneStart); ok {
|
||||||
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()))
|
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()), true)
|
||||||
if scene != nil {
|
if scene != nil {
|
||||||
scene.starting = msg.GetStart()
|
scene.starting = msg.GetStart()
|
||||||
scene.currRound = msg.GetCurrRound()
|
scene.currRound = msg.GetCurrRound()
|
||||||
|
@ -264,7 +264,7 @@ func init() {
|
||||||
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_SCENESTATE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_SCENESTATE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
||||||
logger.Logger.Trace("receive SSPacketID_PACKET_GW_SCENESTATE GWSceneState:", pack)
|
logger.Logger.Trace("receive SSPacketID_PACKET_GW_SCENESTATE GWSceneState:", pack)
|
||||||
if msg, ok := pack.(*serverproto.GWSceneState); ok {
|
if msg, ok := pack.(*serverproto.GWSceneState); ok {
|
||||||
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()))
|
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()), true)
|
||||||
if scene != nil {
|
if scene != nil {
|
||||||
scene.sp.OnSceneState(scene, int(msg.GetRoomState()))
|
scene.sp.OnSceneState(scene, int(msg.GetRoomState()))
|
||||||
}
|
}
|
||||||
|
@ -339,7 +339,7 @@ func init() {
|
||||||
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_PLAYERFORCELEAVE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_PLAYERFORCELEAVE), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
||||||
if msg, ok := pack.(*serverproto.GWPlayerForceLeave); ok {
|
if msg, ok := pack.(*serverproto.GWPlayerForceLeave); ok {
|
||||||
logger.Logger.Warn("receive GWPlayerForceLeave:", msg)
|
logger.Logger.Warn("receive GWPlayerForceLeave:", msg)
|
||||||
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()))
|
scene := SceneMgrSingleton.GetScene(int(msg.GetRoomId()), true)
|
||||||
if scene != nil {
|
if scene != nil {
|
||||||
p := PlayerMgrSington.GetPlayerBySnId(msg.GetPlayerId())
|
p := PlayerMgrSington.GetPlayerBySnId(msg.GetPlayerId())
|
||||||
if p != nil {
|
if p != nil {
|
||||||
|
@ -384,7 +384,7 @@ func init() {
|
||||||
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_PLAYERDATA), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
netlib.RegisterHandler(int(serverproto.SSPacketID_PACKET_GW_PLAYERDATA), netlib.HandlerWrapper(func(s *netlib.Session, packetid int, pack interface{}) error {
|
||||||
logger.Logger.Trace("receive GWPlayerBet:", pack)
|
logger.Logger.Trace("receive GWPlayerBet:", pack)
|
||||||
if msg, ok := pack.(*serverproto.GWPlayerData); ok {
|
if msg, ok := pack.(*serverproto.GWPlayerData); ok {
|
||||||
scene := SceneMgrSingleton.GetScene(int(msg.GetSceneId()))
|
scene := SceneMgrSingleton.GetScene(int(msg.GetSceneId()), true)
|
||||||
if scene == nil {
|
if scene == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,7 @@ func AddMailClientUpgrade(snid int32, items []*webapi.ItemInfo) {
|
||||||
content := i18n.Tr("languages", "Upgrade")
|
content := i18n.Tr("languages", "Upgrade")
|
||||||
|
|
||||||
AddMail(&AddMailParam{
|
AddMail(&AddMailParam{
|
||||||
Tp: model.MSGTYPE_ITEM,
|
Tp: model.MSGTYPE_ClientUpgrade,
|
||||||
SnId: snid,
|
SnId: snid,
|
||||||
Title: title,
|
Title: title,
|
||||||
Content: content,
|
Content: content,
|
||||||
|
|
|
@ -175,7 +175,7 @@ func (m *CoinSceneMgr) PlayerLeave(p *Player, reason int) bool {
|
||||||
// 游戏服解散房间消息触发
|
// 游戏服解散房间消息触发
|
||||||
// sceneId 房间id
|
// sceneId 房间id
|
||||||
func (m *CoinSceneMgr) OnDestroyScene(sceneId int) {
|
func (m *CoinSceneMgr) OnDestroyScene(sceneId int) {
|
||||||
if s := SceneMgrSingleton.GetScene(sceneId); s != nil && s.csp != nil {
|
if s := SceneMgrSingleton.GetScene(sceneId, true); s != nil && s.csp != nil {
|
||||||
s.csp.onDestroyScene(sceneId)
|
s.csp.onDestroyScene(sceneId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -102,6 +102,8 @@ func init() {
|
||||||
etcd.Register(etcd.ETCDKEY_MACHINE, webapi.MachineConfig{}, platformConfigEvent)
|
etcd.Register(etcd.ETCDKEY_MACHINE, webapi.MachineConfig{}, platformConfigEvent)
|
||||||
//客户端升级奖励配置
|
//客户端升级奖励配置
|
||||||
etcd.Register(etcd.ETCDKEY_ClientUpgrade, webapi.ClientUpgrade{}, platformConfigEvent)
|
etcd.Register(etcd.ETCDKEY_ClientUpgrade, webapi.ClientUpgrade{}, platformConfigEvent)
|
||||||
|
//弹窗活动配置
|
||||||
|
etcd.Register(etcd.ETCDKEY_PopUpWindow, webapi.PopUpWindowConfig{}, platformConfigEvent)
|
||||||
}
|
}
|
||||||
|
|
||||||
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, event *clientv3.Event, data interface{}) {
|
||||||
|
@ -338,6 +340,8 @@ func platformConfigEvent(ctx context.Context, completeKey string, isInit bool, e
|
||||||
}
|
}
|
||||||
case *webapi.ClientUpgrade:
|
case *webapi.ClientUpgrade:
|
||||||
PlatformMgrSingleton.GetConfig(config.Platform).ClientUpgrade = config
|
PlatformMgrSingleton.GetConfig(config.Platform).ClientUpgrade = config
|
||||||
|
case *webapi.PopUpWindowConfig:
|
||||||
|
PlatformMgrSingleton.GetConfig(config.Platform).PopUpWindowConfig = config
|
||||||
default:
|
default:
|
||||||
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
logger.Logger.Errorf("etcd completeKey:%s, Not processed", completeKey)
|
||||||
}
|
}
|
||||||
|
|
|
@ -163,6 +163,7 @@ func (this *GameSession) AddScene(args *AddSceneParam) {
|
||||||
Custom: args.S.CustomParam,
|
Custom: args.S.CustomParam,
|
||||||
Match: args.S.MatchParam,
|
Match: args.S.MatchParam,
|
||||||
Params: args.S.params,
|
Params: args.S.params,
|
||||||
|
CloseCtrl: args.S.CloseCtrl,
|
||||||
}
|
}
|
||||||
if args.S.CustomParam.GetRoomConfigId() != 0 {
|
if args.S.CustomParam.GetRoomConfigId() != 0 {
|
||||||
cfg := PlatformMgrSingleton.GetConfig(args.S.platform.IdStr).RoomConfig[args.S.CustomParam.GetRoomConfigId()]
|
cfg := PlatformMgrSingleton.GetConfig(args.S.platform.IdStr).RoomConfig[args.S.CustomParam.GetRoomConfigId()]
|
||||||
|
|
|
@ -111,7 +111,7 @@ func (this *HundredSceneMgr) PlayerTryLeave(p *Player) gamehallproto.OpResultCod
|
||||||
|
|
||||||
// OnDestroyScene 房间销毁
|
// OnDestroyScene 房间销毁
|
||||||
func (this *HundredSceneMgr) OnDestroyScene(sceneId int) {
|
func (this *HundredSceneMgr) OnDestroyScene(sceneId int) {
|
||||||
s := SceneMgrSingleton.GetScene(sceneId)
|
s := SceneMgrSingleton.GetScene(sceneId, true)
|
||||||
if s == nil {
|
if s == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -416,7 +416,7 @@ func (this *HundredSceneMgr) OnPlatformDestroyByGameFreeId(p *Platform, gameFree
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
module.RegisteModule(HundredSceneMgrSingleton, time.Second*5, 0)
|
module.RegisteModule(HundredSceneMgrSingleton, time.Hour, 0)
|
||||||
PlatformMgrSingleton.RegisterObserver(HundredSceneMgrSingleton)
|
PlatformMgrSingleton.RegisterObserver(HundredSceneMgrSingleton)
|
||||||
PlatformGameGroupMgrSington.RegisteObserver(HundredSceneMgrSingleton)
|
PlatformGameGroupMgrSington.RegisteObserver(HundredSceneMgrSingleton)
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ func init() {
|
||||||
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackClientLog, Data: &model.ClientLogMysql{}})
|
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackClientLog, Data: &model.ClientLogMysql{}})
|
||||||
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemJyb, Data: &model.JybLog{}})
|
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemJyb, Data: &model.JybLog{}})
|
||||||
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBVipGiftLog, Data: &model.DbVip{}})
|
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.DBVipGiftLog, Data: &model.DbVip{}})
|
||||||
|
mq.RegisterMessage(&mq.RegisterMessageParam{Name: mq.BackSystemFreeGive, Data: &model.SystemFreeGive{}})
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
|
|
@ -127,6 +127,7 @@ func (cfg *GameList) GetGameConfig(gameFreeId int32) *webapiproto.GameFree {
|
||||||
func CompareGameFreeConfigChanged(oldCfg, newCfg *webapiproto.GameFree) bool {
|
func CompareGameFreeConfigChanged(oldCfg, newCfg *webapiproto.GameFree) bool {
|
||||||
if oldCfg.Status != newCfg.Status ||
|
if oldCfg.Status != newCfg.Status ||
|
||||||
oldCfg.GroupId != newCfg.GroupId ||
|
oldCfg.GroupId != newCfg.GroupId ||
|
||||||
|
oldCfg.GetCloseCtrl() != newCfg.GetCloseCtrl() ||
|
||||||
oldCfg.DbGameFree.GetBot() != newCfg.DbGameFree.GetBot() ||
|
oldCfg.DbGameFree.GetBot() != newCfg.DbGameFree.GetBot() ||
|
||||||
oldCfg.DbGameFree.GetBaseScore() != newCfg.DbGameFree.GetBaseScore() ||
|
oldCfg.DbGameFree.GetBaseScore() != newCfg.DbGameFree.GetBaseScore() ||
|
||||||
oldCfg.DbGameFree.GetLimitCoin() != newCfg.DbGameFree.GetLimitCoin() ||
|
oldCfg.DbGameFree.GetLimitCoin() != newCfg.DbGameFree.GetLimitCoin() ||
|
||||||
|
|
|
@ -1110,16 +1110,28 @@ func (this *Player) GetMessageAttach(id string) {
|
||||||
ItemNum: msg.Params[i+1], // 数量
|
ItemNum: msg.Params[i+1], // 数量
|
||||||
ObtainTime: time.Now().Unix(),
|
ObtainTime: time.Now().Unix(),
|
||||||
})
|
})
|
||||||
if gainWay == common.GainWayItemPermitRank {
|
|
||||||
tp := int32(-1)
|
tp := int32(-1)
|
||||||
if msg.Params[i] == common.ItemIDCoin {
|
switch msg.Params[i] {
|
||||||
tp = model.SystemFreeGive_CoinType_Coin
|
case common.ItemIDCoin:
|
||||||
} else if msg.Params[i] == common.ItemIDDiamond {
|
tp = model.SystemFreeGive_CoinType_Coin
|
||||||
tp = model.SystemFreeGive_CoinType_Diamond
|
case common.ItemIDDiamond:
|
||||||
|
tp = model.SystemFreeGive_CoinType_Diamond
|
||||||
|
default:
|
||||||
|
tp = model.SystemFreeGive_CoinType_Tiem
|
||||||
|
}
|
||||||
|
|
||||||
|
if tp != -1 {
|
||||||
|
giveType := int32(-1)
|
||||||
|
switch gainWay {
|
||||||
|
case common.GainWayItemPermitRank:
|
||||||
|
giveType = model.SystemFreeGive_GiveType_TaskPermitRank
|
||||||
|
case common.GainWayClientUpgrade:
|
||||||
|
giveType = model.SystemFreeGive_ClientUpgrade
|
||||||
}
|
}
|
||||||
if tp != -1 {
|
if giveType != -1 && msg.Oper == 0 && !this.IsRob {
|
||||||
mq.Write(model.GenerateSystemFreeGive(this.SnId, this.Name, this.Platform, this.Channel,
|
mq.Write(model.GenerateSystemFreeGive(this.SnId, this.Name, this.Platform, this.Channel,
|
||||||
model.SystemFreeGive_GiveType_TaskPermitRank, tp, msg.Params[i+1]))
|
giveType, tp, msg.Params[i+1]))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1196,6 +1208,10 @@ func (this *Player) GetMessageAttach(id string) {
|
||||||
remark = "通行证排行奖励"
|
remark = "通行证排行奖励"
|
||||||
gainWay = common.GainWayItemPermitRank
|
gainWay = common.GainWayItemPermitRank
|
||||||
addItem()
|
addItem()
|
||||||
|
case model.MSGTYPE_ClientUpgrade:
|
||||||
|
remark = "客户端升级奖励"
|
||||||
|
gainWay = common.GainWayClientUpgrade
|
||||||
|
addItem()
|
||||||
}
|
}
|
||||||
if msg.Coin > 0 {
|
if msg.Coin > 0 {
|
||||||
this.AddCoin(msg.Coin, 0, gainWay, msg.Id.Hex(), remark)
|
this.AddCoin(msg.Coin, 0, gainWay, msg.Id.Hex(), remark)
|
||||||
|
|
|
@ -65,8 +65,10 @@ type Scene struct {
|
||||||
*serverproto.CustomParam // 房卡场参数
|
*serverproto.CustomParam // 房卡场参数
|
||||||
*serverproto.MatchParam // 比赛场参数
|
*serverproto.MatchParam // 比赛场参数
|
||||||
*webapiproto.RoomConfigSystem // 系统竞技馆房间
|
*webapiproto.RoomConfigSystem // 系统竞技馆房间
|
||||||
csp *CoinScenePool // 所在场景池
|
CloseCtrl bool // 调控开关
|
||||||
hp *HundredSceneMgr // 百人场房间池
|
|
||||||
|
csp *CoinScenePool // 所在场景池
|
||||||
|
hp *HundredSceneMgr // 百人场房间池
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewScene 创建房间
|
// NewScene 创建房间
|
||||||
|
@ -146,6 +148,10 @@ func NewScene(args *CreateSceneParam) *Scene {
|
||||||
if s.RoomConfigSystem == nil {
|
if s.RoomConfigSystem == nil {
|
||||||
s.RoomConfigSystem = new(webapiproto.RoomConfigSystem)
|
s.RoomConfigSystem = new(webapiproto.RoomConfigSystem)
|
||||||
}
|
}
|
||||||
|
gf := PlatformMgrSingleton.GetGameFree(args.Platform.IdStr, args.GF.GetId())
|
||||||
|
if gf != nil {
|
||||||
|
s.CloseCtrl = gf.GetCloseCtrl()
|
||||||
|
}
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -94,7 +94,7 @@ func (m *SceneMgr) GenPassword() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *SceneMgr) GetPlatformBySceneId(sceneId int) string {
|
func (m *SceneMgr) GetPlatformBySceneId(sceneId int) string {
|
||||||
s := m.GetScene(sceneId)
|
s := m.GetScene(sceneId, true)
|
||||||
if s != nil && s.platform != nil {
|
if s != nil && s.platform != nil {
|
||||||
return s.platform.IdStr
|
return s.platform.IdStr
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue