Hallo nochmal,
ich habe schon einmal einen Thread mit diesen Thema eröffnet aber
da nach 6 Messages keine weitere Antwort kam, und auch
keine Lösung gefunden wurde.. eröffne ich Ihn nochmal.
Save:
stock SavePlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht ein NPC ist.
{
if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.
{
//Nun speichern wir die Daten in der Datenbank.
mysql_SetInt("accounts", "Registriert", SpielerInfo[playerid][Registered], "Name", SpielerInfo[playerid][Name]);
new Float: PosXX, Float: PosYY, Float: PosZZ, Float: PosAA;
GetPlayerPos(playerid, PosXX, PosYY, PosZZ);
GetPlayerFacingAngle(playerid, PosAA);
SpielerInfo[playerid][Interior] = GetPlayerInterior(playerid);
mysql_SetInt("accounts", "Stufe", GetPlayerScore(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][Skin], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "AdminRank", SpielerInfo[playerid][AdminRank], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Warnings", SpielerInfo[playerid][Warnings], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gemutet", SpielerInfo[playerid][Muted], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][Banned], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "Fraktion", FraktionInfo[playerid][Mitglied], "Name", SpielerInfo[playerid][Name]);
mysql_SetInt("accounts", "FraktionLeitung", FraktionInfo[playerid][Leitung], "Name", SpielerInfo[playerid][Name]);
}
}
return 1;
}
Load:
stock LoadPlayer(playerid)
{
if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist (nur zur sicherhheit)
{
if(SpielerInfo[playerid][Banned] == 1)
{
new BanString[128];
new BannedName[MAX_PLAYER_NAME];
GetPlayerName(playerid,BannedName,sizeof(BannedName));
format(BanString,sizeof(BanString),"/Datenbank/Accounts/%s.txt",BannedName);
format(BanString,sizeof(BanString),"%s versucht sich mit seinem gebannten Account ein zu loggen",BannedName);
MessageToAdmins(Color_Orange,BanString,1);
SendClientMessage(playerid,Color_Red,"SERVER: Dein Account wurde vom Server verbannt!");
Ban(playerid);//Bannt den Spieler und schreibt Ihm in die "samp.ban"
return 1;
}
GetPlayerName(playerid, SpielerInfo[playerid][Name], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable [i]SpielerInfo[playerid][pName][/i]
SpielerInfo[playerid][Registered] = mysql_GetInt("accounts", "Registriert", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][PosX] = mysql_GetFloat("accounts","PosX","Name",SpielerInfo[playerid][Name]); //Er speichert die PosX in die Tabelle Accounts, in das Feld PosX
SpielerInfo[playerid][PosY] = mysql_GetFloat("Accounts","PosY","Name",SpielerInfo[playerid][Name]);
SpielerInfo[playerid][PosZ] = mysql_GetFloat("Accounts","PosZ","Name",SpielerInfo[playerid][Name]);
SpielerInfo[playerid][PosA] = mysql_GetFloat("Accounts","PosR","Name",SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Interior] = mysql_GetInt("Accounts","Interior","Name",SpielerInfo[playerid][Name]);
SetPlayerScore(playerid, mysql_GetInt("accounts", "Stufe", "Name", SpielerInfo[playerid][Name])); //Wir holen uns den wert der unter "Level" eingetragen ist und Speichern ihn in unserer Variable.
SetPlayerSkin(playerid, mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][Name]));
GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][Name]));
SpielerInfo[playerid][AdminRank] = mysql_GetInt("accounts", "AdminRank", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Warnings] = mysql_GetInt("accounts", "Warnings", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Muted] = mysql_GetInt("accounts", "Gemutet", "Name", SpielerInfo[playerid][Name]);
SpielerInfo[playerid][Banned] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][Name]);
FraktionInfo[playerid][Mitglied] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][Name]);
FraktionInfo[playerid][Leitung] = mysql_GetInt("accounts", "FraktionLeitung", "Name", SpielerInfo[playerid][Name]);
PlayerSpawn(playerid);
SendClientMessage(playerid,Color_Green,"Erfolgreich eingeloggt");
if(SpielerInfo[playerid][AdminRank] > 0)
{
new Level[64];
format(Level,sizeof(Level),"Du bist als Stufe %d Administrator eingeloggt",SpielerInfo[playerid][AdminRank]);
SendClientMessage(playerid,Color_White,Level);
}
new Welcome[256];
format(Welcome,sizeof(Welcome),"~w~Willkommen ~n~~y~ %s",SpielerInfo[playerid][Name]);
GameTextForPlayer(playerid,Welcome,5000,1);
IsLoggedIn[playerid] = 1;
}
return 1;
}
OnPlayerSpawn:
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname,sizeof(botname));
if(!strcmp(botname,"TouristBOTBus",true))
{
PutPlayerInVehicle(playerid,car_TouristBus, 0);
}
}
SetPlayerPos(playerid,SpielerInfo[playerid][PosX],SpielerInfo[playerid][PosY],SpielerInfo[playerid][PosZ]); //Position wird gesetzt.
SetPlayerFacingAngle(playerid,SpielerInfo[playerid][PosA]); //Die Drehung wird gesetzt.
SetPlayerInterior(playerid,SpielerInfo[playerid][Interior]);//Das Interior wird gesetzt.
return 1;
}
Ich hoffe das reicht an Infos und ich hoffe das ich eine Lösung bekomme.
Danke