ServersMU - Comunidad
Zona Programadores => Sources => Mensaje iniciado por: Applayo en Abril 25, 2021, 12:40:19 am
-
Olá novamente!
Bom, agora venho disponibilizar um comando que me pediram, ele é para adicionar pk em usuários (sem a necessidade de ser ADM)
No es una dirección de gifv válida
[b]CommandManager.cpp[/b]
Em [color=blue][b]bool CCommandManager::ManagementCore(LPOBJ lpObj, char * message, int Npc)[/b][/color] procure pela [b]case COMMAND_PK_CLEAR[/b] e no final do break; colocar:
[code]case COMMAND_ADDPK:
Result = CommandAddPK(lpObj,argument,Npc);
break;[/code]
logo depois, encontre a função [color=blue][b]bool CCommandManager::CommandPKClear(LPOBJ lpObj, char * arg, int Npc)[/b][/color] e coloque esta função abaixo:
[code]bool CCommandManager::CommandAddPK(LPOBJ lpObj,char* arg, int Npc) // OK
{
if(lpObj->PKLevel >= 6)
{
gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(871));
if (Npc >= 0)
{
GCChatTargetNewSend(lpObj,Npc,gMessage.GetMessage( 871));
}
return 0;
}
lpObj->PKLevel = 6;
GCPKLevelSend(lpObj->Index,lpObj->PKLevel);
gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(872));
if (Npc >= 0)
{
GCChatTargetNewSend(lpObj,Npc,gMessage.GetMessage( 872));
}
gLog.Output(LOG_COMMAND,"[CommandAddPK][%s][%s] - (PKLevel: %d)",lpObj->Account,lpObj->Name,lpObj->PKLevel);
return 1;
}[/code]
[b]
CommandManager.h[/b]
aumente a definição [b]#define MAX_COMMAND 82[/b] para:
[b]#define MAX_COMMAND 83[/b]
OBS.: Se você adicionou comandos ao seu emulador, saberá como esta parte funciona no cabeçalho.
[b]Command.txt[/b]
[82 "/addpk" 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 1 0 0 0 //addpk
[b]Message.txt[/b]
[code]871 "You're already PK!"
872 "Increased PK level!"[/code]
Créditos: Denis Alves
-
Very helpful, thanks for sharing.