Komischer Weiße bin ich ja nicht im Knast. Es kommt Direkt die erste Message
Das ich Noch im Gefängnis werde und das ich raus bin.... komisch.
Und nach den Sekunden ja erneut. habe ich ja schon gesagt.
WARUM?
Timer speichern und auslesen?
- Noob Punisher
- 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
-
-
Zeig mal deinen aktuellen Code, dann kann ich dir sagen, ob das richtig ist, was du machst.
-
OnPlayerSpawn:
//Knast
if(GetPVarInt(playerid,"Knast")==1)
{
SendClientMessage(playerid,ROT,"Zurück in den Knast! Du hast deine Strafe noch nicht abgesessen");
SetPlayerPos(playerid,216.6484, 108.4219, 998.6719); //Im Knast
SetPlayerInterior(playerid,10);
arrestback = SetTimerEx("arrestzeitt", speichern[playerid], true,"i",playerid);
}
public:
public arrestzeitt(playerid)
{
KillTimer(arrestback);
SetPVarInt(playerid,"Knast",0);
SendClientMessage(playerid,GREEN,"Du bist aus dem Knast gekommen!");
SendClientMessage(playerid,GREEN,"Benimm dich in Zunkunft!");
SpawnPlayer(playerid);
}Denn rest kennst du ja.
-
Wo speicherst du die aktuelle Gefängsniszeit und liest diese wieder aus, wie ich es schon zweimal erklärt habe?
-
Geladen:
speichern[playerid] = GetPVarInt(playerid,"Knastzeit");Speicher:
public speichert(playerid)
{
speichern[playerid] -= 1000;
SetPVarInt(playerid,"Knastzeit",speichern[playerid]);
if(GetPVarInt(playerid,"Knast")==0)
{
KillTimer(speicher);
}
}In der Spielerdatei steht auch Knastzeit: 60000 (Beispiel)
-
Verstehst du es nicht?
Eine PVar wird nach dem Server Restart nicht gespeichert!
Du benötigst bspw. einen Filehandler wie dini oder SII. -
Habe ich!!!! Hör doch zu! Es steht doch alles in der Spieler Datei! Das habe ich auch gerade gesagt.
Ich benutze Dini!LoadAcccount:
SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
SetPVarInt(playerid,"Knastzeit",dini_Int(Spielerdatei,"Knastzeit"));SpielerSpeichern:
dini_IntSet(Spielerdatei,"Knast",GetPVarInt(playerid,"Knast"));
dini_IntSet(Spielerdatei,"Knastzeit",GetPVarInt(playerid,"Knastzeit")); -
Genau diese 2. Funktionen meinte ich.
Gut, wo werden die Timer gesetzt?Edit: Ah, vielleicht solltest du speichern[playerid] nicht um 1000 sondern nur um Eins verringern, da es sich ja um Sekunden handelt.
-
Ne...
daran liegt es nicht.
Die Normale Arrest zeit wird so gesetzt:
arrest = SetTimerEx("arrestzeit", zeit*1000*60, true,"i",playerid);Also 60000 ist eine Minute.
Und dann halt immer -1000 also eine Sekunden, oder nicht?Und es funktioniert ja ALLES. Man kommt im Knast. Man kommt auch wieder nach der Zeit raus.
NURR nach dem Relogg geht das nicht...E: Rechtschreibung
E: Brauche Hilfe -
breadfish.de
Hat das Thema geschlossen.