void CCommandManager::CommandMake(LPOBJ lpObj,char* arg) // OK{ if(gServerInfo.m_CommandMakeSwitch == 0) { return; } if(gGameMaster.CheckGameMasterLevel(lpObj,gServerInfo.m_CommandMakeGameMasterLevel) == 0) { gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(106)); return; } int qtd=0,section,type,level,skill,luck,option,exc,set,socket; BYTE ItemSocketOption[MAX_SOCKET_OPTION] = {0xFF,0xFF,0xFF,0xFF,0xFF}; section = this->GetNumber(arg,0); if (section < 0) { qtd = section; section = this->GetNumber(arg,1); type = this->GetNumber(arg,2); level = this->GetNumber(arg,3); skill = this->GetNumber(arg,4); luck = this->GetNumber(arg,5); option = this->GetNumber(arg,6); exc = this->GetNumber(arg,7); set = this->GetNumber(arg,8); socket = this->GetNumber(arg,9); } else { type = this->GetNumber(arg,1); level = this->GetNumber(arg,2); skill = this->GetNumber(arg,3); luck = this->GetNumber(arg,4); option = this->GetNumber(arg,5); exc = this->GetNumber(arg,6); set = this->GetNumber(arg,7); socket = this->GetNumber(arg,8); } for(int n=0;n < socket && socket <= MAX_SOCKET_OPTION;n++) { ItemSocketOption[n] = 0xFE; } (qtd < 0) ? qtd -= qtd*2 : qtd; if (qtd > 0) { for(int n=0;n < qtd;n++) { GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(section,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); } } else { GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(section,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); } gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(107)); gLog.Output(LOG_COMMAND,"[CommandMake][%s][%s] - (Section: %d, Type: %d, Level: %d, Skill: %d, Luck: %d, Option: %d, Exc: %d, Set: %d, Sockets: %d, [Amount: %d])",lpObj->Account,lpObj->Name,section,type,level,skill,luck,option,exc,set,socket,(qtd>0)?qtd:1);}void CCommandManager::CommandMakeSet(LPOBJ lpObj,char* arg) // OK{ if(gServerInfo.m_CommandMakeSwitch == 0) { return; } if(gGameMaster.CheckGameMasterLevel(lpObj,gServerInfo.m_CommandMakeGameMasterLevel) == 0) { gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(106)); return; } int type = this->GetNumber(arg,0); int level = this->GetNumber(arg,1); int skill = this->GetNumber(arg,2); int luck = this->GetNumber(arg,3); int option = this->GetNumber(arg,4); int exc = this->GetNumber(arg,5); int set = this->GetNumber(arg,6); int socket = this->GetNumber(arg,7); BYTE ItemSocketOption[MAX_SOCKET_OPTION] = {0xFF,0xFF,0xFF,0xFF,0xFF}; for(int n=0;n < socket && socket <= MAX_SOCKET_OPTION;n++) { ItemSocketOption[n] = 0xFE; } GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(7,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(8,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(9,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(10,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); GDCreateItemSend(lpObj->Index,0xEB,0,0,GET_ITEM(11,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(107)); gLog.Output(LOG_COMMAND,"[CommandMakeSet][%s][%s] - (Type: %d, Level: %d, Skill: %d, Luck: %d, Option: %d, Exc: %d, Set: %d, Sockets: %d)",lpObj->Account,lpObj->Name,type,level,skill,luck,option,exc,set, socket); }void CCommandManager::CommandDrop(LPOBJ lpObj,char* arg) // OK{ if(gServerInfo.m_CommandMakeSwitch == 0) { return; } if(gGameMaster.CheckGameMasterLevel(lpObj,gServerInfo.m_CommandMakeGameMasterLevel) == 0) { gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(106)); return; } int section = this->GetNumber(arg,0); int type = this->GetNumber(arg,1); int level = this->GetNumber(arg,2); int skill = this->GetNumber(arg,3); int luck = this->GetNumber(arg,4); int option = this->GetNumber(arg,5); int exc = this->GetNumber(arg,6); int set = this->GetNumber(arg,7); int socket = this->GetNumber(arg,8); BYTE ItemSocketOption[MAX_SOCKET_OPTION] = {0xFF,0xFF,0xFF,0xFF,0xFF}; for(int n=0;n < socket && socket <= MAX_SOCKET_OPTION;n++) { ItemSocketOption[n] = 0xFE; } GDCreateItemSend(lpObj->Index,lpObj->Map,(BYTE)lpObj->X,(BYTE)lpObj->Y,GET_ITEM(section,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0); gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(107)); gLog.Output(LOG_COMMAND,"[CommandDrop][%s][%s] - (Section: %d, Type: %d, Level: %d, Skill: %d, Luck: %d, Option: %d, Exc: %d, Set: %d, Sockets: %d)",lpObj->Account,lpObj->Name,section,type,level,skill,luck,option,exc,set,socket);}