Heyyo,
habe eine SaveBox versucht zuscripten und da soll man bei dem Befehl /savebox ein Dialog bekommen, wo man auswählen kann was man lagern bzw rausnehmen kann. Und danach wenn man dies ausgewählt hat soll ein InPut Dialog kommen.
Soweit funktioniert das auch jedoch wenn ich dort was eingeben schließt der Dialog einfach ohne irgendwas zu machen.
Befehl:
ocmd:savebox(playerid,params)
{
if(IsPlayerInRangeOfPoint(playerid,5,-348.20001, 2771.3999, 91.4) | IsPlayerInRangeOfPoint(playerid,5,-1316.1, 2319.5, 128.60001))
{
ShowPlayerDialog(playerid,DIALOG_SAVEBOX1,DIALOG_STYLE_LIST,"Was willst du reinlegen/rauslegen?","Drogen","Weiter","Abbrechen");
}
return 1;
}
Dialoge:
if(dialogid==DIALOG_SAVEBOX1)
{
if(response==0)
{
}
if(response==1)
{
if(listitem==0)
{
new string1[200];
format(string1,sizeof(string1),"Du hast %i Drogen dabei und %i in der SaveBox.",GetPVarInt(playerid,"Drogen"),GetPVarInt(playerid,"SBDrogen"));
ShowPlayerDialog(playerid,DIALOG_SAVEBOX2,DIALOG_STYLE_INPUT,"Wie viele Drogen willst du reinlegen?",string1,"Reinlegen","Rausnehmen");
}
}
}
if(dialogid==DIALOG_SAVEBOX2)
{
if(response==0)//Rausnehmen
{
if(inputtext[10]<1)
{
}
else
{
if(GetPVarInt(playerid,"SBDrogen")>=inputtext[10])
{
new string1[200];
SetPVarInt(playerid,"SBDrogen",GetPVarInt(playerid,"SBDrogen")-inputtext[0]);
SetPVarInt(playerid,"Drogen",GetPVarInt(playerid,"Drogen")+inputtext[0]);
format(string1,sizeof(string1),"Du hast %i Drogen aus der SaveBox genommen.",inputtext[0]);
SendClientMessage(playerid,gruen,string1);
}
}
}
if(response==1)//Reinlegen
{
if(inputtext[10]<1)
{
}
else
{
if(GetPVarInt(playerid,"Drogen")>=inputtext[10])
{
new string2[200];
SetPVarInt(playerid,"SBDrogen",GetPVarInt(playerid,"SBDrogen")+inputtext[0]);
SetPVarInt(playerid,"Drogen",GetPVarInt(playerid,"Drogen")-inputtext[0]);
format(string2,sizeof(string2),"Du hast %i Drogen in die SaveBox gelegt..",inputtext[0]);
SendClientMessage(playerid,gruen,string2);
}
}
}
}