Hallu Leute,
ich muss heut irgendwie nen kompletten Blackout haben, ich bekomm ne einfache dini Funktion net hin...
hier der Code:
stock save(id)
{
new accFormat[18+MAX_PLAYER_NAME];
format(accFormat, sizeof(accFormat), "/SpielerDaten/%s.ini", Spieler[id][Name]);
if(!dini_Exists(accFormat)) dini_Create(accFormat);
dini_IntSet(accFormat, "Admin", Spieler[id][Admin]);
GetPlayerPos(id, Spieler[id][posX], Spieler[id][posY], Spieler[id][posZ]);
dini_FloatSet(accFormat, "posX", Spieler[id][posX]);
dini_FloatSet(accFormat, "posY", Spieler[id][posY]);
dini_FloatSet(accFormat, "posZ", Spieler[id][posZ]);
dini_IntSet(accFormat, "Geld", GetPlayerMoney(id));
}
in die .ini wird aber nix geschrieben, ich versteh einfach net, was falsch sein soll <.<
//Edit: Ich hab jetz sau viel rumprobiert, die Stock Funktion direkt eingefügt, den SpielerDaten Ordner umbenannt, aber nichts will funktionieren.
Derzeit befinden sich alle Accounts im Ordner "Accounts" in Scriptfiles
Beim registrieren habe ich folgenden Code:
format(accFormat, sizeof(accFormat), "Accounts/%s.ini", Spieler[playerid][Name]);
dini_Create(accFormat);
SendClientMessage(playerid, 0x00FF00AA, "Account erfolgreich angelegt");
new pass = udb_hash(inputtext);
dini_IntSet(accFormat, "Passwort", pass);
Und die dini wird auch ohne Probleme erstellt und es wird das Passwort reingeschrieben.
Bei OnPlayerDisconnect habe ich derzeit folgenden Code:
if(Spieler[playerid][eingeloggt] == 1)
{
format(accFormat, sizeof(accFormat), "Accounts/%s.ini", Spieler[playerid][Name]);
if(!dini_Exists(accFormat)) dini_Create(accFormat);
dini_IntSet(accFormat, "Admin", Spieler[playerid][Admin]);
GetPlayerPos(playerid, Spieler[playerid][posX], Spieler[playerid][posY], Spieler[playerid][posZ]);
dini_FloatSet(accFormat, "posX", Spieler[playerid][posX]);
dini_FloatSet(accFormat, "posY", Spieler[playerid][posY]);
dini_FloatSet(accFormat, "posZ", Spieler[playerid][posZ]);
dini_IntSet(accFormat, "Geld", GetPlayerMoney(playerid));
Spieler[playerid][Admin] = 0;
Spieler[playerid][eingeloggt] = 0;
}
Diese Daten werden allerdings NICHT gespeichert!!
Und ja, der Spieler IST eingeloggt, wenn er sich eingeloggt hat. Ich hab diesbezüglich schon eine Debug Abfrage gemacht.