Guten Tag,
ich möchte gerne das die Dialoge bei mir nicht übereinander laufen, sondern nacheinander kommen.
Was muss ich dazu machen?
Gruss, Vikt0r
Guten Tag,
ich möchte gerne das die Dialoge bei mir nicht übereinander laufen, sondern nacheinander kommen.
Was muss ich dazu machen?
Gruss, Vikt0r
In der dialogid abfrage also unter OndialogResponse wird ja der Dialogabgefragt..
was da passieren soll .. z.B SetPlayerPos... und dann wenn er da ist den nächsten Dialog zeigen lassen
MFG K3VIN
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == langdialog)
{
if(response == 1)
{
SendLanguageText(playerid,0xFF0000AA,"Du hast als Sprache Deutsch gewählt!","You have chosen the language to english!");
return SetPlayerLanguage(playerid, 1);
}
else if(response == 0)
{
return SetPlayerLanguage(playerid, 2);
}
}
Also hier bei diesem Dialog beispielsweise, wo ist da die Abfrage?
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == langdialog)
{
if(response == 1)
{
SendLanguageText(playerid,0xFF0000AA,"Du hast als Sprache Deutsch gewählt!","You have chosen the language to english!");
return SetPlayerLanguage(playerid, 1);
//ShowPlayerDialog ... blablabla <--- Da der nächste Dialog
}
else if(response == 0)
{
return SetPlayerLanguage(playerid, 2);
//ShowPlayerDialog ... blablabla <--- Da der nächste Dialog
}
}
#include <ocmd>
#define Gruen 0x99FF00FF
#define DIALOG_A 1
#define DIALOG_B 2
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_A)
{
if(response == 0)
{
SendClientMessage(playerid, Gruen, "Du hast 'Abbrechen' gedrückt!");
Kick(playerid);
return 1;
}
if(response == 1)
{
SendClientMessage(playerid, Gruen, "Du hast 'Weiter' gedrückt!");
ShowPlayerDialog(playerid, DIALOG_B, DIALOG_STYLE_MESSAGE, "Test - Box", "Dein Test scheint zu funktionieren ...", "Fertig", "Abbrechen");
return 1;
}
}
if(dialogid == DIALOG_B)
{
if(response == 0)
{
SendClientMessage(playerid, Gruen, "Du hast 'Abbrechen' gedrückt!");
Kick(playerid);
return 1;
}
if(response == 1)
{
SendClientMessage(playerid, Gruen, "Dein Test hat funktioniert.");
return 1;
}
}
return 1;
}
ocmd:test(playerid)
{
ShowPlayerDialog(playerid, DIALOG_A, DIALOG_STYLE_MESSAGE, "Test - Box", "Drücke 'Weiter', um zur nächsten Box zu gelangen!", "Weiter", "Abbrechen");
return 1;
}
Hier ein kleines Anwendungsbeispiel.
MfG
Eliot Ness