Question - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Question (
/showthread.php?tid=594244)
Question -
SecretBoss - 15.11.2015
Hello,
I just created a payday system for my server and I want to count the remaining time from the timer for example, Payday is sending each 1 hour if 30 mins have passed I want to print on stats that next payday is on 30 minutes or something like that, is that possible or not? I tried some codes with GetTickCount but didn't work
Re: Question -
Karan007 - 15.11.2015
Well, you could set a timer of 30 minutes at first and when the 30 minutes passes, print that on stats and then make ANOTHER timer for 30 minutes.
Re: Question -
SecretBoss - 15.11.2015
Quote:
Originally Posted by Karan007
Well, you could set a timer of 30 minutes at first and when the 30 minutes passes, print that on stats and then make ANOTHER timer for 30 minutes.
|
You think that I don't know how to do something like this?
I want to count how much minutes left until payday will be arrived
Re: Question -
Karan007 - 15.11.2015
In the timer you could use the timer name and minus it. Then you could use the last timer as integer to format how much times left. If you didn't understand, below is an example.
PHP код:
new testtimer = 60; // Using the variable that shows 60 seconds
forward test(playerid); // timer
public test(playerid){
testtimer--; // Subtracting the timer
if(testtimer == 30) return SendClientMessageToAll(-1, "30 secs left"); //Check if 30 secs left
return 1;}
Re: Question -
Remba031 - 15.11.2015
It is possible.
On top of script/your enum for saving player data:
Код:
new User[MAX_PLAYERS][pMinutes];
new minute[MAX_PLAYERS];
forward Minute(playerid);
OnPlayerLogin/Spawn:
Код:
minute[playerid] = SetTimerEx("Minute", 60000, true, "i", playerid);
Wherever you put you custom callbacks:
Код:
public Minute(playerid)
{
return User[playerid][pMinutes]++;
}
When you display stats and want to show how much the player has to wait for a payday:
Код:
new str[128];
format(str,sizeof(str),"Minutes left = %d",60-User[playerid][pMinutes]); // If payday is every hour = 60 minutes
SendClientMessage(playerid,-1,str);
OnPlayerDisconnect:
Код:
KillTimer(minute[playerid]);
Re: Question -
jlalt - 15.11.2015
sorry for first nab code :c
PHP код:
new paydaytime[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
paydaytime[playerid] = 3600;
SetTimerEx("payday",1000,1,"i",playerid);
return 1;
}
forward payday(playerid);
public payday(playerid) {
if(paydaytime[playerid] == 0) {
//code
paydaytime[playerid] = 3600;
} else if(paydaytime[playerid] == 1800)
{
// message
} else
{
paydaytime[playerid] --;
}
}