Hi,
ich möchte gerne an OnDialogResponse weitere Daten übergeben.
Als Dialogstyle nehme ich die Liste. Nun möchte ich aber nicht das die Daten darin zusehen sind, sondern zum weiteren Verarbeiten einfach übergeben werden.
gruß
Jack
Hi,
ich möchte gerne an OnDialogResponse weitere Daten übergeben.
Als Dialogstyle nehme ich die Liste. Nun möchte ich aber nicht das die Daten darin zusehen sind, sondern zum weiteren Verarbeiten einfach übergeben werden.
gruß
Jack
Das kannst du mit Variablen machen.
z.B Dialogidvar1[MAX_PLAYERS];
etc.
Wenn ich das richtig verstanden habe kann ich in meiner enumeration für die Dialoge einfach ein Array erstellen und darin die Daten rüber schicken.
Wie wird in diesem System dann die eigentliche Dialog ID gespeichert?
Kann ich meine Daten einfach an der Stelle 0 im Array ablegen?
Werde aus deinen Beiträgen nicht wirklich schlau. Was genau willst du denn machen?
Fangen wir mal ganz einfach an. Was für Daten möchtest du an OnDialogResponse übergeben?
Ich habe einen Listen Dialog.
Und ich habe einen Integer Wert. Aufgrund der Liste wird eine SQL-Anweisung ausgeführt. Zum Ausführen dieser SQL-Anweisung brauche ich aber diesen Integer wert.
Wenn ich ShowPlayerDialog aufrufe habe ich lediglich die Liste zur übergabe von Informationen bzw. nur das was der User anklickt... Also das Listitem.
Man könnte eine globale Variable machen, sollte diese Funktion aber mehrmals genutzt werden könnte das zu Bugs und Fehlern führen.
sende mal alles was du beim ShowPlayerDialog machst.
Die bplayerid soll also nun bei OnDialogResponse ankommen damit ich damit weiterarbeiten kann.
Ich habe noch Code der die mit "richtigen" Daten füllt. Also lasst euch von der 0 nicht abschrecken.
new bplayerid = 0;ShowPlayerDialog(playerid,DIA_GIB,DIALOG_STYLE_LIST,title,inv,"Auswählen","Beenden");
Setz doch einfach eine PVar.
Dann musst du nicht über globale Variablen gehen.
Du setzt die PVar bei ShowPlayerDialog und liest diese in OnDialogResponse wieder aus.
Fertig
SetPVarInt(playerid,"bplayerid",0);
Bei OnPlayerDialogResponse
GetPVarInt(playerid,"bplayerid"); // = 0;
DeletePVar(playerid,"bplayerid");//Wieder löschen
Danke ihr beiden hab es jetzt so gemacht.