guten tach ich hab mal wieder nen problem und zwar ich schreibe grad in meinem gf edit alles um in guis und joa die gehen auch alle aber wenn die den rechten buttom klicken werden sie gekickt weiß jmd woran das liegt?
GUI kickt leute falls man den rechten buttom drückt
- Destroyer1337
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Lösche einfach die Zeile Kick(playerid); unter OnDialogResponse Anscheinend hat ein Noob bei dir das Kick falsch eingefügt
-
aber dann werden die doch nicht gekickt wenn sie sich net einloggen oder? new string[128];
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
if(strlen(inputtext))
{
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring[128];
new loginname[64];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"Falsches Passwort!",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Unlimited Reallife",loginstring,"Login","abbrechen");
gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
}
}
if(dialogid == 12345)
{
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Spieler/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Dieser Benutzer wird bereit verwendet!");
fclose(hFile);
return 1;
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring[128];
new regname[64];
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Welcome, %s",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Unlimited",regstring,"Register","abbrechen");
}
}
}
else
{
Kick(playerid);
}
return 1;
} -
Oder man scriptet es um
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[128];
if(dialogid == 12346 || dialogid == 12347)
{
if(!response) return Kick(playerid);
if(strlen(inputtext))
{
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring[128];
new loginname[64];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"Falsches Passwort!",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Unlimited Reallife",loginstring,"Login","abbrechen");
gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
}
return 1;
}
if(dialogid == 12345)
{
if(!response) return Kick(playerid);
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Spieler/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "Dieser Benutzer wird bereit verwendet!");
fclose(hFile);
return 1;
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring[128];
new regname[64];
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Welcome, %s",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Unlimited",regstring,"Register","abbrechen");
}
return 1;
}
return 1;
} -
ich werds mal testen vielen dank
mfg nightcore
edit:
klappt nicht -
Naja in dem Fall ist es ja so, dass wenn wer beim Registrieren und Login gekickt wird.. Was willste sonst? Wenn du meinst es bezieht sich auf andere Dialoge, dann schau ob noch weitere Kick drinnen stehen
-
ne jetzt wird gar keiner mehr gekickt das ist mein problem egal welches GUI
-
Ganz sicher das bei dir auch dies steht?
if(!response) return Kick(playerid);
-
joa beim register und beim login
-
Ja gut, ich kann dann bei dir auch ned weiterhelfen.. Weil der Code von mir getestet wurde und bei mir geht es.. Sry
-
-
tut mir leid es lagt daran das ich das return vergessen haben es klappt nun alles vielen dank