Hallo Breadfish,
kann mir jemand von euch sagen warum nichts
gespeichert wird?
Hier mal der SpeicherStock:
SQL
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin") == 1 && IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
new name[MAX_PLAYER_NAME];
if(r_LoadSQLEntrance("accounts","name",name))
{
r_mysql_SetInt("Level",SpielerInfo[playerid][pLevel]);
r_mysql_SetInt("Geld", SpielerInfo[playerid][pGeld]);
r_mysql_SetFloat("Health",SpielerInfo[playerid][pHealth]);
r_mysql_SetInt("Fraktion",SpielerInfo[playerid][pFraktion]);
r_mysql_SetInt("AdminLevel",SpielerInfo[playerid][pAdminLevel]);
r_mysql_SetInt("Gebannt",SpielerInfo[playerid][pBanned]);
r_mysql_SetInt("Wanted",SpielerInfo[playerid][pWanted]);
r_mysql_SetInt("PayDay Zeit",SpielerInfo[playerid][pZeitSeitPD]);
r_mysql_SetInt("Respektpunkte",SpielerInfo[playerid][pRespektpunkte]);
r_mysql_SetInt("Leader",SpielerInfo[playerid][pLeader]);
r_mysql_SetInt("FraktRank",SpielerInfo[playerid][pFRank]);
r_mysql_SetInt("Konto",SpielerInfo[playerid][pBank]);
r_mysql_SetInt("Führerschein",SpielerInfo[playerid][pAutoschein]);
r_mysql_SetInt("Motorradschein",SpielerInfo[playerid][pMotorradschein]);
r_mysql_SetInt("Respekt",SpielerInfo[playerid][pRespekt]);
r_mysql_SetInt("Levelkosten",SpielerInfo[playerid][pLevelMoney]);
r_mysql_SetInt("Skin",SpielerInfo[playerid][pSkin]);
r_mysql_SetInt("Eingemietet",SpielerInfo[playerid][pHausRent]);
r_mysql_SetInt("Job",SpielerInfo[playerid][pJob]);
r_mysql_SetInt("Kills", SpielerInfo[playerid][pKills]);
r_mysql_SetInt("Tode", SpielerInfo[playerid][pTode]);
printf("Die Spielerdaten des Spielers %s wurden in der Datenbank gespeichert", name);
r_UnloadSQLEntrance();
}
}
return 1;
}
Alles anzeigen
LoadAccount:
SQL
stock LoadAccount(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(GetPVarInt(playerid,"loggedin") == 1 && IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
{
if(r_LoadSQLEntrance("accounts","name",name))
{
SpielerInfo[playerid][pLevel] = GetPlayerScore(playerid);
SpielerInfo[playerid][pLevel] = r_mysql_GetInt("Level");
SpielerInfo[playerid][pGeld] = r_mysql_GetInt("Geld");
SpielerInfo[playerid][pHealth] = r_mysql_GetFloat("Health");
SpielerInfo[playerid][pFraktion] = r_mysql_GetInt("Fraktion");
SpielerInfo[playerid][pAdminLevel] = r_mysql_GetInt("AdminLevel");
SpielerInfo[playerid][pBanned] = r_mysql_GetInt("Gebannt");
SpielerInfo[playerid][pWanted] = r_mysql_GetInt("Wanted");
SpielerInfo[playerid][pZeitSeitPD] = r_mysql_GetInt("PayDay Zeit");
SpielerInfo[playerid][pRespektpunkte] = r_mysql_GetInt("Respektpunkte");
SpielerInfo[playerid][pLeader] = r_mysql_GetInt("Leader");
SpielerInfo[playerid][pFRank] = r_mysql_GetInt("FraktRank");
SpielerInfo[playerid][pBank] = r_mysql_GetInt("Konto");
SpielerInfo[playerid][pAutoschein] = r_mysql_GetInt("Führerschein");
SpielerInfo[playerid][pMotorradschein] = r_mysql_GetInt("Motorradschein");
SpielerInfo[playerid][pRespekt] = r_mysql_GetInt("Respekt");
SpielerInfo[playerid][pLevelMoney] = r_mysql_GetInt("Levelkosten");
SpielerInfo[playerid][pSkin] = r_mysql_GetInt("Skin");
SpielerInfo[playerid][pHausRent] = r_mysql_GetInt("Eingemietet");
SpielerInfo[playerid][pJob] = r_mysql_GetInt("Job");
SpielerInfo[playerid][pKills] = r_mysql_GetInt("Kills");
SpielerInfo[playerid][pTode] = r_mysql_GetInt("Tode");
printf("Die Spielerdaten des Spielers %s wurden geladen!", name);
r_UnloadSQLEntrance();
}
}
else if(SpielerInfo[playerid][pBanned] = 1)
{
SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
Kick(playerid);
}
SetPVarInt(playerid,"loggedin",1);
return 1;
}
Alles anzeigen
OnPlayerConnect + Login:
SQL
public OnPlayerConnect(playerid)
{
SendClientMessage(playerid,GELB,"Verbindung wird Aufgebaut Bitte Warten ....");
if(mysql_CheckAccount(playerid) == 1)
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
}
else if(mysql_CheckAccount(playerid) == 0)
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Registrieren","Abbrechen");
}
new NamE [MAX_PLAYER_NAME];
new string [48];
GetPlayerName(playerid, NamE, sizeof(NamE) ) ;
format(string, sizeof(string), "%s hat den Server betreten ", NamE) ;
SendClientMessageToAll (LILA, string);
GivePlayerMoney(playerid,50000000);
SetPlayerScore(playerid,20);
return 1;
}
if(dialogid==DIALOG_LOGIN)
{
if(!response) return Kick(playerid);
new query[150];
format(query,150,"SELECT COUNT(*) FROM `Accounts` WHERE `Name` = '%s' AND `Passwort` = '%s'",getName(playerid),inputtext);
mysql_query(query);
mysql_store_result();
mysql_fetch_row(query);
new count = strval(query);
mysql_free_result();
if(count)
{
SendClientMessage(playerid,Color_Green,"Du hast dich erfolgreich eingeloggt!");
SetPVarInt(playerid,"loggedIn",1);
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login fehlgeschlagen","{FF0000}Das Passwort ist falsch!\nGebe es erneut ein!","Okay", "Beenden");
}
return 1;
}
Alles anzeigen
OnPlayerDisconnect:
SQL
public OnPlayerDisconnect(playerid, reason)
{
SpielerSpeichern(playerid);
new pName1[MAX_PLAYER_NAME], string[56];
GetPlayerName(playerid, pName1, sizeof(pName1));
switch (reason)
{
case 0: format(string, sizeof(string), "%s hat den Server verlassen. (Connection Lost)", pName1);
case 1: format(string, sizeof(string), "%s hat den Server verlassen. (Verlassen)", pName1);
case 2: format(string, sizeof(string), "%s hat den Server verlassen. (Kick/Bann)", pName1);
}
SendClientMessageToAll (GELB, string);
return 1;
}
Alles anzeigen
Die Verbindung mit der Datenbank wird immer hergestellt,
genauso wie die Tabelle. Sie wird bis auf das Passwort
und den Namen nicht ausgefüllt und ich weiß nicht warum
Mfg
iFeet
P.S Ich bin noch Mysql Scripting anfänger