hey, würde gerne ocmd etwas lernen und wollte deshalb einen ganz einfachen Befehl machen wie
/anstupsen, also dass dann kommt Du wurdest von xxx angestuppst oder sowas
hab bis jetzt so angefangen
ocmd:anstupsen
{
new string[128];
return 1;
}
Anstupsen
- FoX
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Du brauchst einen String, den Namen vom Spieler und den Befehl mit SSCanf.
Den Befehl hast du ja schon. Dann würde ich als nächstes "new pID;" machen.
Anschleißend musst du mit sscanf auslesen, welchen Namen er eingegeben hat und im String formatieren. Ich würde es so machen:
ocmd:anstupsen(playerid,params[])
{
new string[128], pID;
new name[MAX_PLAYER_NAME];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Farbe,Error);
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(string,128,"Du wurdest von %s angestupst",name);
SendClientMessage(pID,Farbe,string);
return 1;
} -
ok, danke muss das name name heißen ?^^
-
Ja, das "name" muss "name" heißen, da ich den Namen ja vorher ausgelesen habe.
Darum muss das so bleiben -
ja, aber wenn ich das so mache gehts ja auch oder ?
ocmd:anstupsen(playerid,params[])
{
new string[128], pID;
new test[MAX_PLAYER_NAME];
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Farbe,Error);
GetPlayerName(playerid,test,MAX_PLAYER_NAME);
format(string,128,"Du wurdest von %s angestupst",test);
SendClientMessage(pID,Farbe,string);
return 1;
} -
Ja. Es wird nur ein Error angezeigt, wenn du das new nicht ändernst.
MFG
-
ok, gut danke
-
breadfish.de
Hat das Thema geschlossen.