Hier werde ich euch mal zeigen, wie man Commands auf andere Spieler erstellen kann.
Es ist für manche nicht neu, aber hier wird es häufig gefragt!
Notiz: Bevor ihr startet, braucht ihr ein Include von ocmd & sscanf.
1. Ein Command auf einen anderen Spieler erstellen
Ein normales CMD, das einem Spieler/ID (der, der von genannt wurde) eine Nachricht schickt und gleichzeitig killt.
ocmd:hi(playerid, params[]) // so wird euer CMD ausschauen, indem ihr OCMD benutzt
{
new otherplayerid; //otherplayerid ist der Spieler/ID, die wir eingetippt haben, z.B. /hi 5 wird eine Nachricht an ID 5 senden und ihn danach killen. /hi 2 wird eine Nachricht an ID 2 senden und ihn danach killen...
if(sscanf(params, "u", otherplayerid)) return SendClientMessage(playerid, FARBE, "Benutze: /hi [playerid/name]"); //spaltet den string
else if(!IsPlayerConnected(otherplayerid)) return SendClientMessage(playerid, FARBE, "Dieser Spieler ist nicht Online");//Wenn man ein CMD auf einen anderen Spieler benutzt, muss man immer abfragen ob er überhaupt connected ist! Wenn er connected ist, wird es dein CMD exekutieren, wenn nicht,wirds gestoppt und teilt zurück "Er ist nicht Online".
else
{
SendClientMessage(otherplayerid,FARBE,"Hey, ich werde dich killen :D!");//wenn es erfolgreich ausgeführt wurde, sendet es ihm eine Nachricht und seine HP auf 0
SetPlayerHealth(otherplayerid,0);
}
return 1;
}
Das wärs schon... Izi oder?
Um eine Nachricht mitzuteilen, wo beide Namen erwähnt werden, müsst ihr sowas machen:
new otherplayerid,gName[25],pName[25],string [100];
GetPlayerName(playerid, pName, 24);
GetPlayerName(otherplayerid, gName, 24);
format(string, sizeof(string),"Sein Name ist %s und dein Name ist %s,",gName,pName);
SendClientMessage(playerid, FARBE,string);
Erklärung:
otherplayerid=die ID vom benutzten Spieler/ID -- gName= das benutzen wir, um den Namen vom Spieler anzuzeigen -- pName= das gleiche nur für unseren Namen -- string=Muss man immer erstellen, wenn man 'format' zum Anzeigen benutzt. Es muss nicht unbedingt 'string' heißen, könnt ihr auch nennen wie ihr wollt :_)
GetPlayerName(playerid, pName, 24);
playerid - Der Spieler der das eingegeben hat, in diesem Fall 'Du'! pName=benutzen wir um unseren Namen anzuzeigen, wie schon oben erwähnt 'pName=der Spieler der das eingegeben hat'! 24- die maximale Anzahl der Zeichen vom Usernamen. In SAMP ist das 24, somit 24.
GetPlayerName(otherplayerid, gName, 24);
otherplayerid= die ID auf welchen Spieler das gesetzt wird, z.B. ID 2 oder 5 wie oben im Beispiel erwähnt. gName= der Name vom anderen Spieler, der dann angezeigt wird. 24=24- die maximale Anzahl der Zeichen vom Usernamen. In SAMP ist das 24, somit 24.
format(string, sizeof(string),"His name is %s and yours is %s,",gName,pName);
SendClientMessage(playerid, yourcolor,string);
Wenn wir einen Text anzeigen möchten, der nur aus Buchstaben entsteht, benutzen wir '%s'. In dem Fall benutzen wir ''%s', da wir ja den Spielernamen anzeigen wollen.
Mehr über 'format' findest du hier