1. //////////////////////////////////////////
  2. // //
  3. // //
  4. // Client //
  5. // //
  6. // //
  7. //////////////////////////////////////////
  8. //Client/UserInterface/InstanceBaseEffect.cpp Open and search
  9. CPythonTextTail::Instance().RegisterCharacterTextTail(m_dwGuildID, dwVID, s_kD3DXClrTextTail, fTextTailHeight);
  10. //Replace with;
  11. CPythonTextTail::Instance().RegisterCharacterTextTail(m_dwGuildID, m_dwNewIsGuildName, dwVID, s_kD3DXClrTextTail, fTextTailHeight);
  12. //Client/UserInterface/InstanceBase.cpp Open and search;
  13. DWORD CInstanceBase::GetGuildID()
  14. {
  15. return m_dwGuildID;
  16. }
  17. //Add below;
  18. BYTE CInstanceBase::GetNewIsGuildName()
  19. {
  20. return m_dwNewIsGuildName;
  21. }
  22. //Search;
  23. if (GetInstanceType() == CActorInstance::TYPE_ENEMY)
  24. m_dwLevel = CPythonNonPlayer::Instance().GetMobLevel(GetRace());
  25. else
  26. m_dwLevel = c_rkCreateData.m_dwLevel;
  27. m_dwGuildID = c_rkCreateData.m_dwGuildID;
  28. m_dwEmpireID = c_rkCreateData.m_dwEmpireID;
  29. //Add below;
  30. m_dwNewIsGuildName = c_rkCreateData.m_dwNewIsGuildName;
  31. //Search;
  32. void CInstanceBase::ChangeGuild(DWORD dwGuildID)
  33. {
  34. m_dwGuildID=dwGuildID;
  35. DetachTextTail();
  36. AttachTextTail();
  37. RefreshTextTail();
  38. }
  39. // Replace with.
  40. void CInstanceBase::ChangeGuild(DWORD dwGuildID, DWORD dwNewIsGuildName)
  41. {
  42. m_dwGuildID=dwGuildID;
  43. m_dwNewIsGuildName=dwNewIsGuildName;
  44. DetachTextTail();
  45. AttachTextTail();
  46. RefreshTextTail();
  47. }
  48. //Search;
  49. m_dwGuildID = 0;
  50. //Add below;
  51. m_dwNewIsGuildName = 0;
  52. //Client/UserInterface/InstanceBase.h Open and search;
  53. DWORD m_dwMountVnum;
  54. //Add below;
  55. BYTE m_dwNewIsGuildName;
  56. //Search;
  57. void ChangeGuild(DWORD dwGuildID);
  58. //Replace with.;
  59. void ChangeGuild(DWORD dwGuildID, DWORD dwNewIsGuildName);
  60. //Search;
  61. DWORD m_dwGuildID;
  62. //Add below;
  63. BYTE m_dwNewIsGuildName;
  64. //Search;
  65. DWORD GetGuildID();
  66. //Add below;
  67. BYTE GetNewIsGuildName();
  68. //Client/UserInterface/PythonCharacterManager.cpp Open and search;
  69. pInstance->ChangeGuild(pInstance->GetGuildID());
  70. //Replace with.;
  71. pInstance->ChangeGuild(pInstance->GetGuildID(), pInstance->GetNewIsGuildName());
  72. //Client/UserInterface/PythonTextTail.cpp Open and search;
  73. std::string strGuildName;
  74. if (!CPythonGuild::Instance().GetGuildName(dwGuildID, &strGuildName))
  75. strGuildName = "Noname";
  76. //Replace with.;
  77. std::string strGuildName;
  78. if (!CPythonGuild::Instance().GetGuildName(dwGuildID, &strGuildName))
  79. strGuildName = "Noname";
  80. if (dwNewIsGuildName == 3)
  81. strGuildName.insert(0, "Leader");
  82. else if (dwNewIsGuildName == 2)
  83. strGuildName.insert(0, "General");
  84. void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR & c_rColor, float fAddHeight)
  85. //Replace with.;
  86. void CPythonTextTail::RegisterCharacterTextTail(DWORD dwGuildID, BYTE dwNewIsGuildName, DWORD dwVirtualID, const D3DXCOLOR & c_rColor, float fAddHeight)
  87. //Client/UserInterface/PythonTextTail.h Open and search;
  88. void RegisterCharacterTextTail(DWORD dwGuildID, DWORD dwVirtualID, const D3DXCOLOR & c_rColor, float fAddHeight=10.0f);
  89. //Replace with.;
  90. void RegisterCharacterTextTail(DWORD dwGuildID, BYTE m_dwNewIsGuildName, DWORD dwVirtualID, const D3DXCOLOR & c_rColor, float fAddHeight=10.0f);
  91. //Client/UserInterface/PythonTextTailModule.cpp Open and search;
  92. PyObject * textTailRegisterCharacterTextTail(PyObject * poSelf, PyObject * poArgs)
  93. //Replace the whole function;
  94. PyObject * textTailRegisterCharacterTextTail(PyObject * poSelf, PyObject * poArgs)
  95. {
  96. int iGuildID;
  97. if (!PyTuple_GetInteger(poArgs, 0, &iGuildID))
  98. return Py_BuildException();
  99. int iNewIsGuildName;
  100. if (!PyTuple_GetInteger(poArgs, 1, &iNewIsGuildName))
  101. return Py_BuildException();
  102. int iVirtualID;
  103. if (!PyTuple_GetInteger(poArgs, 2, &iVirtualID))
  104. return Py_BuildException();
  105. CPythonTextTail::Instance().RegisterCharacterTextTail(iGuildID, iVirtualID, iNewIsGuildName, D3DXCOLOR(1.0f, 1.0f, 1.0f, 1.0f));
  106. return Py_BuildNone();
  107. }
  108. //Client/UserInterface/NetworkActorManager.cpp Open and search;
  109. m_dwGuildID = src.m_dwGuildID;
  110. //Add below;
  111. m_dwNewIsGuildName = src.m_dwNewIsGuildName;
  112. //Search;
  113. kCreateData.m_dwMountVnum=rkNetActorData.m_dwMountVnum;
  114. //Add below;
  115. kCreateData.m_dwNewIsGuildName=rkNetActorData.m_dwNewIsGuildName;
  116. //Search;
  117. pkInstFind->ChangeGuild(c_rkNetUpdateActorData.m_dwGuildID);
  118. //Replace with.;
  119. pkInstFind->ChangeGuild(c_rkNetUpdateActorData.m_dwGuildID, c_rkNetUpdateActorData.m_dwNewIsGuildName);
  120. //Search;
  121. rkNetActorData.m_dwGuildID=c_rkNetUpdateActorData.m_dwGuildID;
  122. //Add below;
  123. rkNetActorData.m_dwNewIsGuildName=c_rkNetUpdateActorData.m_dwNewIsGuildName;
  124. //Client/UserInterface/NetworkActorManager.h Open and search;
  125. DWORD m_dwGuildID;
  126. //Add below;
  127. BYTE m_dwNewIsGuildName;
  128. //Search;
  129. DWORD m_dwMountVnum;
  130. //Add below;
  131. DWORD m_dwNewIsGuildName;
  132. //Search;
  133. m_dwMountVnum=0;
  134. //Add below;
  135. m_dwNewIsGuildName=0;
  136. //Client/UserInterface/PythonNetworkStreamPhaseGameActor.cpp Open and search;
  137. kNetActorData.m_dwMountVnum=0;
  138. //Add below;
  139. kNetActorData.m_dwNewIsGuildName=0;
  140. //Search;
  141. kNetActorData.m_dwMountVnum = chrInfoPacket.dwMountVnum;
  142. //Add below;
  143. kNetActorData.m_dwNewIsGuildName = chrInfoPacket.dwNewIsGuildName;
  144. //Search;
  145. kNetUpdateActorData.m_dwMountVnum = chrUpdatePacket.dwMountVnum;
  146. //Add below;
  147. kNetUpdateActorData.m_dwNewIsGuildName = chrUpdatePacket.dwNewIsGuildName;
  148. //Search;
  149. kNetActorData.m_dwMountVnum = chrAddPacket.dwMountVnum;
  150. //Add below;
  151. //#ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
  152. kNetActorData.m_dwNewIsGuildName=chrAddPacket.dwNewIsGuildName;
  153. //#endif
  154. //Client/UserInterface/Packet.h Open and search;
  155. TPacketGCCharacterAdditionalInfo
  156. //Add above;
  157. BYTE dwNewIsGuildName;
  158. //Search;
  159. TPacketGCCharacterAdd2
  160. //Add above;
  161. BYTE dwNewIsGuildName;
  162. //Search;
  163. TPacketGCCharacterUpdate
  164. //Add above;
  165. BYTE dwNewIsGuildName;
  166. //Search;
  167. TPacketGCCharacterUpdate2
  168. //Add above;
  169. BYTE dwNewIsGuildName;
  170. //Client/UserInterface/Locale_inc.h Open and search;
  171. #define ENABLE_WEAPON_COSTUME_SYSTEM
  172. //Add below
  173. #define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
  174. //////////////////////////////////////////
  175. // //
  176. // //
  177. // Server/game //
  178. // //
  179. // //
  180. //////////////////////////////////////////
  181. //Game/src/Char.cpp Open and search;
  182. if (GetGuild() != NULL)
  183. //Replace whole function;
  184. if (GetGuild() != NULL)
  185. {
  186. addPacket.dwGuildID = GetGuild()->GetID();
  187. CGuild* pGuild = this->GetGuild();
  188. if (pGuild->GetMasterPID() == GetPlayerID())
  189. addPacket.dwNewIsGuildName = 3;
  190. else if (pGuild->NewIsGuildGeneral(GetPlayerID()) == true)
  191. addPacket.dwNewIsGuildName = 2;
  192. else
  193. addPacket.dwNewIsGuildName = 1;
  194. }
  195. else
  196. {
  197. addPacket.dwGuildID = 0;
  198. addPacket.dwNewIsGuildName = 0;
  199. }
  200. //Search;
  201. pack.dwMountVnum = GetMountVnum();
  202. //Add below;
  203. #ifdef ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
  204. CGuild* pGuild = this->GetGuild();
  205. if (pGuild)
  206. {
  207. std::auto_ptr<SQLMsg> pMsg(DBManager::Instance().DirectQuery("SELECT is_general FROM player.guild_member WHERE pid ='%d'", GetPlayerID()));
  208. if (pMsg->Get()->uiNumRows)
  209. {
  210. if (pGuild->GetMasterPID() == GetPlayerID())
  211. pack.dwNewIsGuildName = 3;
  212. else if (atoi(mysql_fetch_row(pMsg->Get()->pSQLResult)[0]))
  213. pack.dwNewIsGuildName = 2;
  214. else
  215. pack.dwNewIsGuildName = 1;
  216. }
  217. }
  218. else
  219. {
  220. pack.dwNewIsGuildName = 0;
  221. }
  222. #endif
  223. //Game/src/Packet.h Open and search;
  224. TPacketGCCharacterAdditionalInfo
  225. //Add above;
  226. BYTE dwNewIsGuildName;
  227. //Search;
  228. TPacketGCCharacterUpdate
  229. //Add above;
  230. BYTE dwNewIsGuildName;
  231. //Game/src/Guild.cpp Open and search;
  232. DWORD CGuild::GetMemberPID(const std::string& strName)
  233. {
  234. for ( TGuildMemberContainer::iterator iter = m_member.begin();
  235. iter != m_member.end(); iter++ )
  236. {
  237. if ( iter->second.name == strName ) return iter->first;
  238. }
  239. return 0;
  240. }
  241. //Add below;
  242. BYTE CGuild::NewIsGuildGeneral(DWORD pid)
  243. {
  244. for ( TGuildMemberContainer::iterator iter = m_member.begin(); iter != m_member.end(); iter++ )
  245. {
  246. if ( iter->first == pid )
  247. return iter->second.is_general;
  248. }
  249. return 0;
  250. }
  251. //Game/src/Guild.h Open and search;
  252. DWORD GetMemberPID(const std::string& strName);
  253. //Add below;
  254. BYTE NewIsGuildGeneral(DWORD pid);