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