Servas Leute,
ich habe mein Server auf SAMP4YOU uploaded. Wenn ich z.B /restart InGame schreibe funktioniert alles einwandfrei.
Jedoch wenn ich auf Samp4You auf Restart klicke werden die User Stats gelöscht Bitte um HILFE!
mfG,
John_Sanclear
Servas Leute,
ich habe mein Server auf SAMP4YOU uploaded. Wenn ich z.B /restart InGame schreibe funktioniert alles einwandfrei.
Jedoch wenn ich auf Samp4You auf Restart klicke werden die User Stats gelöscht Bitte um HILFE!
mfG,
John_Sanclear
Dann mach, dass bei OnGamemodeExit alles gespeichert wird
public OnGameModeExit()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) if(IsPlayerConnected(playerid)) ResetPlayerTimers(playerid);
return 1;
}
So sieht mein Script aus bei OnGameModeExit()
Wie kann ich machen das Spieler gespeichert werden?
Wo im Script werden den die Statistiken der Spieler gespeichert und womit (Dini, MySQL etc.)?
stock SpielerSpeichern(playerid)
mit Dini
Wird bei OnGamemodeExit bei dir nicht gespeichert O.o
NE nur bei OnGameModeInit, weiss nicht was ich bei OnGameModeExit reinschreiben muss.
for(new i=0; i<MAX_PLAYERS; i++)
{
SpielerSpeichern(i);
}
Funktioniert leider nicht
Wie sieht denn dein SpielerSpeichern aus?
GameModeExit muss so aussehen
public OnGameModeExit()
{
for(new playerid = 0; playerid < MAX_PLAYERS; playerid++) if(IsPlayerConnected(playerid)) { SpielerSpeichern(playerid); ResetPlayerTimers(playerid); }
return 1;
}
Habs rein gemacht funkt auch nicht
Was wollt ihr sehen?
Kenne das Problem bei einem Restart wird der Public Ongamemodeexit & Onplayerdisconnect nicht abgerufen da hilft nur OnPlayerUpdate oder ein selbst erstellter Timer.
Wie kann ich ein Timer erstellen?
@midomen: Dein Ernst? OnPlayerUpdate verwenden um die Accounts zu speichern? Eine schlechtere Position dafür gibt es gar nicht. Da würden die Accounts jede Millisekunde ca. gespeichert werden, das würde den Server sehr auslasten.
Ich empfehle immer wenn Statistiken vom Spieler geändert werden zu speichern, ist wahrscheinlich auch ein wenig zu oft aber sicher.
@midomen: Dein Ernst? OnPlayerUpdate verwenden um die Accounts zu speichern? Eine schlechtere Position dafür gibt es gar nicht. Da würden die Accounts jede Millisekunde ca. gespeichert werden, das würde den Server sehr auslasten.
Ich empfehle immer wenn Statistiken vom Spieler geändert werden zu speichern, ist wahrscheinlich auch ein wenig zu oft aber sicher.
Ich habe gesagt er kann auch einen eigenen Timer erstellt der z.B jede 5 Sekunden oder so geht ;).
ZitatWie kann ich ein Timer erstellen?
Mit
SetTimer("allespeichern",5000,true); //Bei Ongamemodeinit
//Ganz unten
forward allespeichern();
public allespeichern()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
SpielerSpeichern(i);
}
}
}
Du hast ein oder verwendet. Wollte dich nur belehren, da du beide Methoden gleich gestellt hast.
Zitatda hilft nur OnPlayerUpdate oder ein selbst erstellter Timer.
Wie kann ich ein Timer erstellen?
Du hast ein oder verwendet. Wollte dich nur belehren, da du beide Methoden gleich gestellt hast.
Rein Theoretisch würde beides Funktionieren aber Version 2 wäre natürlich Ressourcen sparender ;).
hier stand nix
Alles anzeigenich würde es einfach unter
public OnPlayerDisconnect(playerid, reason)
{
if(GetPVarInt(playerid,"loggedin")==1)
{
SpielerSpeichern(playerid);
}
return 1;
}
:facepalm: lies doch mal die anderen Beiträge dann weist du wieso das hier totaler quatsch ist.
war ich wohl mal wieder schneller als der Ball und bin ins abseits,sorry