Eu mi-am facut propria comanda /pm, folosind sscanf si zcmd, ii mult mai eficient decat strtok respectiv strcmp. CMD:pm( playerid, cmdtext[] ) { new to[ 128 ], from[ 128 ]; new sender[ MAX_PLAYER_NAME ], receiver[ MAX_PLAYER_NAME ]; if ( sscanf( cmdtext, "us", cmdtext[ 0 ], cmdtext[ 1 ] ) || ( cmdtext[ 0 ] == INVALID_PLAYER_ID ) || ( cmdtext[ 0 ] == playerid ) ) return SendClientMessage( playerid, 0xFFFFFFF, "Usage: /pm <id> <message>" ); GetPlayerName( playerid, sender, sizeof sender ); GetPlayerName( cmdtext[ 0 ], receiver, sizeof receiver ); format( from, sizeof from, "PM >> %s(ID: %i): %s", sender, playerid, cmdtext[ 1 ] ); SendClientMessage( id, 0xFFFFFFFF, from ); format( to, sizeof to, "PM >> Message sent to %s(ID: %i)", receiver, cmdtext[ 0 ] ); SendClientMessage( playerid, 0xFFFFFFFF, to ); return true; } EDIT: Chiar astazi am gasit o noua metoda mai eficienta de a lucra cu ZCMD. Observa ca nu mai folosesc variabilele pentru ID si MESSAGE, ci doar parametrul cmdtext.