Hay Leute ich habe einen /knast befehl gemacht alles klappt auch doch wenn der spieler off geht und wieder on wurde die varriable auf 0 gesetzt ist ja klar wie schaffe ich es
ein GetPVarInt befehl in einer varriable ist sprich ich habe die zeit in ner PVar int datei gespeichert und möchte sie nun in einer varriable wieder geben pls help !
Varriable SetPVarInt
- Jetfire-.-
- 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
-
-
Unter stock Register oderso
SetPVarInt(playerid,"DEIN PVARINT NAME!",0);MfG
-
Nein es geht nicht
Ich habe ja die Zeit in einer PVarInt gespeichert und ich arbeite mit timern so.
Und wenn er on bleibt geht alles doch wenn er off geht wir ja die Varriable wieder auf 0 gesetzt, aber in PVarInt bleibt ja die Zeit.
Jetzt will ich wissen wie ich wieder dieser Variable diese Zeit zuleifere das will ich wissen. -
Habe ich es jetzt richtig verstanden, also du speicherst schon die zeit wen er offline geht?
-
nein sobald er in den knast kommt wird die zeit in einer pvar int datei gespeicher jetzt will ich die zeit nun wieder mit ner varriable aufrufen.
-
onplayerspawn:
if(GetPVarInt(playerid,"Knastminuten") > 1)
{
SetPVarInt(playerid,"Knastminuten", GetPVarInt (playerid, "Knastminuten");
//Hier noch einfügen wo er er spawnen soll wen er noch knastminuten braucht
}Versuch es mal so, hier müsst du noch hinzufügen was passiert wen er noch Knastminuten hat.
Ist ungetestet, falls Error kommen bitte Schreiben
-
es klappt immer noch nicht also
Ganz oben :
new KnastTimer;
new KnastZeit;
forward Knast(playerid); // <--- was passiert wenn der Timer aktiviert wird.
forward KnastZeitAufhalter(playerid); // <--- Wen die zeit vom Knast vorbei ist.ocmd:knast
ocmd:knast(playerid,params[])
{new Float:x, Float:y, Float:z;
if(sscanf(params,"ui",pID,KnastZeit))return SendClientMessage(playerid, ROT, "/knast [playerid] [Zeit in Sekunden]");
GetPlayerPos(pID, x, y, z);
if(!IsPlayerInRangeOfPoint(playerid,30,197.8641,158.4393,1003.0234))return SendClientMessage(playerid, ROT, "[Polizei]: Du bist nicht nahe genung am Gefängnis.");
{
if(!isPlayerinFraktion(playerid,1) && !isPlayerinFraktion(playerid,3))return SendClientMessage(playerid, ROT, "Du bist nicht in der Fraktion FBI oder LSPD.");
{
if(!IsPlayerInRangeOfPoint(playerid,30,x,y,z))return SendClientMessage(playerid, ROT, "[Polizei]: Du bist von dieser Person zu weiter entfernt.");
{
if(GetPVarInt(pID,"Wantedlevel") > 0)return SendClientMessage(playerid, ROT, "[Polizei]: Diese Person wird nicht gesucht.");
{
if(!isPlayerinDienst(playerid,1))return SendClientMessage(playerid, ROT, "Du bist nicht im Dienst.");
{
KnastTimer = SetTimer("Knast",1000,0);
SetPlayerWantedLevel(pID,0);
KnastZeit = KnastZeit*1000;
SetPVarInt(pID,"Knast :",KnastZeit);
}
}
}
}
}return 1;
}Alle Timer:
public KnastZeitAufhalter(playerid)
{
SendClientMessage(playerid, HBLAU, "[Polizei]: Du hast deine Zeit abgesesen.");
SetPlayerPos(playerid,1958.5071,1343.0193,15.3746);
SetPlayerInterior(playerid,0);
KillTimer(KnastTimer);
SetPVarInt(playerid,"Knast: ",0);
}public Knast(playerid)
{
new string[128];
new text[128];
format(text,sizeof(text),"[FBI]: Gut du hast den Gesuchten %s gefunden hier ist dein Lohn.", SpielerName(pID));
KnastZeit = KnastZeit/1000;
format(string,sizeof(string),"[Polizei]: Beamter %s hat den gesuchten %s für %i Sekunden in den Knast gesteckt.",SpielerName(playerid),SpielerName(pID),KnastZeit);
SendClientMessage(playerid, HBLAU, text);
SendClientMessage(playerid, HBLAU, "[Lohn]: $ 2000");
GivePlayerMoney(playerid,2000);
SendClientMessageToAll(ROT, string);
ResetPlayerWeapons(pID);
KnastZeit = KnastZeit*1000;
SetPlayerPos(pID,197.39999389648, 173.80000305176, 1002.700012207);
SetPlayerInterior(pID,3);
SetPVarInt(pID,"Knast: ",KnastZeit);
SetTimer("KnastZeitAufhalter",KnastZeit,0);}
Und mein stock LoadAcoount:
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
SetPVarInt(playerid,"Dienst",dini_Int(Spielerdatei,"Dienst"));
SetPVarInt(playerid,"Konto",dini_Int(Spielerdatei,"Konto"));
SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wantedlevel"));
SetPVarInt(playerid,"Führerschein-Car",dini_Int(Spielerdatei,"Führerschein-Car"));
SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Lottozahl",dini_Int(Spielerdatei,"Lottozahl"));
SetPVarInt(playerid,"Knast: ",dini_Int(Spielerdatei,"Knast: "));
SetPVarInt(playerid,"loggedin",1);
if(GetPVarInt(playerid,"Knast: ") > 0)
{
SetPVarInt(playerid,"Knast: ", GetPVarInt (playerid, "Knast: ") == KnastZeit);
ResetPlayerWeapons(playerid);
SendClientMessage(playerid, ROT, "[Polizei]: Du bist noch im Gefängnis.");
SetPlayerPos(playerid,197.39999389648, 173.80000305176, 1002.700012207);
SetPlayerInterior(playerid,3);
SetTimer("KnastZeitAufhalter",KnastZeit,0);}
-
zeig mal dein stock SaveAccount
-
stock SpielerSpeichern(playerid)
{
if(GetPVarInt(playerid,"loggedin") == 1)
{
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,"Dienst",GetPVarInt(playerid,"Dienst"));
dini_IntSet(Spielerdatei,"Konto",GetPVarInt(playerid,"Konto"));
dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
dini_IntSet(Spielerdatei,"Wantedlevel",GetPlayerWantedLevel(playerid));
dini_IntSet(Spielerdatei,"Führerschein-Car",GetPVarInt(playerid,"Führerschein-Car"));
dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
dini_IntSet(Spielerdatei,"Lottozahl",GetPVarInt(playerid,"Lottozahl"));
dini_IntSet(Spielerdatei,"Knast: ",GetPVarInt(playerid,"Knast: "));
}
return 1;
} -
stock LoadAccount(playerid)
{
new Spielerdatei[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
SetPVarInt(playerid,"Dienst",dini_Int(Spielerdatei,"Dienst"));
SetPVarInt(playerid,"Konto",dini_Int(Spielerdatei,"Konto"));
SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
SetPlayerWantedLevel(playerid,dini_Int(Spielerdatei,"Wantedlevel"));
SetPVarInt(playerid,"Führerschein-Car",dini_Int(Spielerdatei,"Führerschein-Car"));
SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));
SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
SetPVarInt(playerid,"Lottozahl",dini_Int(Spielerdatei,"Lottozahl"));
SetPVarInt(playerid,"Knast: ",dini_Int(Spielerdatei,"Knast: "));
SetPVarInt(playerid,"loggedin",1);
if(GetPVarInt(playerid,"Knast: ") > 0)
{
SetPVarInt(playerid,"Knast: ", KnastZeit);
ResetPlayerWeapons(playerid);
SendClientMessage(playerid, ROT, "[Polizei]: Du bist noch im Gefängnis.");
SetPlayerPos(playerid,197.39999389648, 173.80000305176, 1002.700012207);
SetPlayerInterior(playerid,3);
SetTimer("KnastZeitAufhalter",KnastZeit,0);}
-
-
es geht immer noch ned !
-
geh mal ingame steck dich 5 min in den knast geh offline und schau kurz in der speicher datei ob da =0 steht
-
wenn ich off geh steht in PVarInt immer noch 300000
// 300000 sind die 5 minuten
-
also in deiner dini datei?
steht 300000 -
ja
-
Setz einen Timer der 1000 ms läuft und dann updatest du jedes mal deine PVar
-
wie meinst du das ?
-
ich würde mit SetTimerEx arbeiten
-
pls Beispiel !
-
breadfish.de
Hat das Thema geschlossen.