you can't use sscanf under OnPlayerCommandText because it used to be with CMD: / zcmd commands,
cmdtext isn't empty cmdtext has the full command you wrote not just the thing you write after the command,
PHP код:
public OnPlayerCommandText(playerid, cmdtext[])
{
new areawhere = -1;
for(new i = 0; i < strlen(cmdtext); i++) {
switch(cmdtext[i]) {
case ' ': {
areawhere = i;
break;
}
}
}
if(areawhere == -1) areawhere = strlen(cmdtext)+1;
if(strfind(cmdtext,"/pm", true, 0) != -1/*strcmp("/pm", cmdtext, true, 10) == 0*/)
{
new str[128],id,text[50],pname[MAX_PLAYER_NAME];
if(sscanf(cmdtext[areawhere], "us[50]", id, text)) return SendClientMessage(playerid, 0xFF0000FF, "Usage: /pm <id> <message>");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Player not connected");
if(playerid == id) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: You cannot pm yourself!");
GetPlayerName(id, pname, sizeof(pname));
format(str, sizeof(str), "PM To %s(ID %d): %s", pname, id, text);
SendClientMessage(playerid, 0xFF0000FF, str);
GetPlayerName(playerid, pname, sizeof(pname));
format(str, sizeof(str), "PM From %s(ID %d): %s", pname, playerid, text);
SendClientMessage(id, 0xFF0000FF, str);
return 1;
}
return 0;
}