Hey, seid einigen Tagen geht mein OnDialogResponse nicht mehr ...
Wenn ich bei meinem Spawnchange Dialog Ingame ein Listitem anklicke, passiert nichts...
Bei meinem showme und login usw Dialog funzt alles...
Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_Farben)
{
if(listitem == 0)
{
SetPlayerColor(playerid,Rot);
}
if(listitem ==1)
{
SetPlayerColor(playerid,Blau);
}
if(listitem ==2)
{
SetPlayerColor(playerid,Gelb);
}
if(listitem ==3)
{
SetPlayerColor(playerid,Orange);
}
if(listitem ==4)
{
SetPlayerColor(playerid,HGruen);
}
if(listitem ==5)
{
SetPlayerColor(playerid,HBlau);
}
if(listitem ==6)
{
SetPlayerColor(playerid,DBlau);
}
if(listitem ==7)
{
SetPlayerColor(playerid,Schwarz);
}
if(listitem ==8)
{
SetPlayerColor(playerid,Weiss);
}
if(listitem ==9)
{
if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,Rot,"Du bist kein 4*Admin!");
SetPlayerColor(playerid,Gold);
}
if(dialogid ==DIALOG_Spawnchange)
{
if(response)
{
if(listitem == 0)
{
SetPVarInt(playerid,"Spawnpunkt",0);
SendClientMessage(playerid,Blau,"Du spawnst nun am Noob-Spawn.");
return 1;
}
if(listitem == 1)
{
SendClientMessage(playerid,Rot,"Der Spawnpunkt ist noch in bearbeitung!");
return 1;
}
if(listitem == 2)
{
SetPVarInt(playerid,"Spawnpunkt",2);
SendClientMessage(playerid,Blau,"Du spawnst nun an deiner Fraktion.");
return 1;
}
}
}
return 1;
}
//------------------
if(dialogid==DIALOG_LOGIN) //Wenn der Dialog-Login aufgerufen wird
{
if(response==0) //Falls er auf Abbrechen drückt, dann
{
SendClientMessage(playerid,Rot,"Du hast den Login Vorgang abgebrochen und wirst deshalb vom Server gekickt!"); //Nachricht an ihn
Kick(playerid); //Er wird gekickt
return 1;
}
if(response==1) //Falls er aber auf Login drückt, dann...
{
if(!strlen(inputtext)) //Hier prüft man ob er überhaupt was eingegeben hat, sonst müsste er ja nichts eingeben und würde sich einloggen koennen...
{
SendClientMessage(playerid,Rot,"Dein angegebenes Passwort war nicht lang genug!"); //Nachricht
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login Vorgang","Dein Account wurde in unserer Datenbank gefunden!\nBitte gib nun dein Passwort ein! ","Login", "Abbrechen"); //Dialog erneut zeigen
return 1;
}
else
{
Login(playerid,MD5_Hash(inputtext)); //Falls es aber was eingegeben wurde wird der Stock Login aufgerufen und ausgeführt.. MD5_Hash bedeutet dass das Passwort nicht wortwürtlich in die Spielerdatei gesetzt wird sondern als String und dann wieder ins richtige umformatiert wird. So schützt man eueren Server vor Hackern, weil Sie dann das PW von diesen nicht wissen...
return 1;
}
}
}
if(dialogid==DIALOG_REGISTER) //Falls der DIALOG_REGISTER aufgerufen wird
{
if(response==0) //Falls er auf abrrechen drückt..
{
SendClientMessage(playerid,Rot,"Du hast den Registrierungs Vorgang abgebrochen und wirst deshalb vom Server gekickt!"); //Nachricht
Kick(playerid); //WIrd gekickt
return 1;
}
if(response==1)
{
if(!strlen(inputtext)) //überprüft ob was eingegeben wird...
{
SendClientMessage(playerid,HGruen,"Dein eingegebenes Passwort war nicht lang genug!"); //Wenn er wieder nichts eingibt
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Willkommen auf [GSL]GermanSpeedLife!\n bitte gib nun dein gewünschtes Passwort ein","Register","Abbrechen"); //Dann Dialog erneut anzeigen....
return 1;
}
else //Falls aber was eingegeben wurde , dann....
{
Register(playerid,MD5_Hash(inputtext)); //Wir die Funktion Register von Vorhin aufgerufen und ausgeführt und das PW wird erneut gehasht...
return 1;
}
}
}
return 1;
}