Wie speicher ich einen Timer im registersystem? Also /jail [ id] [time] und das speichert wenn er off geht dann hört der timer auf. Sobald der Typ wieder on kommt ist der noch im Knast. WIe geht das?
Timer speichern
- Weed
- 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
-
-
Kill den Timer bei OnPlayerDisconnect und speicher den Restwert (Minuten, Stunden was weiß ich) in ein Datenfeld (Tabelle@MySQL, Datei). Bei OnPlayerConnect lädst du diesen Wert wieder. Bei OnPlayerSpawn setzt du den Spieler wieder innen Knast und Settimer.
-
kann mir das wer mahcne???
-
Läuft dein script per mysql oder über userfiles?
-
userfiles ich hab kp von mysql
schaft doch wer oda? -
new playerTimeVar[MAX_PLAYERS];
public OnPlayerCommandText(playerid, cmdtext[]) {
if(!strcmp(cmdtext,"/test"))
{
playerTimeVar[playerid] == 60;
TogglePlayerControllable(playerid, false);
SetTimerEx("UnFreeze", playerTimeVar[playerid] * 10000, false, "i", playerid);
return 1;
}
return 0;
}@UnFreeze(playerid);
@UnFreeze(playerid)
{
playerTimeVar[playerid] = 0;
TogglePlayerControllable(playerid, true);
return 1;
}public OnPlayerDisconnect(playerid, reason) {
new ini[24], n[16];
GetPlayerName(playerid, n, sizeof(n));
format(ini, sizeof(ini),"%s.ini",n);
dini_IntSet(ini,"Timer",playerTimeVar[playerid]);
playerTimeVar[playerid] = 0;
return 1;
}public OnPlayerSpawn(playerid) {
new ini[24], n[16];
GetPlayerName(playerid, n, sizeof(n));
format(ini, sizeof(ini), "%s.ini",n);
if(dini_Exists(ini)) {
playerTimeVar[playerid] = dini_Int(ini, "Timer");
}
return 1;
}Ungetestet.
-
rall ich nit sach ma wie das bei /jail aussehen würde mit dcmd und sscanf
weiß wer? -
was "rallst" du denn daran nicht?
-
new playerTimeVar[MAX_PLAYERS]; ???
@UnFreeze(playerid);
@UnFreeze(playerid)
{
playerTimeVar[playerid] = 0;
TogglePlayerControllable(playerid, true);
return 1;
}
was soll das? und
playerTimeVar[playerid] == 60; // warum 60?? und ich will keine milisekunden und brauche mit parameter/jail [ID] [zeit]
Wei0 doch wer -
breadfish.de
Hat das Thema geschlossen.