Hallo Community!
Und zwar wollte ich mal fragen wie man das abstellen kann das die Filterscript Dialoge überschrieben werden mit den Gamemode Dialoge?
Weil habe immer dieses Problem das sich diese Überschreiben.
Pascal
Hallo Community!
Und zwar wollte ich mal fragen wie man das abstellen kann das die Filterscript Dialoge überschrieben werden mit den Gamemode Dialoge?
Weil habe immer dieses Problem das sich diese Überschreiben.
Pascal
Wenn du im Gamemode und im Filterscript Dialogid 10 benutzt,
werden beide Dinge ausgeführt (sonst gäbe es keine Konflikte).
Ich glaub auch nicht dass es dafür eine Möglichkeit gibt, aber könnte mich auch irren.
Setze die Dialogids im Filterscript auf 5000 oder so bedenke das es Limits gibt
Und zwar wollte ich mal fragen wie man das abstellen kann das die Filterscript Dialoge überschrieben werden mit den Gamemode Dialoge?
Ich glaub auch nicht dass es dafür eine Möglichkeit gibt, aber könnte mich auch irren.
Es gibt eine Möglichkeit:
Als Include (oder ganz oben) in jedem Code:
new gPlayerDialog[MAX_PLAYERS] = {-1,...};
stock ex_ShowPlayerDialog(playerid, dialogid, style, caption[], info[], button1[], button2[])
{
CallRemoteFunction("RemoveDialog", "d", playerid);
gPlayerDialog[playerid] = dialogid;
return ShowPlayerDialog(playerid, dialogid, style, caption, info, button1, button2);
}
#if defined _HOOK_ShowPlayerDialog
#undef ShowPlayerDialog
#else
#define _HOOK_ShowPlayerDialog
#endif
#define ShowPlayerDialog ex_ShowPlayerDialog
forward RemoveDialog(playerid);
public RemoveDialog(playerid)
{
gPlayerDialog[playerid] = -1;
return 1;
}
OnDialogResponse:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(gPlayerDialog[playerid] == -1) return 1;
gPlayerDialog[playerid] = -1;
//Hier geht's los mit deinen if(dialogid...) Verzweigungen
if(dialogid == DIALOG_1)
{
//...
}
return 1;
}