From 474e64199863f5d5ef4832d6a325915efebe7c44 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 25 十月 2018 11:24:36 +0800 Subject: [PATCH] 4255 【后端】【1.3】小助手 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 55 insertions(+), 0 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py index 66c355b..d80d601 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py @@ -550,6 +550,8 @@ PlayerWishingWell.OnLogin(curPlayer) # 上线查询一次充值订单 curPlayer.SendDBQueryRecharge() + # 小助手 + SyncLittleHelper(curPlayer) curPlayer.SetState(0) # 脱机挂恢复为正常上线 curPlayer.SetFacePic(0) # 通知数据库是否保存还是下线,做一次恢复,1为保存 0为正常下线 @@ -2518,6 +2520,59 @@ curPlayer.SetSetting(setting) return +#// A2 29 设置小助手 #tagCMSetLittleHelper +# +#struct tagCMSetLittleHelper +#{ +# tagHead Head; +# BYTE SetNum; // 托管功能设置编号1~20,每个编号对应的托管功能前端自定义 +# DWORD Value1; // 自定义值1 +# DWORD Value2; // 自定义值2 +# DWORD Value3; // 自定义值3 +# DWORD Value4; // 自定义值4 +# DWORD Value5; // 自定义值5 +#}; +def OnSetLittleHelper(index, clientData, tick): + curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) + setNum = clientData.SetNum + if setNum > ChConfig.LittleHelperSetNumCount: + GameWorld.ErrLog("小助手不支持该设置编号! setNum=%s" % setNum, curPlayer.GetPlayerID()) + return + for i in xrange(1, ChConfig.LittleHelperValueCount + 1): + if not hasattr(clientData, "Value%s" % i): + GameWorld.ErrLog("小助手不支持该值编号设置! setNum=%s,value%s" % (setNum, i), curPlayer.GetPlayerID()) + continue + value = getattr(clientData, "Value%s" % i) + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_LittleHelperValue % (setNum, i), value) + GameWorld.DebugLog("小助手值设置: setNum=%s,value%s=%s" % (setNum, i, value), curPlayer.GetPlayerID()) + return + +def SyncLittleHelper(curPlayer): + ## 同步小助手设置,仅有值的同步 + funcSetList = [] + for setNum in xrange(ChConfig.LittleHelperSetNumCount + 1): + funcSet = None + for i in xrange(1, ChConfig.LittleHelperValueCount + 1): + value = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_LittleHelperValue % (setNum, i)) + if not value: + continue + if not funcSet: + funcSet = ChPyNetSendPack.tagMCLittleHelperFuncSet() + funcSet.SetNum = setNum + if hasattr(funcSet, "Value%s" % i): + setattr(funcSet, "Value%s" % i, value) + if funcSet: + funcSetList.append(funcSet) + + if not funcSetList: + return + + setPack = ChPyNetSendPack.tagMCLittleHelperSet() + setPack.FuncSetList = funcSetList + setPack.FuncSetCount = len(setPack.FuncSetList) + NetPackCommon.SendFakePack(curPlayer, setPack) + return + #// A2 22 设置引导成功 #tagCMSetGuideOK # #struct tagCMSetGuideOK -- Gitblit v1.8.0