Hey Breadfish,
ich habe ein Problem. Beim restart des Servers setzen sich Adminlevel und Fraktion immer auf 0. Dies passiert aber nur wenn ich den server über die console restarte.
wenn ich den Server ausschalte und danach wieder ein bleiben diese informationen erhalten.
Problem beim Restart
- Crystallic
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Restartest du mit GMX? oder startest du ganz neu?
Also bei mir tritt dass Problem nur bei /GMX auf, dass Kopfgeld / SkinID / Passwort, resettet wird.
-
1. Speicherst du die Userdaten?
2. Killst du alle Timer beim Restarten? (Eventueller Minutentimer, der Spieler speichert)
3. /gmx'st du oder schließst du das Batch-Fenster? -
Bei spielerspeichen einfach abfragn ob derzeit n restart ist.
So wars bei mir.
Die Variablen wurden zu früh zurückgesetzt, deswegen war beim.speichern alles 0 -
Die Variablen werden bei einem Restart zurückgesetzt, das heißt es bringt nix...und wenn der Spieler ausgeloggt ist ist eben alles auf 0 gesetzt (alle SPielerdaten).
Wenn das dann trotzdem speichert ist es klar das nachher alles zurückgesetzt ist. Frag einfach ab oder der Spieler eingeloggt ist -
ich habe das Problem nur wenn ich per gmx restarte oder halt ingame den befehl /restart eingebe der aber das selbe bewirkt.
-
schick mal dein gmx befehl womit du den server restartest, und dann noch deine Abfrage wie du einen SpielerSpeicherst.
MfG: Equ
-
Versuch mal in deinem Command GMX -> SpielerSpeichern(); rein zu schreiben.
//Edit ggf. Anpassen an dein Public.
-
if(strcmp(cmdtext,"/restart",true)==0)
{
if(isPlayerAnAdmin(playerid,1337))
{
SendRconCommand("gmx");
return 1;
}
return 1;stock SpielerSpeichern(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
return 1;
}Es bleibt alles gespeichert nur das ADMlvl und die Frak nicht
-
if(!strcmp(cmdtext,"/gmx",true)){if(!isAdmin(playerid,1337))return 1;for(new i=0;i<MAX_PLAYERS;i++)SpielerSpeichern(i);SendRconCommand("gmx");return 1;}
-
Funzt leider auch nicht ADMlvl und Fraktion is wieder 0 ...
//Edit Weiß denn keiner ne Lösung??
//Edit hab selber ne Lösung gefunden
wenn ich vorher alle Spieler kicke bleiben die daten erhalten
if(!strcmp(cmdtext,"/restart",true))
{
if(!isPlayerAnAdmin(playerid,4))return 1;
for(new i=0;i<MAX_PLAYERS;i++)
{
SpielerSpeichern(i);
Kick(i);
}
SendRconCommand("gmx");
return 1;
} -
breadfish.de
Hat das Thema geschlossen.