From 40d1e804f3880ea58fa347118c8a687e652a16d0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期五, 14 十月 2022 19:03:15 +0800
Subject: [PATCH] 9731 【越南】【主干】【BT7】转职业(同步 冲突)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py     |   52 ++++++++++++++++++++++++++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py |   13 ++++++
 ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py                          |   52 ++++++++++++++++++++++++++
 3 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index adb01bd..809c331 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -4723,6 +4723,58 @@
 
 
 #------------------------------------------------------
+# A1 21 转职业 #tagCMChangeJob
+
+class  tagCMChangeJob(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("TagJob", c_ubyte),    
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xA1
+        self.SubCmd = 0x21
+        return
+
+    def ReadData(self, stringData, _pos=0, _len=0):
+        self.Clear()
+        memmove(addressof(self), stringData[_pos:], self.GetLength())
+        return _pos + self.GetLength()
+
+    def Clear(self):
+        self.Cmd = 0xA1
+        self.SubCmd = 0x21
+        self.TagJob = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagCMChangeJob)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// A1 21 转职业 //tagCMChangeJob:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                TagJob:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.TagJob
+                                )
+        return DumpString
+
+
+m_NAtagCMChangeJob=tagCMChangeJob()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChangeJob.Cmd,m_NAtagCMChangeJob.SubCmd))] = m_NAtagCMChangeJob
+
+
+#------------------------------------------------------
 # A1 01 玩家电脑信息 #tagCMPCInfo
 
 class  tagCMPCInfo(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index adb01bd..809c331 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -4723,6 +4723,58 @@
 
 
 #------------------------------------------------------
+# A1 21 转职业 #tagCMChangeJob
+
+class  tagCMChangeJob(Structure):
+    _pack_ = 1
+    _fields_ = [
+                  ("Cmd", c_ubyte),
+                  ("SubCmd", c_ubyte),
+                  ("TagJob", c_ubyte),    
+                  ]
+
+    def __init__(self):
+        self.Clear()
+        self.Cmd = 0xA1
+        self.SubCmd = 0x21
+        return
+
+    def ReadData(self, stringData, _pos=0, _len=0):
+        self.Clear()
+        memmove(addressof(self), stringData[_pos:], self.GetLength())
+        return _pos + self.GetLength()
+
+    def Clear(self):
+        self.Cmd = 0xA1
+        self.SubCmd = 0x21
+        self.TagJob = 0
+        return
+
+    def GetLength(self):
+        return sizeof(tagCMChangeJob)
+
+    def GetBuffer(self):
+        return string_at(addressof(self), self.GetLength())
+
+    def OutputString(self):
+        DumpString = '''// A1 21 转职业 //tagCMChangeJob:
+                                Cmd:%s,
+                                SubCmd:%s,
+                                TagJob:%d
+                                '''\
+                                %(
+                                self.Cmd,
+                                self.SubCmd,
+                                self.TagJob
+                                )
+        return DumpString
+
+
+m_NAtagCMChangeJob=tagCMChangeJob()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMChangeJob.Cmd,m_NAtagCMChangeJob.SubCmd))] = m_NAtagCMChangeJob
+
+
+#------------------------------------------------------
 # A1 01 玩家电脑信息 #tagCMPCInfo
 
 class  tagCMPCInfo(Structure):
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 8a3bf9d..5aeb561 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/ChPlayer.py
@@ -146,6 +146,7 @@
 import PlayerYinji
 import PlayerLove
 import GameObj
+import PlayerChangeJob
 
 import datetime
 import time
@@ -256,6 +257,18 @@
     
     return
 
+#// A1 21 转职业 #tagCMChangeJob
+#
+#struct    tagCMChangeJob
+#{
+#    tagHead        Head;
+#    BYTE        TagJob;
+#};
+def OnChangeJob(index, clientData, tick):
+    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+    PlayerChangeJob.DoChangeJob(curPlayer, curPlayer.GetJob(), clientData.TagJob)
+    return
+
 #// A1 08 刷新主服角色信息 #tagCMRefreshMainServerRole
 #
 #struct tagCMRefreshMainServerRole

--
Gitblit v1.8.0