93 lines
2.3 KiB
C++
93 lines
2.3 KiB
C++
#pragma once
|
|
|
|
#include "Packet.h"
|
|
|
|
/*
|
|
* ±³È¯ â °ü·Ã
|
|
*/
|
|
class CPythonExchange : public CSingleton<CPythonExchange>
|
|
{
|
|
public:
|
|
enum
|
|
{
|
|
EXCHANGE_ITEM_MAX_NUM = 12,
|
|
};
|
|
|
|
typedef struct trade
|
|
{
|
|
char name[CHARACTER_NAME_MAX_LEN + 1];
|
|
|
|
DWORD item_vnum[EXCHANGE_ITEM_MAX_NUM];
|
|
BYTE item_count[EXCHANGE_ITEM_MAX_NUM];
|
|
DWORD item_metin[EXCHANGE_ITEM_MAX_NUM][ITEM_SOCKET_SLOT_MAX_NUM];
|
|
TPlayerItemAttribute item_attr[EXCHANGE_ITEM_MAX_NUM][ITEM_ATTRIBUTE_SLOT_MAX_NUM];
|
|
|
|
BYTE accept;
|
|
DWORD elk;
|
|
} TExchangeData;
|
|
|
|
public:
|
|
CPythonExchange();
|
|
virtual ~CPythonExchange();
|
|
|
|
void Clear();
|
|
|
|
void Start();
|
|
void End();
|
|
bool isTrading();
|
|
|
|
// Interface
|
|
|
|
void SetSelfName(const char *name);
|
|
void SetTargetName(const char *name);
|
|
|
|
char *GetNameFromSelf();
|
|
char *GetNameFromTarget();
|
|
|
|
void SetElkToTarget(DWORD elk);
|
|
void SetElkToSelf(DWORD elk);
|
|
|
|
DWORD GetElkFromTarget();
|
|
DWORD GetElkFromSelf();
|
|
|
|
void SetItemToTarget(DWORD pos, DWORD vnum, BYTE count);
|
|
void SetItemToSelf(DWORD pos, DWORD vnum, BYTE count);
|
|
|
|
void SetItemMetinSocketToTarget(int pos, int imetinpos, DWORD vnum);
|
|
void SetItemMetinSocketToSelf(int pos, int imetinpos, DWORD vnum);
|
|
|
|
void SetItemAttributeToTarget(int pos, int iattrpos, BYTE byType, short sValue);
|
|
void SetItemAttributeToSelf(int pos, int iattrpos, BYTE byType, short sValue);
|
|
|
|
void DelItemOfTarget(BYTE pos);
|
|
void DelItemOfSelf(BYTE pos);
|
|
|
|
DWORD GetItemVnumFromTarget(BYTE pos);
|
|
DWORD GetItemVnumFromSelf(BYTE pos);
|
|
|
|
BYTE GetItemCountFromTarget(BYTE pos);
|
|
BYTE GetItemCountFromSelf(BYTE pos);
|
|
|
|
DWORD GetItemMetinSocketFromTarget(BYTE pos, int iMetinSocketPos);
|
|
DWORD GetItemMetinSocketFromSelf(BYTE pos, int iMetinSocketPos);
|
|
|
|
void GetItemAttributeFromTarget(BYTE pos, int iAttrPos, BYTE * pbyType, short * psValue);
|
|
void GetItemAttributeFromSelf(BYTE pos, int iAttrPos, BYTE * pbyType, short * psValue);
|
|
|
|
void SetAcceptToTarget(BYTE Accept);
|
|
void SetAcceptToSelf(BYTE Accept);
|
|
|
|
bool GetAcceptFromTarget();
|
|
bool GetAcceptFromSelf();
|
|
|
|
bool GetElkMode();
|
|
void SetElkMode(bool value);
|
|
|
|
protected:
|
|
bool m_isTrading;
|
|
|
|
bool m_elk_mode; // ¿¤Å©¸¦ Ŭ¸¯Çؼ ±³È¯ÇßÀ»¶§¸¦ À§ÇÑ º¯Á¾ÀÓ.
|
|
TExchangeData m_self;
|
|
TExchangeData m_victim;
|
|
};
|