05.10.2011, 20:34
Como dijo Chaoz, el cуdigo es MUY optimizable, te dejo aca una idea.
Esa es una pequeсa optimizacion que puedo ver estando en el foro, pero podrнas pasar todo a ZCMD & SSCANF, serнa mas veloz. Pero para empezar, esta medianamente bien.
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new tmp[256];
new Message[256];
new gMessage[256];
new pName[MAX_PLAYER_NAME+1];
new iName[MAX_PLAYER_NAME+1];
new idx;
cmd = strtok(cmdtext, idx);
// PM Command
if(strcmp("/MP", cmd, true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, GENERAL, "Uso: /MP [ID] [Mensaje]");
new id = strval(tmp);
gMessage = strrest(cmdtext, idx);
if(!strlen(gMessage)) return SendClientMessage(playerid, GENERAL, "Uso: /MP [ID] [Mensaje]");
if(!IsPlayerConnected(id) || playerid == id) return SendClientMessage(playerid, GENERAL_2, "Ninten DM: No puedes enviar un mensaje a ese jugador!");
GetPlayerName(id,iName,sizeof(iName));
GetPlayerName(playerid,pName,sizeof(pName));
format(Message,sizeof(Message),"Mensaje Privado : %s(%d): %s",iName,id,gMessage);
SendClientMessage(playerid,GENERAL_2,Message);
format(Message,sizeof(Message),"Mensaje Privado : %s(%d): %s",pName,playerid,gMessage);
SendClientMessage(id,GENERAL_2,Message);
PlayerPlaySound(id,1085,0.0,0.0,0.0);
printf("Mensaje Privado: %s",Message);
return 1;
}
return 0;
}