(Cantidad | Category | Type | Level | Skill | Luck | Option | Exe | Set | Sockets)
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);
}