Código PHP:
//==================================================
//Função que pega a Index do Char pelo nome
//==================================================
int Get_IndexByName(char *szId)
{
for(int i = gObjPlayer; i < gObjMaxUsr; i++)
{
this->Get_NameID(i,NameID);
if(this->Get_gObjConnect(i) == true)
{
if(strcmp(NameID,szId) == 0)
{
return i;
}
}
}
return FALSE;
}
//=============================================
//Função que pega um parametro base e divide em outros
//=============================================
char Get_Param(char id, char* txt, char* buff)
{
char pMsg[200] = {0};
strcpy(pMsg , txt);
char cnt = 0;
char *pch = strtok(pMsg," ");
while (pch != NULL) {
if(cnt == id) {
strcpy(buff,pch);
return id;
}
pch = strtok (NULL," ");
cnt ++;
}
return 0;
}
//=================================================
//Comando /setzen usado por GameMasters
//=================================================
void ChatSendSetZen(int aIndex,char* Message)
{
SYSTEMTIME hora; GetLocalTime(&hora);
OBJECTSTRUCT* gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
int Count, bIndex;
int CtlCode = CmdSQL->GetFieldInt("Character","CtlCode","WHERE Name = '%s'",gObj->Name);
if(configs.CmdSetZen.ativo == 0)
{
Send->SendPMMsg(aIndex,INACTIVETEXT);
return;
}
if(configs.CmdSetZen.onlygm == 1 && CtlCode < 8) {
Send->SendPMMsg(aIndex,ISNOTGM);
return;
}
if(!_strcmpi(Message,configs.CmdSetZen.string)) {
Send->SendPMMsg(aIndex,"Usa-se: %s <Quant.>",configs.CmdSetZen.string);
return;
}
memset(Name,0,10);
getvalue.Get_Param(0,Message,Name);
bIndex = getvalue.Get_IndexByName(Name);
memset(Buffer,0,255);
getvalue.Get_Param(1,Message,Buffer);
Count = atoi(Buffer);
if(bIndex == 0) {
Send->SendPMMsg(aIndex,NOTUSER);
return;
}
if(Count < 0 || Count > 2000000000)
{
Send->SendPMMsg(aIndex,"Valor não permitido.");
return;
}
setvalue.Set_gObjValue(bIndex,gObjZen,Count);
GCMoneySend(bIndex,getvalue.Get_gObjInt(bIndex,gObjZen));
printf("%02d:%02d:%02d - [%s][%s] Set Zen %s, %d\n",hora.wHour,hora.wMinute,hora.wSecond,gObj->AccountID,gObj->Name,Name,Count);
sprintf(Logger,"%02d:%02d:%02d - [%s][%s] Set Zen %s, %d",hora.wHour,hora.wMinute,hora.wSecond,gObj->AccountID,gObj->Name,Name,Count);
Send->CreateLog(0,Logger);
}
Espero que tenha ajudado.