Verständlicher ist das ganze mit dem stock "strget", welches
den komplizierten strtok Befehl um einiges leichter macht.
Zum Beispiel:
if(strcmp(strget(cmdtext,0),"/me",true)==0)
{
if(strlen(strget(cmdtext,1)==0) return SendClientMessage(playerid,COLOUR_RED,"Benutze: /me [AKTION]"); // Falls jemand nur /me eingibt kommt ein Error.
new aktion[200]=cmdtext; // Die Variable hat nun den kompletten eingegeben Text eingespeichert.
new name[MAX_PLAYER_NAME]; // Variablenerstellung zum Speichern des Namens
GetPlayerName(name,sizeof(name)); // Spielername in die Variable speichern
strdel(aktion,0,4); // wir löschen das /me aus der Variable, damit nicht da steht: "/me USER trinkt Wein."
format(aktion,sizeof(aktion),"%s %s",name,aktion); // Formatieren des Ausgabetextes
new Float:x,Float:y,Float:z; // Variablenerstellung für die Koordinaten des Spielers
GetPlayerPos(playerid,x,y,z); // Koordinaten werden hineingespeichert
for(new i=0;i<MAX_PLAYERS;i++) // ALle Spieler werden überprüft,
{
if(!IsPlayerConnected(i)) continue; // Wenn sie nicht mit dem Server verbunden sind, -> Weiter
if(!IsPlayerInRangeOfPoint(i,5,x,y,z)) continue; // Wenn sie nicht in Reichweite des Spielers sind -> Weiter
SendClientMessage(i,string); // Ausgabetext für alle Spieler die in Reichweite des Punktes sind.
}
return 1;
}
Hoffe ich konnte helfen