Gibt es ein Timer der auch Offline läuft?
Also Ich beantrage mir heute mein Zollpass und der soll nach 2 Stunden wieder ablaufen. Aber auch wenn ich nicht Online bin soll der nach 2 Stunden weg sein.
Geht sowas?
Danke
Gibt es ein Timer der auch Offline läuft?
Also Ich beantrage mir heute mein Zollpass und der soll nach 2 Stunden wieder ablaufen. Aber auch wenn ich nicht Online bin soll der nach 2 Stunden weg sein.
Geht sowas?
Danke
Okay, habe nun das hier eingefügt.
stock mktime(hour,minute,second,day,month,year)
{
new timestamp2;
timestamp2 = second + (minute * 60) + (hour * 3600);
new days_of_month[12];
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) {
days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; // Schaltjahr
} else {
days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; // keins
}
new days_this_year = 0;
days_this_year = day;
if(month > 1) { // No January Calculation, because its always the 0 past months
for(new i=0; i<month-1;i++) {
days_this_year += days_of_month[i];
}
}
timestamp2 += days_this_year * 86400;
for(new j=1970;j<year;j++) {
timestamp2 += 31536000;
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) timestamp2 += 86400; // Schaltjahr + 1 Tag
}
return timestamp2;
}
stock Now()
{
new hour,minute,second,year,month,day;
gettime(hour, minute, second);
getdate(year, month, day);
return mktime(hour,minute,second,day,month,year);
}
Will jetzt eine Fraksperre machen mit 25 Stunden Sperre, habe mir sowas jetzt ausgedacht (90000 Sekunden) aber die laufen auch nur ab wenn man online ist. Wie muss ich das jetzt ändern?
SetPlayerInterior(playerid,0);
new rand = random(sizeof(gInviteSpawns));
SetPlayerPos(playerid, gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, gInviteSpawns[rand][3]);
SetPlayerCameraPos(playerid,gInviteSpawns[rand][0] + 3, gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
SetPlayerCameraLookAt(playerid,gInviteSpawns[rand][0], gInviteSpawns[rand][1], gInviteSpawns[rand][2]);
FreezePlayer(playerid);
SelectChar[playerid] = 255;
Eingeladen[playerid] = 0;
SelectCharID[playerid] = PlayerInfo[playerid][pMember];
SelectCharPlace[playerid] = 1;
PlayerInfo[playerid][pFrakSperre] = 90000;
PlayerInfo[playerid][pModel] = ChosenSkin[playerid];
PlayerInfo[playerid][pChar] = ChosenSkin[playerid];
SendClientMessage(playerid, COLOR_GRAD5, " Du kannst mit /help deine neuen Fraktionsbefehle betrachten");
SendClientMessage(playerid, COLOR_LIGHTBLUE, "--------------->Du hast nun 25 Spielstunden eine Fraktionssperre!<---------------");
SendClientMessage(playerid, COLOR_LIGHTRED, "* Benutze 'weiter' um dir den Charakter auszusuchen den du gerne benutzen möchtest.");
SendClientMessage(playerid, COLOR_LIGHTRED, "* Wenn du den richtigen gefunden hast, gib 'fertig' ein.");
}
lässt du den wert auch speichern
Onplayerdisconnect musst du doch arbeiten !!
Onplayerdisconnect musst du doch arbeiten !!
erstmal überlegen das posten. Er sollte erstmal eine Variabel anlegen welche er auch speichert und ladet.
Dan bei dem jeweiligen ereignis zieht er mit gettime das datum raus. welches er mit der anzahl der gewünschten Zeit addiert.
Diese er auch speichert und dies sollte er auch zum schluss wenn der spieler sich auch einloggt wieder abfragen oder ein timer machen der dies checkt jedoch ist das nicht so sinnvoll. Beim einloggen sollte er das datum vergleichen welches er auch noch speichern sollte und die varaibel auf 0 setzen.
Das ist sinnvoll bei einen Krankenhaus system wenn er flüchten will
Ich meine onplayerdisconnect geht bei kleineren sachen !!