wie setze ich einen string für
command z.b. /invite %s ??
new String[128];
format......
bin um jede hilfe dankbar
also ich muss da die id oder k.a
MFG Fishtime9
wie setze ich einen string für
command z.b. /invite %s ??
new String[128];
format......
bin um jede hilfe dankbar
also ich muss da die id oder k.a
MFG Fishtime9
Kleines OCMD Beispiel;
//-OCMD-INVITE-//
ocmd:invite(playerid,params[])
{
new pID,fID;
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/invite [playerid] [FraktionsID]");
if(GetPVarInt(playerid,"Rang") == 6)
{
if(isPlayerInFrakt(playerid, GetPVarInt(pID, "Fraktion")))
{
SendClientMessage(playerid,ROT,"Spieler ist bereits in einer Fraktion.");
} else {
SetPVarInt(pID,"Fraktion",fID);
SendClientMessage(playerid,BLAU,"Erfolgreich zur Fraktion eingeladen.");
}
} else {
SendClientMessage(playerid, ROT, "Du bist kein Leader!");
}
return 1;
}
Alles anzeigen
new pID ?
wie kann ich denn player id in
mein commandtext einbavun also sprich
if(srcmp"/heiraten pID",cmdtext, true, 10)==0)
{
new pID; ? so ?
}
oder k.a du weisst ja was ich meine , ich möchte es nicht über ocmd machen da ich es nicht so gescheid durchblicke! am ende sollte man halt ingame:
/heiraten [playerid]
können !
ich bin dank bar für jeden beitrag im voraus!
MFG Fishtime9!
Habe ich das richtig verstanden, dass du einfach /heiraten machen
möchtest und dann soll er der andere eine Frage bekommen ob er auch
heiraten möchte? Wenn du das so meinst, dann musste du es so machen !
ocmd:heiraten(playerid,params)
{
new Name[123];
GetPlayerName(playerid,Name,123);
new pID;
if(sscanf(params,"d",pID))
{
new string[54],stri[123];
new sname[124];
GetPlayerName(pID,sname,124);
format(string,sizeof(string),"Du möchtest %s heiraten",sname);
SendClientMessage(playerid,string);
format(stri,sizeof(stri),"Möchtest du %s heiraten",Name);
SendClientMessage(pID,string);
}
}
Wenn du das noch ausbauen möchtest, kannst mich ja in diesem Thread
weiter kontaktieren!
Bei OCMD da mit
if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/invite [playerid] [FraktionsID]");
Alles anzeigenHabe ich das richtig verstanden, dass du einfach /heiraten machen
möchtest und dann soll er der andere eine Frage bekommen ob er auch
heiraten möchte? Wenn du das so meinst, dann musste du es so machen !
ocmd:heiraten(playerid,params)
{
new Name[123];
GetPlayerName(playerid,Name,123);
new pID;
if(sscanf(params,"d",pID))
{
new string[54],stri[123];
new sname[124];
GetPlayerName(pID,sname,124);
format(string,sizeof(string),"Du möchtest %s heiraten",sname);
SendClientMessage(playerid,string);
format(stri,sizeof(stri),"Möchtest du %s heiraten",Name);
SendClientMessage(pID,string);
}
}
Wenn du das noch ausbauen möchtest, kannst mich ja in diesem Thread
weiter kontaktieren!
Ehm ja.
Sei mal ehrlich, wofür soviele Strings?
Du brauchst keine 2 Strings für 2 Texte. 1 String für 2 Texte hätten es auch getan.
Außerdem setzt du die Länge der Strings für die Namen viel zu hoch. 123? 124? Wtf?
Schonmal überlegt, dass ein Name nicht mehr als 24 Zeichen haben kann? Also, demnächst machst du es so:
new Name[MAX_PLAYER_NAME];
//oder
new Name[24];
Und die Strings sind auch nicht gerade gut. Ein String mit 123 an Länge, obwohl es maximal nur 44 Zeichen sein können...
Das macht mich ganz kirre, die Codes von euch.
@Thread
Damit du Befehle mit mehreren Parametern machen kannst, solltest du dir die Sachen im Godfather mal anschauen, oder benutz einfach ein Command-Processor wie z.B. rCMD.
Die sind schnell (merkt man sowieso nicht) und gut. Dann noch das sscanf2 Plugin holen, und alles läuft wie geschmiert.
Jo es sind zu viele Strings, aber es soll ja kein Copy und Paste sein. Der
Ansatz ist ja richtig, werde mich zukünftig bemühen