ServersMU - Comunidad

Zona Programadores => Sources => Mensaje iniciado por: Applayo en Abril 21, 2021, 05:27:32 pm

Título: Command Make Set to other player
Publicado por: Applayo en Abril 21, 2021, 05:27:32 pm

i bring you one of useful commands, Giving player a set (similar with /makeset command)


[b]CommandManager.h[/b]

[code]COMMAND_SET = Next to Last Index,

bool Commandset(LPOBJ lpObj,char* arg);
[/code]

[b]CommandManager.cpp[/b]

[code]case COMMAND_SET:
Result = Commandset(lpObj,argument);
break;[/code]

[code]bool CCommandManager::Commandset(LPOBJ lpObj,char* arg) // OK
{

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);

char name[11] = {0};

this->GetString(arg,name,sizeof(name),0);

LPOBJ lpTarget = gObjFind(name);

if(lpTarget == 0)
{
gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(edit your message.txt));
return 0;
}

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(lpTarget->Index,0xEB,0,0,GET_ITEM(7,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0);
GDCreateItemSend(lpTarget->Index,0xEB,0,0,GET_ITEM(8,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0);
GDCreateItemSend(lpTarget->Index,0xEB,0,0,GET_ITEM(9,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0);
GDCreateItemSend(lpTarget->Index,0xEB,0,0,GET_ITEM(10,type),level,0,skill,luck,option,-1,exc,set,0,0,ItemSocketOption,0xFF,0);
GDCreateItemSend(lpTarget->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(edit your message.txt));

gLog.Output(LOG_COMMAND,"[Commandset][%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);


return 1;
}
[/code]

[b]Command.txt[/b]

[code]83 "/Set" 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 //set <Player Name> <item> <level> <skill> <luck> <option> <exe> <set> <socket>[/code]

Credito: Ifreat
Título: Re: Command Make Set to other player
Publicado por: robins1998 en Mayo 27, 2021, 02:32:03 am
Very helpful, thanks for sharing.