Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
291
Server/AdminTool/AdminToolLibrary/character/ModifyCharacter.h
Normal file
291
Server/AdminTool/AdminToolLibrary/character/ModifyCharacter.h
Normal file
@@ -0,0 +1,291 @@
|
||||
#ifndef _MODIFY_CHARACTER_H_
|
||||
#define _MODIFY_CHARACTER_H_
|
||||
|
||||
#include < Creature/Character/Character.h >
|
||||
#include < Network/Protocol/Ryl_AdminMgrProtocol.h >
|
||||
#include < Pattern/Singleton.h >
|
||||
|
||||
// <20><>ó<EFBFBD><C3B3> ------------------------
|
||||
class CPacketDispatch;
|
||||
class CModifyCharacterMgr;
|
||||
class CBuffer;
|
||||
class CSession;
|
||||
//--------------------------------
|
||||
|
||||
// Ryl_ItemData.cpp
|
||||
namespace ItemData
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ǥ<EFBFBD><C7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
Item::ItemPos MakeItemPos(unsigned char cPos, unsigned char cX, unsigned char cY, unsigned char cZ);
|
||||
// <20><EFBFBD><EEB6B2>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD>?
|
||||
inline bool IsArrayContainer(unsigned char cTakePos);
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
|
||||
Item::CItem* CloneItem(Item::CItem* lpSrcItem, PktAdminMgr::CreateItemInfo EquipInfo);
|
||||
|
||||
// <20>Ѱ<EFBFBD><D1B0><EFBFBD> UID<49><44> 3<><33><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>Ͱ<EFBFBD> <20>ְ<EFBFBD> 3<><33><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>ʹ<EFBFBD> 1<><31><EFBFBD><EFBFBD> â<><C3A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>..
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..
|
||||
// â<><C3A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD>ʼn<EFBFBD><C589><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ش<EFBFBD> UID<49><44> <20>ɷ<EFBFBD><C9B7>ִ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20>۾<EFBFBD><DBBE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڵ鿡<DAB5><E9BFA1> â<><C3A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
||||
class CDepositLock
|
||||
{
|
||||
public:
|
||||
struct DepositInfo
|
||||
{
|
||||
unsigned long m_dwCID;
|
||||
CPacketDispatch* m_lpPacketDispatch;
|
||||
|
||||
DepositInfo()
|
||||
: m_dwCID(0)
|
||||
, m_lpPacketDispatch(NULL) { ;}
|
||||
|
||||
DepositInfo(unsigned long dwCID, CPacketDispatch* lpPacketDispatch)
|
||||
: m_dwCID(dwCID)
|
||||
, m_lpPacketDispatch(lpPacketDispatch) { ;}
|
||||
};
|
||||
|
||||
typedef std::map< unsigned long, DepositInfo > isMapDeposit;
|
||||
typedef isMapDeposit::iterator isDepositPos;
|
||||
|
||||
public:
|
||||
isDepositPos begin() { return m_DepositUser.begin(); }
|
||||
isDepositPos end() { return m_DepositUser.end(); }
|
||||
|
||||
size_t size() { return m_DepositUser.size(); }
|
||||
|
||||
bool isUse(unsigned long dwUID, unsigned long dwCID, CPacketDispatch* lpPacketDispatch, bool& bisLock);
|
||||
void DepositLock(unsigned long dwUID, unsigned long dwCID, CPacketDispatch* lpPacketDispatch);
|
||||
void DepositUnLock(unsigned long dwUID);
|
||||
|
||||
CPacketDispatch* GetDispatch(unsigned long dwUID);
|
||||
void RemoveAllSelectDispatch(CPacketDispatch* lpPacketDispatch);
|
||||
bool GetLockInfo(unsigned long dwUID, DepositInfo& Info);
|
||||
|
||||
private:
|
||||
isMapDeposit m_DepositUser;
|
||||
};
|
||||
};
|
||||
|
||||
// LearnSkill.cpp
|
||||
// Ư<><C6AF> ij<><C4B3><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD>氡<EFBFBD><E6B0A1><EFBFBD><EFBFBD> <20><>ų<EFBFBD><C5B3> ǥ<><C7A5><EFBFBD>ϱ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
// <20><>ų <20><>ũ<EFBFBD><C5A9>Ʈ<EFBFBD><C6AE> <20>ε<EFBFBD><CEB5>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ų<EFBFBD><C5B3> ID<49><44> <20><><EFBFBD><EFBFBD>
|
||||
class CSkillID : public CStaticSingleton<CSkillID>
|
||||
{
|
||||
public:
|
||||
|
||||
typedef std::list<unsigned short> isListSkillUID;
|
||||
typedef isListSkillUID::iterator isListSkillPos;
|
||||
|
||||
~CSkillID() { m_listSkillUID.clear(); }
|
||||
|
||||
isListSkillPos begin() { return m_listSkillUID.begin(); }
|
||||
isListSkillPos end() { return m_listSkillUID.end(); }
|
||||
|
||||
void insert(unsigned short SkillUID) { m_listSkillUID.push_back(SkillUID); }
|
||||
bool ReadSkillScript(char* szScriptName = "./Script/Game/SkillScript.txt");
|
||||
|
||||
private:
|
||||
|
||||
isListSkillUID m_listSkillUID;
|
||||
};
|
||||
|
||||
|
||||
// Item::CEquipment <20>ٿ<EFBFBD> ij<><C4B3>Ʈ Ŭ<><C5AC><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ÿ<EFBFBD>!)
|
||||
class CModifyEquipment : public Item::CEquipment
|
||||
{
|
||||
public:
|
||||
void AdjustData(PktAdminMgr::CreateItemInfo EquipInfo)
|
||||
{
|
||||
m_cMaxNumOrDurability = EquipInfo.m_cMaxDurability;
|
||||
m_cMaxSocket = EquipInfo.m_cMaxSocketNum;
|
||||
m_cUpgradeLevel = EquipInfo.m_cUpgradeLevel;
|
||||
m_cSeasonRecord = EquipInfo.m_cSeasonRecord;
|
||||
m_cCoreLevel = EquipInfo.m_cCoreLevel;
|
||||
|
||||
for(m_cSocketNum = 0; m_cSocketNum < m_cMaxSocket; ++m_cSocketNum)
|
||||
{
|
||||
if (0 == EquipInfo.m_cSocket[m_cSocketNum]) break;
|
||||
}
|
||||
|
||||
CopyMemory(m_cSocket, EquipInfo.m_cSocket,
|
||||
sizeof(unsigned char) * m_cSocketNum);
|
||||
CopyMemory(m_usRuneSocket, EquipInfo.m_usRuneSocket,
|
||||
sizeof(unsigned short) * Item::EquipmentInfo::MAX_RUNE_SOCKET_NUM);
|
||||
CopyMemory(m_wAttribute, EquipInfo.m_usAttribute,
|
||||
sizeof(unsigned short) * Item::Attribute::MAX_ATTRIBUTE_NUM);
|
||||
}
|
||||
|
||||
void AddGemAttribute() { ApplyGemAttribute(APPLY); }
|
||||
void RemoveGemAttribute() { ApplyGemAttribute(REMOVE); }
|
||||
|
||||
void AddUpgradeAttribute() { ApplyUpgradeAttribute(APPLY); }
|
||||
void RemoveUpgradeAttribute() { ApplyUpgradeAttribute(REMOVE); }
|
||||
|
||||
void AddRuneAttribute() { ApplyRuneAttribute(APPLY); }
|
||||
void RemoveRuneAttribute() { ApplyRuneAttribute(REMOVE); }
|
||||
};
|
||||
|
||||
// Item::CItem <20>ٿ<EFBFBD> ij<><C4B3>Ʈ Ŭ<><C5AC><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ÿ<EFBFBD>!)
|
||||
class CModifyItem : public Item::CItem
|
||||
{
|
||||
public:
|
||||
void SetUID(unsigned __int64 UID);
|
||||
void SetPrototoypID(unsigned short PrototypeID);
|
||||
};
|
||||
|
||||
|
||||
// ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ȯ<><C8AE> Ŭ<><C5AC><EFBFBD><EFBFBD>
|
||||
class CModifyCharacter : public CCharacter
|
||||
{
|
||||
friend CModifyCharacterMgr;
|
||||
|
||||
public:
|
||||
#pragma pack(1)
|
||||
struct CHAR_EXTRA_DATA
|
||||
{
|
||||
CHAR_INFOEX m_CharInfoEX;
|
||||
QUEST m_Quest;
|
||||
HISTORY m_History;
|
||||
CONFIG m_Config;
|
||||
};
|
||||
#pragma pack()
|
||||
|
||||
enum MASK
|
||||
{
|
||||
ON_BASIC = 1, // ON_BASIC <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ON_EXTRA = 2, // ON_EXTRA <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ON_FRIEND = 4, // ON_FRIEND <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ON_BAN = 8, // ON_BAN <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ON_STROE12 = 16, // ON_STROE12 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
ON_STORE34 = 32, // ON_STORE34 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
OFF_BASIC = 62, // ON_BASIC <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
OFF_EXTRA = 61, // ON_EXTRA <09><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
OFF_FRIEND = 59, // ON_FRIEND <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
OFF_BAN = 55, // ON_BAN <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
OFF_STORE12 = 47, // ON_STROE12 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
OFF_STORE34 = 31, // ON_STORE34 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
};
|
||||
|
||||
CModifyCharacter();
|
||||
~CModifyCharacter() { }
|
||||
|
||||
BYTE m_byChangedInfo;
|
||||
|
||||
void SetUID(unsigned long dwUID) { m_dwUID = dwUID; } // ij<><C4B3><EFBFBD><EFBFBD> UID <20><><EFBFBD><EFBFBD>
|
||||
void SetCID(unsigned long dwCID) { m_dwCID = dwCID; } // ij<><C4B3><EFBFBD><EFBFBD> CID <20><><EFBFBD><EFBFBD>
|
||||
void SetUserNation(unsigned char cNation) { m_cQuestNation = cNation; } // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void SetServerGroup(unsigned long dwServerGroup) { m_dwServerGroup = dwServerGroup; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void SetOldServerGroup(unsigned char cGroupID) { m_cOldServerGroupID = cGroupID; } // Old <20><><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long GetServerGroup() { return m_dwServerGroup; } // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
void SetModifyAdmin(char* Account, int Length); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void SetDispatch(CPacketDispatch* lpPacketDispatch) { m_lpPacketDispatch = lpPacketDispatch; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Dispatch<63><68><EFBFBD><EFBFBD>
|
||||
CPacketDispatch* GetDispatch() { return m_lpPacketDispatch; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Dispatch<63><68> <20><><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>
|
||||
|
||||
unsigned short GetMaxHP() { return m_CreatureStatus.m_StatusInfo.m_nMaxHP; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> ü<><C3BC>
|
||||
unsigned short GetNowHP() { return m_CreatureStatus.m_nNowHP; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ü<><C3BC>
|
||||
unsigned short GetMaxMP() { return m_CreatureStatus.m_StatusInfo.m_nMaxMP; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned short GetNowMP() { return m_CreatureStatus.m_nNowMP; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
char* GetName() { return m_DBData.m_Info.Name; } // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void ChangeName(char* szName); // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void GetModifyCharStatus(PktAdminMgr::CHAR_STATUS_ST& StatusST); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
CHAR_EXTRA_DATA& GetExtraData() { return m_ExtraData; } // <20><>Ÿ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool UpdataStatus(PktAdminMgr::CHAR_STATUS_ST& StatusST); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool SetGold(unsigned long dwGold); // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
Item::CItem* UIDbyItem(unsigned __int64 ItemUID, unsigned char cTakeType); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>UID<49><44> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˻<EFBFBD>
|
||||
|
||||
unsigned short GetMaxSkillPoint(); // ij<><C4B3><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ִ<EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
||||
unsigned short GetSkillPoint() { return m_DBData.m_Skill.GetSkillNum(); } // <20><><EFBFBD><EFBFBD> <20><>ų <20><>
|
||||
SKILL& GetSkill() { return m_DBData.m_Skill; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD>
|
||||
unsigned char AppendSkill(unsigned short wSkillID, char cLevel, char cLockCount); // <20><>ų <20>߰<EFBFBD>
|
||||
unsigned char DeleteSkill(unsigned short wSkillID, char cLevel, char cLockCount); // <20><>ų <20><><EFBFBD><EFBFBD>
|
||||
short GetSkillLevelEX(unsigned short usSkillType, char cLockCount); // <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool ChkEmptySlot(SKILL Skill); // <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD><D6B4><EFBFBD> üũ
|
||||
|
||||
CHAR_POS& GetLastPos() { return m_DBData.m_Pos; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ <20><><EFBFBD><EFBFBD>
|
||||
Position& GetCurPos() { return m_CurrentPos; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD><CDBA>̽<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
void SetServerID(unsigned long dwServerID) { m_ExtraData.m_CharInfoEX.ServerID = dwServerID; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD>(<28><>) <20><><EFBFBD><EFBFBD>
|
||||
unsigned long GetServerID() { return m_ExtraData.m_CharInfoEX.ServerID; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
void Reset(); // <20><><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ
|
||||
|
||||
void OnChangedInfo(int iMask); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void OffChangedInfo(int iMask); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void SetNextClose() { m_bScheduleClose = true; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool isClose() { return m_bScheduleClose; } // ij<><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
void SetClientKey(unsigned long dwClientKey) { m_dwClientRequestKey = dwClientKey; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ Ű<><C5B0> <20><><EFBFBD><EFBFBD> ( Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> MDI<44><49> <20><><EFBFBD>ߵǾ<DFB5><C7BE><EFBFBD><E2B6A7><EFBFBD><EFBFBD> <20>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD> )
|
||||
unsigned long GetClientKey() { return m_dwClientRequestKey; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD>̾<EFBFBD>ƮŰ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
unsigned char GetOldServerGroupID() { return m_cOldServerGroupID; } // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID <20><><EFBFBD><EFBFBD> (Part2Selectable)
|
||||
|
||||
CSession* GetCheckSession(unsigned long dwUID); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ἲ üũ
|
||||
|
||||
void SetSaveState(bool bSave) { m_bSave = bSave; } // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˸<EFBFBD><CBB8><EFBFBD>
|
||||
bool GetSaveState() { return m_bSave; } // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
// <20>ߺ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˻<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
typedef std::set <__int64> ModifyCharItemSerialInfo;
|
||||
typedef std::vector<__int64> OverlapSerialInfo;
|
||||
|
||||
ModifyCharItemSerialInfo m_ModifyCharItemSerialInfo;
|
||||
OverlapSerialInfo m_OverlapSerialInfo;
|
||||
|
||||
void SetOwnCopyItemState(bool IsOwn) { m_bIsOwnCopyItem = IsOwn; } // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool IsOwnCopyItem() { return m_bIsOwnCopyItem; } // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
void ParseQuestData();
|
||||
void SetQuestData();
|
||||
|
||||
unsigned char GetUserNation() { return m_cQuestNation; }
|
||||
|
||||
char GetChance() { return m_DBData.m_Info.Chance; }
|
||||
|
||||
unsigned char GetNameChangeChance() { return m_ExtraData.m_CharInfoEX.cNameChangeCount; }
|
||||
void SetNameChangeChance(unsigned char cChance) { m_ExtraData.m_CharInfoEX.cNameChangeCount = cChance; }
|
||||
|
||||
void RevisionQuestNation(); // <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>Ӽ<EFBFBD> üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(2005-11-23 <20>߰<EFBFBD>)
|
||||
|
||||
private:
|
||||
|
||||
CPacketDispatch* m_lpPacketDispatch; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ
|
||||
|
||||
unsigned long m_dwServerGroup; // <20>ش<EFBFBD> ij<><C4B3><EFBFBD>Ͱ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>߰輭<DFB0><E8BCAD><EFBFBD><EFBFBD> <20><EFBFBD>
|
||||
char m_szModifyAdmin[40]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
bool m_bScheduleClose; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
unsigned long m_dwClientRequestKey; // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>â(<28><><EFBFBD><EFBFBD>)<29><> <20>ĺ<EFBFBD><C4BA><EFBFBD>ȣ
|
||||
bool m_bSave; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool m_bIsOwnCopyItem; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
unsigned char m_cQuestNation; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD>Ӽ<EFBFBD> <20>˻<EFBFBD><CBBB><EFBFBD>
|
||||
unsigned char m_cOldServerGroupID; // Part2Selectable Ÿ<><C5B8><EFBFBD>϶<EFBFBD> <20>ʿ<EFBFBD><CABF><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
CHAR_EXTRA_DATA m_ExtraData; // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ü (<28><>Ÿ, <20><><EFBFBD><EFBFBD>Ʈ, <20><><EFBFBD><EFBFBD><EFBFBD>丮, <20><><EFBFBD><EFBFBD>)
|
||||
};
|
||||
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
// <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD><D7B7><EFBFBD> Dispatch<63><68> <20><><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
class CModifyCharacterMgr
|
||||
{
|
||||
public:
|
||||
typedef std::map<unsigned long, CModifyCharacter*> isMapCharList;
|
||||
typedef isMapCharList::iterator iterator;
|
||||
|
||||
iterator begin() { return m_mapModifyChar.begin(); }
|
||||
iterator end() { return m_mapModifyChar.end(); }
|
||||
size_t size() { return m_mapModifyChar.size(); }
|
||||
|
||||
CModifyCharacter* GetCharacter(unsigned long dwCID); // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
CModifyCharacter* InsertChar(unsigned long dwCID); // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
bool EraseChar(unsigned long dwCID); // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
void AllRemoveChar(CPacketDispatch* lpPacketDispatch); // lpPacketDispatch<63><68> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
|
||||
void isUIDSendAll(unsigned long dwUID, CBuffer* lpBuffer); // UID<49><44> <20><><EFBFBD><EFBFBD> ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Dispatch<63><68> <20><>Ŷ <20><><EFBFBD><EFBFBD>
|
||||
|
||||
private:
|
||||
CModifyCharacter* CreateCharacter() { return new CModifyCharacter; }
|
||||
|
||||
isMapCharList m_mapModifyChar;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user