問題があり、基本構造を作成しました
struct TRADEBOT_ITEM
{
BYTE Slot;
BYTE Cat;
BYTE Id;
BYTE LVL;
};
struct TRADEBOT_BUFFS
{
short BUFFID;
short Duration;
};
struct TRADEBOT_INVENTORY
{
short itemId;
BYTE level;
BYTE opt;
BYTE opt2;
BYTE opt3;
BYTE NewOption;
BYTE Socket[5];
int Expiration;
};
struct TRADEBOT_REQ
{
short itemId;
BYTE level;
BYTE opt;
BYTE opt2;
BYTE opt3;
BYTE NewOption;
BYTE Socket[5];
};
struct TRADEBOT_MIX
{
TRADEBOT_INVENTORY m_Inventory[64];
TRADEBOT_REQ m_Req[64];
int ReqCnt;
};
struct TRADEBOT_DATA
{
BYTE ID;
BYTE Class;
BYTE SPAWN;
BYTE map;
BYTE X;
BYTE Y;
BYTE Dir;
BYTE Vip;
WORD Strength;
WORD Dexterity;
WORD Vitality;
WORD Energy;
WORD Leadership;
int ZEN;
char Name[10];
TRADEBOT_ITEM m_Item[9];
TRADEBOT_BUFFS m_Buffs[5];
TRADEBOT_MIX m_Mix[142];
};
これは後で次のように使用されます
std::map<int, TRADEBOT_DATA> m_BotData;
次に、ファイルから情報を読み取り、構造体の fil から情報を保存しようとします
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].itemId = ITEMGET(cat,idx);
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].level = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].opt = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].opt2 = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].opt3 = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].NewOption = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].Socket[0] = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].Socket[1] = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].Socket[2] = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].Socket[3] = TokenNumber;
Token = GetToken();
this->m_BotData[ID].m_Mix[ID].m_Req[cntr].Socket[4] = TokenNumber;
this->m_BotData[ID].m_Mix[ID].ReqCnt++;
cntr++;
構造は空白のままで、情報は書き込まれません。そして、私には理由がわかりません。
また、値TRADEBOT_MIX m_Mix[142];
をTRADEBOT_MIX m_Mix[143];
アプリケーションのクラッシュに変更しても、理由がわかりません。どんなアイデアでも大歓迎です。
Visual Studio 2010 を使用しています