CMD:pm(playerid, cmdtext[]) { new idx = strfind(cmdtext, " ", true); if((cmdtext[0] == EOS) || ((cmdtext[0] == '\1') && (cmdtext[1] == EOS)) || (idx == -1)) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"Usage: /pm [ID] [MESSAGE]"); return 1; } if(cmdtext[idx + 1] == EOS) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"Usage: /pm [ID] [MESSAGE]"); return 1; } cmdtext[idx++] = EOS; new id = strval(cmdtext); if(!IsPlayerConnected(id)) { SendClientMessage(playerid,COLOR_LIGHTBLUE,"/pm : Wrong Player ID"); return 1; } if(playerid == id) { SendClientMessage(playerid,COLOR_YELLOW,"You cannot PM yourself."); return 1; } new string[256]; GetPlayerName(id, string, MAX_PLAYER_NAME); format(string, sizeof string, "[PM] Message send to %s(%d): %s", string, id, cmdtext[idx]); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); GetPlayerName(playerid, string, MAX_PLAYER_NAME); format(string, sizeof string, "[OOCPM] Message from %s(%d): %s", string, playerid, cmdtext[idx]); SendClientMessage(id, COLOR_LIGHTBLUE, string); PlayerPlaySound(id, 1057, 0.0, 0.0, 0.0); printf("PM: %s", cmdtext[idx]); return 1; }
CMD:pm(playerid, params[])
{
new str[256], str2[256], id, Name1[MAX_PLAYER_NAME], Name2[MAX_PLAYER_NAME];
if(sscanf(params, "us", id, str2))
{
SendClientMessage(playerid, 0xFF0000FF, "Usage: /pm <id> <message>");
return 1;
}
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Player not connected");
if(playerid == id) return SendClientMessage(playerid, 0xFF0000FF, "ERROR: You cannot pm yourself!");
{
GetPlayerName(playerid, Name1, sizeof(Name1));
GetPlayerName(id, Name2, sizeof(Name2));
format(str, sizeof(str), "PM To %s [ID %d]: %s", Name2, id, str2);
SendClientMessage(playerid, yellow, str);
format(str, sizeof(str), "PM From %s [ID %d]: %s", Name1, playerid, str2);
SendClientMessage(id, yellow, str);
}
return 1;
}
Better use sscanf
sscanf here: https://sampforum.blast.hk/showthread.php?tid=120356 and following PM cmd pawn Код:
Tested | trusted | works |
CMD:pm(playerid, params[])
{
new string[128], message[128], id;
if(sscanf(params, "uz", id, message))
{
SendClientMessage(playerid, -1, "SYNTAX: /pm [playerid] [message]");
}
else
{
if(IsPlayerConnected(id))
{
if(strlen(message) >= 1)
{
format(string, sizeof(string), "((PM to %s(ID: %d): %s)) ", GetName(id), id, message);
SendClientMessage(playerid, 0xFFFF00FF, string);
format(string, sizeof(string), "((PM from %s(ID: %d): %s)) ", GetName(playerid), playerid, message);
SendClientMessage(id, 0xFFFF00FF, string);
}
else
{
SendClientMessage(playerid, -1, "SYNTAX: /pm [playerid] [message]");
}
else
{
SendClientMessage(playerid, -1, "That player is not connected.");
}
}
return 1;
}
if(sscanf(params, "uz", id, message))