Hallo,
Ich möchte euch Zeigen wie ihr ein Autospawnt mit einem Dialog.(Unten gibt es die Beschreibungen)
Wir machen als erstes oben 4 #define's damit sich die IDs nicht überschneiden und übersichtlicher ist.
Wir nennen sie jetzt mal so:
#define AUTO_1 1 // falls vergeben ändern !!
#define AUTO_2 2// falls vergeben ändern !!
#define AUTO_3 3// falls vergeben ändern !!
#define AUTO_4 4// falls vergeben ändern !!
Und 3 News damit wir die Zahlen weitergeben, um nachher das Auto zu erstellen.
new vehid, color1,color2;
Das bedeutet das anstatt bei ShowPlayerDialog eine Zahl ein Wort steht damit man sich so viele Zahlen merken muss.
Wenn wir oben das definiert haben gehen wir under OnPlayerCommandText und erstellen ein neuen Befehl.
public OnPlayerCommandText(playerid, cmdtext[])//Der Public, wo die Commands ausgeführt werden.
{
if (strcmp("/cv", cmdtext, true, 10) == 0)//Der Command welcher er heißen soll wir nennen ihn mal /cv.
{
ShowPlayerDialog(playerid,AUTO_1,DIALOG_STYLE_INPUT,"Setp 1/4","Gebe die ID des Autos ein.","Weiter","Schließen"); // Das Dialog was geöffnet werden soll wenn man den Befehl eingibt. Wir nehmen das Style Input damit ein Input Fenster sich öffnen.
return 1;
}
return 0;
}
Dann gehen wir unter onDialogResponse und erstellen die Dialogids.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == AUTO_1)// Die Dialogid von AUTO_1 ist die ID womit wir die VehicleID eingeben.
{
if(response) // das Dient das wir denn ersten Button benutzen.
{
if(strval(inputtext) < 400 || strval(inputtext) > 611) return ShowPlayerDialog(playerid,AUTO_1,DIALOG_STYLE_INPUT,"(error)Setp 1/4","Gebe die ID des Autos ein.","Weiter","Schließen");// Das dient dazu damit kein Nicht verfügbares Auto erstellt wird und keine Unötigen Crash auslöst.
ShowPlayerDialog(playerid,AUTO_2,DIALOG_STYLE_INPUT,"Setp 2/4","Gebe die ID der ersten Farbe an.","Weiter","Zurück");//Hier Geht es dann weiter zum Dialog 2 wo wir die Erste Farbe auswählen.
vehid = strval(inputtext); // Das heißt das das was wir eingeben der Variable übergeben
}
return 1;
}
if(dialogid == AUTO_2)// Das ist das 2 Dialog wo wir die Erste Farbe auswählen.
{
if(response) // das Dient das wir denn ersten Button benutzen.
{
if(strval(inputtext) < 0 || strval(inputtext) > 126)return ShowPlayerDialog(playerid,AUTO_2,DIALOG_STYLE_INPUT,"(Error)Setp 3/4","Gebe die ID der zweite Farbe an.","Weiter","Zurück");//Das Dient dazu das wir keine Nicht verfügbaren Color IDS erzeugen.(Die Vllt zu Crash verursachen)
ShowPlayerDialog(playerid,AUTO_2,DIALOG_STYLE_INPUT,"Setp 3/4","Gebe die ID der zweite Farbe an.","Weiter","Zurück");// Hier Wählen wir die 2 Farbe aus.
color1 = strval(inputtext);// Das heißt das das was wir eingeben der Variable übergeben
}else{ShowPlayerDialog(playerid,AUTO_1,DIALOG_STYLE_INPUT,"Setp 2/4","Gebe die ID der ersten Farbe an.","Weiter","Zurück");}// Sollte ein Fehler beim Eingeben sein so kann man zurück gehen.
return 1;
}
if(dialogid == AUTO_3)// Das ist das 3 Dialog wo wir die 2 Farbe auswählen
{
if(response) // das Dient das wir denn ersten Button benutzen.
{
if(strval(inputtext) < 0 || strval(inputtext) > 126)return ShowPlayerDialog(playerid,AUTO_3,DIALOG_STYLE_INPUT,"(Error)Setp 3/4","Gebe die ID der zweite Farbe an.","Weiter","Zurück");//Das Dient dazu das wir keine Nicht verfügbaren Color IDS erzeugen.(Die Vllt zu Crash verursachen)
ShowPlayerDialog(playerid,AUTO_2,DIALOG_STYLE_INPUT,"Setp 4/4","Klicke auf erstellen um das Auto zu spawnen.","Erstellen","Zurück");
color2 = strval(inputtext);// Das heißt das das was wir eingeben der Variable übergeben
}
else{ShowPlayerDialog(playerid,AUTO_2,DIALOG_STYLE_INPUT,"Setp 3/4","Gebe die ID der zweite Farbe an.","Weiter","Zurück");}// Sollte ein Fehler beim Eingeben sein so kann man zurück gehen.
return 1;
}
if(dialogid == AUTO_4)// Das ist das 4 Dialog wo alles zusammen kommt und das Auto spawnt.
{
if(response) // das Dient das wir denn ersten Button benutzen.
{
new Float:X,Float:Y,Float:Z; // Wir erstellen hier 3 Floats die X, Y und Z Coods damit wir nachher die Position vom Spieler raus bekommen.
GetPlayerPos(playerid,X,Y,Z);// Hier Holen wir die Position von den Spieler raus für das Auto.
AddStaticVehicle(vehid,X,Y,Z,color1,color2,-1);// Hier Packen wir alles zusammen die CarID, Color1 und Color2 die wir in den Dialogs eingegeben haben. (Die -1 steht für das Respawnen(-1 = Nie))
}
else{ShowPlayerDialog(playerid,AUTO_2,DIALOG_STYLE_INPUT,"Setp 3/4","Gebe die ID der zweite Farbe an.","Weiter","Schließen");}// Sollte ein Fehler beim Eingeben sein so kann man zurück gehen.
return 1;
}
return 1;
}
Ich habe keine Errors doch solltet ihr es nicht hinbekommen so habt ihr hier nochmal die PWN.
http://jerome.mp-reallife.de/pwn/veh.pwn
Hoffe das es gut ist Kritik erwünscht, Verbesserung auch.
MFG GamerXIOS.
E²:News verändert & Einige Sachen verändert.
E³:Titel verändert.
E²*²:#defines verändert.