Heyy... bei mir ist es manchmal so, das wen man schon in der Datenbank steht also schon Regestriert ist und sich dan einloggen will, muss man sich neu Regestrieren, aber die alten Files werden übernommen
Aber das kommt nur manchmal vor.. Ich weiß echt nicht mehr weiter, ich benutze das Login und Register System von Julian(RFT) mit <MySQL>
naya hier mal Checkaccount,.. daran sollte es ja eigentlich liegen.
Erstmal das Einloggen Und Register Dialog
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1472.2893,-1627.4072,14.0469);
ApplyAnimation(playerid, "PED", "SEAT_idle", 10000.0,0,0,0,1,0);
SetPlayerFacingAngle(playerid,32);
SetPlayerCameraPos(playerid, 1471.1930,-1624.6537,14.0469);
SetPlayerCameraLookAt(playerid, 1472.7893,-1627.0072,14.0469);
if(mysql_CheckAccount(PlayerName[playerid]) != 0)
{
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Wilkommen auf Orange-Gaming.\nDu kannst dich nun einloggen", "Login", "Abrechen");
return true;
}
else
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", "Wilkommen auf Orange-Gaming.\nDu kannst dich nun Regestrieren", "Register", "Abrechen");
return true;
}
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 0:
{
if(!inputtext[0])
{
SendClientMessage(playerid, Color_White, "Info: Bitte gebe ein Passwort ein");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Wilkommen auf Orange-Gaming.\nDu kannst dich nun einloggen", "Login", "Abrechen");
return true;
}
if(strcmp(inputtext, mysql_GetString("Spieler", "Passwort", "Name", PlayerName[playerid]), true) == 0)
{
SetPVarInt(playerid, "Eingeloggt", 1);
GivePlayerMoney(playerid, mysql_GetInt("Spieler", "Geld", "Name", PlayerName[playerid]));
SetPlayerSkin(playerid, mysql_GetInt("Spieler", "Model", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Morde", mysql_GetInt("Spieler", "Morde", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Tode", mysql_GetInt("Spieler", "Tode", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Job", mysql_GetInt("Spieler", "Job", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Rang", mysql_GetInt("Spieler", "Rang", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Dienst", mysql_GetInt("Spieler", "Dienst", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Admin", mysql_GetInt("Spieler", "Admin", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Spielzeit", mysql_GetInt("Spieler", "Spielzeit", "Name", PlayerName[playerid]));
SetPVarInt(playerid, "Levelpoints", mysql_GetInt("Spieler", "Levelpoints", "Name", PlayerName[playerid]));
SetPVarFloat(playerid, "Achse1", floatstr(mysql_GetFloat("Spieler", "Achse1", "Name", PlayerName[playerid])));//1
SetPVarFloat(playerid, "Achse2", floatstr(mysql_GetFloat("Spieler", "Achse2", "Name", PlayerName[playerid])));//1
SetPVarFloat(playerid, "Achse3", floatstr(mysql_GetFloat("Spieler", "Achse3", "Name", PlayerName[playerid])));//1
SendClientMessage(playerid, Color_Green, "Info: Wilkommen auf Orange-Gaming");
SpawnPlayer(playerid);
return true;
}
else
{
SetPVarInt(playerid, "PWFalsch", GetPVarInt(playerid, "PWFalsch")+1);
if(GetPVarInt(playerid, "PWFalsch") < Max_Player_Login_Attemps)
{
SendClientMessage(playerid, Color_Red, "Info: Solltest du dein Passwort zu oft falsch eingeben wirst du gekickt");
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Login", "Wilkommen auf Orange-Gaming.\nDu kannst dich nun einloggen", "Login", "Abrechen");
return true;
}
if(GetPVarInt(playerid, "PWFalsch") == Max_Player_Login_Attemps)
{
SendClientMessage(playerid, Color_Red, "Info: Du hast dein Passwort zu oft falsch eingegeben du wurdest gekickt");
Kick(playerid);
return true;
}
}
}
case 1:
{
if(!inputtext[0])
{
SendClientMessage(playerid, Color_Red, "Info: Passwort zu kurz");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Register", "Wilkommen auf Orange-Gaming.\nDu kannst dich nun einloggen", "Register", "Abrechen");
return 1;
}
SetPVarInt(playerid, "Eingeloggt", 1);
CreatePlayerAccount(PlayerName[playerid], inputtext);
mysql_SetString("Spieler", "Passwort", inputtext, "Name", PlayerName[playerid]);
SendClientMessage(playerid, Color_Green, "Info: Erfolgreich registriert");
SpawnPlayer(playerid);
return true;
}
}
return 1;
}
Jetzt Checkaccount
stock mysql_CheckAccount(sqlplayersname[])
{
new query[128], escstr[MAX_PLAYER_NAME];
mysql_real_escape_string(sqlplayersname, escstr);
format(query, sizeof(query), "SELECT id FROM Spieler WHERE LOWER(Name) = LOWER('%s') LIMIT 1", escstr);
mysql_query(query);
mysql_store_result();
if (mysql_num_rows()==0)return 0;
else
{
new strid[32];
new intid;
mysql_fetch_row(strid);
intid = strval(strid);
return intid;
}
}
Hoffe ihr findet den Fehler
Lg