Guten Tag liebe Brotfischeee,
ich habe ein Problem un zwar bei meinem Login System.
Eig funktioniert es perfekt, allerdings ist es selten der Falle, dass die Daten irgendwie nicht geladen werden.
Ich dachte erst, dass das Script iwie die Daten nicht so schnell wie das Script weitergeht bekommen kann, doch das ist doch eig Quatsch, da er das den Stock ja von oben nach unten verarbeitet.
Könnt ihr mir helfen oder habt ihr eine Idee, wie man das anders machen könnte?
Hier mein Code:
Der Dialog:
else if(dialogid==DIALOG_LOGIN)
{
if(response)
{
if(strlen(inputtext) == 0)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war falsch.\nGebe nun dein richtiges ein:","Login","Abbrechen");
padminlvl[playerid] = 0;
pfraktion[playerid] = 0;
campos(playerid);
return 1;
}
else
{
new query[128];
format(query,sizeof(query),"SELECT * FROM user WHERE Name='%s' AND passwort='%s'",SpielerName(playerid),inputtext);
mysql_function_query(DB,query,true,"OnPasswordResponse","i",playerid);
}
}
else
{
Kick(playerid);
}
return 1;
}
Und der Public:
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,DB);
if(num_rows==1)
{
//Passwort richtig
PlayerPlaySound(playerid, 1063, 0.0, 0.0, 10.0);
//Spieler laden
idx[playerid] = cache_get_field_content_int(0, "id", DB);
pscore[playerid] = cache_get_field_content_int(0, "score", DB);
pgeld[playerid] = cache_get_field_content_int(0, "geld", DB);
padminlvl[playerid] = cache_get_field_content_int(0, "adminlevel", DB);
pfraktion[playerid] = cache_get_field_content_int(0, "fraktion", DB);
pwanteds[playerid] = cache_get_field_content_int(0, "wanteds", DB);
pbank[playerid] = cache_get_field_content_int(0, "bank", DB);
fuhrerschein[playerid] = cache_get_field_content_int(0, "autoschein", DB);
pkampfstyle[playerid] = cache_get_field_content_int(0, "kampfstyle", DB);
jobid[playerid] = cache_get_field_content_int(0, "jobid", DB);
arbeitslosengeld[playerid] = cache_get_field_content_int(0, "arbeitslosengeld", DB);
prank[playerid] = cache_get_field_content_int(0, "rank", DB);
neu[playerid] = cache_get_field_content_int(0, "neu", DB);
pskin[playerid] = cache_get_field_content_int(0, "skin", DB);
npayday[playerid] = cache_get_field_content_int(0, "payday", DB);
pbiz[playerid] = cache_get_field_content_int(0, "biz", DB);
timeban[playerid] = cache_get_field_content_int(0, "tban", DB);
casinochips[playerid] = cache_get_field_content_int(0, "casinochips", DB);
knastid[playerid] = cache_get_field_content_int(0, "prison", DB);
knastzeit[playerid] = cache_get_field_content_int(0, "prisontime", DB);
ausweis[playerid] = cache_get_field_content_int(0, "ausweis", DB);
herkunft[playerid] = cache_get_field_content_int(0, "herkunft", DB);
staatsan[playerid] = cache_get_field_content_int(0, "staatsange", DB);
wohnort[playerid] = cache_get_field_content_int(0, "wohnort", DB);
alter[playerid] = cache_get_field_content_int(0, "older", DB);
cache_get_field_content(0, "ausweisgultig", gultigbis[playerid] ,DB);
kaufenthalt[playerid] = cache_get_field_content_int(0, "knastaufenthalt", DB);
tickets[playerid] = cache_get_field_content_int(0, "pdtickets", DB);
autopunkte[playerid] = cache_get_field_content_int(0, "autopunkte", DB);
boombox[playerid] = cache_get_field_content_int(0, "boombox", DB);
sprayticket[playerid] = cache_get_field_content_int(0, "sprayticket", DB);
SetPlayerFightingStyle(playerid, pkampfstyle[playerid]);
SetPlayerScore(playerid, pscore[playerid]);
loadPlayerCars(playerid);
new string[64];
format(string,sizeof string,"%s hat den Server betreten.",SpielerName(playerid));
SendClientMessageToAll(GRUEN,string);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
SpawnPlayer(playerid);
SetCameraBehindPlayer(playerid);
for(new i=0; i<GetMaxPlayers(); i++)
{
if(padminlvl[i]>0)
{
new ip[16], ipstring[128], ipstring2[128];
GetPlayerIp(playerid,ip,sizeof(ip));
format(ipstring,sizeof ipstring,"IP von %s: %s",SpielerName(playerid),ip);
format(ipstring2,sizeof ipstring2,"%s hat den Server betreten. IP: %s",SpielerName(playerid),ip);
SendClientMessage(i, GRAU, ipstring);
Loginlog(playerid, ipstring2);
}
}
if(isPlayerAnAdmin(playerid, 1))
{
//Anti Hack Anzeige
TextDrawShowForPlayer(playerid,antihackback);
TextDrawShowForPlayer(playerid,antihackheader);
//OOC Chat
if(ochannel==false)
{
TextDrawShowForPlayer(playerid, oocaus);
}
else
{
TextDrawShowForPlayer(playerid, oocan);
}
TextDrawShowForPlayer(playerid, oocanzeige);
}
TogglePlayerControllable(playerid,1);
}
else
{
//Passwort falsch
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das Passwort war falsch.\nGebe nun dein richtiges ein:","Login","Abbrechen");
campos(playerid);
}
Ich hoffe ihr könnt mir helfen.
Danke.
Mit freundlichen Grüßen,
Scripter4.0