Hallo liebe Community
ich habe ein Premium System, wobei es 2 Varianten gibt
1. Die Zeit läuft von der server zeit ab
2 die Andere ist dass die Online Zeit abgezogen wird
Jetzt brauche ich folgendes
-Ein Timer der Jede Sekunde einen Wert X abzieht
-Speichern in der DB
-Auslesen aus der DB
Hier ein Teil meines Scriptes
ocmd:setpremium(playerid,params[])
{
new id, days, std, mins, premlevel, sys, premzeit=0;
if(!isAdmin(playerid, 8))return 1; //premlevel //"Benutzung: /setpremium [Name / ID] [Premiumlevel] [Tage] [Stunden] [Minuten]"
if(sscanf(params, "uiiii", id, sys, days, std, mins))return SendClientMessage(playerid, -1, "Benutzung: /setpremium [Name / ID] [0=Onlinezeit | 1=Serverzeit] [Tage] [Stunden] [Minuten]");
if(sInfo[id][premiumzeit] > gettime())premzeit = sInfo[id][premiumzeit] - gettime();
if(sInfo[id][premiumSys]==1&&sys!=1)premzeit=sInfo[id][premiumzeit]-gettime();
else if(sInfo[id][premiumSys]==0&&sys!=0)premzeit=sInfo[id][premiumzeit]+gettime();
sInfo[id][premiumSys]=sys;
new premdays = days * 60 * 60 * 24;
new premstds = std * 60 * 60;
new premmins = mins * 60;
new premgestime = premdays+premstds+premmins;
if(sys==1)
{
if(sInfo[id][premiumzeit] > gettime())premgestime+=premzeit;
premgestime+=gettime();
new string[128];
format(string, sizeof(string) ,"Der Admin %s hat deine Premiumzeit auf %i Tage, %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(playerid),days, std, mins);
SendClientMessage(id, -1, string);
format(string, sizeof(string), "Du hast die Premiumzeit des Spielers %s auf %i Tage. %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(id), days, std, mins);
SendClientMessage(playerid, -1, string);
}
else
{
if(sInfo[id][premiumzeit] > 0)premgestime+=premzeit;
new string[128];
format(string, sizeof(string) ,"Der Admin %s hat deine Premiumzeit auf %i Tage, %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(playerid),days, std, mins);
SendClientMessage(id, -1, string);
format(string, sizeof(string), "Du hast die Premiumzeit des Spielers %s auf %i Tage. %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(id), days, std, mins);
SendClientMessage(playerid, -1, string);
}
sInfo[id][premiumzeit] = premgestime;
sInfo[id][premiumlevel] = premlevel;
format(sInfo[id][premiumGivenBy], MAX_PLAYER_NAME, "%s", getPlayerName(playerid));
sInfo[id][premiumGivenTS] = gettime();
return 1;
}
{
new id, days, std, mins, premlevel, sys, premzeit=0;
if(!isAdmin(playerid, 8))return 1; //premlevel //"Benutzung: /setpremium [Name / ID] [Premiumlevel] [Tage] [Stunden] [Minuten]"
if(sscanf(params, "uiiii", id, sys, days, std, mins))return SendClientMessage(playerid, -1, "Benutzung: /setpremium [Name / ID] [0=Onlinezeit | 1=Serverzeit] [Tage] [Stunden] [Minuten]");
if(sInfo[id][premiumzeit] > gettime())premzeit = sInfo[id][premiumzeit] - gettime();
if(sInfo[id][premiumSys]==1&&sys!=1)premzeit=sInfo[id][premiumzeit]-gettime();
else if(sInfo[id][premiumSys]==0&&sys!=0)premzeit=sInfo[id][premiumzeit]+gettime();
sInfo[id][premiumSys]=sys;
new premdays = days * 60 * 60 * 24;
new premstds = std * 60 * 60;
new premmins = mins * 60;
new premgestime = premdays+premstds+premmins;
if(sys==1)
{
if(sInfo[id][premiumzeit] > gettime())premgestime+=premzeit;
premgestime+=gettime();
new string[128];
format(string, sizeof(string) ,"Der Admin %s hat deine Premiumzeit auf %i Tage, %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(playerid),days, std, mins);
SendClientMessage(id, -1, string);
format(string, sizeof(string), "Du hast die Premiumzeit des Spielers %s auf %i Tage. %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(id), days, std, mins);
SendClientMessage(playerid, -1, string);
}
else
{
if(sInfo[id][premiumzeit] > 0)premgestime+=premzeit;
new string[128];
format(string, sizeof(string) ,"Der Admin %s hat deine Premiumzeit auf %i Tage, %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(playerid),days, std, mins);
SendClientMessage(id, -1, string);
format(string, sizeof(string), "Du hast die Premiumzeit des Spielers %s auf %i Tage. %i Stunden und %i Minuten gesetzt/erweitert.", getPlayerName(id), days, std, mins);
SendClientMessage(playerid, -1, string);
}
sInfo[id][premiumzeit] = premgestime;
sInfo[id][premiumlevel] = premlevel;
format(sInfo[id][premiumGivenBy], MAX_PLAYER_NAME, "%s", getPlayerName(playerid));
sInfo[id][premiumGivenTS] = gettime();
return 1;
}
ich bin auch per SKYPE und TS erreichbar
Skype: jannis50002
TS: 94.101.39.18:9988
Danke