Posts: 206
Threads: 18
Joined: Dec 2010
Reputation:
0
So a player needs an hour cool down between taking two different jobs?
Posts: 206
Threads: 18
Joined: Dec 2010
Reputation:
0
Use something like new bool:CoolDown[MAX_PLAYERS];
When someone uses the command set it to true and run a timer for the player and when that hour is done (timer) set the player’s CoolDown to false.
And dont forget to add in the command “if(CoolDown[playerid] == false)” let the command work, or else tell him to wait an hour.
Let me know if you need the exact code.
Posts: 48
Threads: 16
Joined: Apr 2017
Reputation:
0
Can you send me the exact code please? Really appreciate it.
Posts: 33
Threads: 1
Joined: Jun 2014
try this
PHP код:
new CoolDown[MAX_PLAYERS],
CoolDownTimer[MAX_PLAYERS];
CMD:takejob(playerid, params[])
{
static
id = -1;
if(CoolDown[playerid])
return SendClientMessage(playerid, color, "your message here because 1hr is not done");
if ((id = Job_Nearest(playerid)) != -1)
{
if (PlayerData[playerid][pJob] == JobData[id][jobType])
return SendErrorMessage(playerid, "You have this job already.");
PlayerData[playerid][pJob] = JobData[id][jobType];
CoolDown[playerid] = 60;
CoolDownTimer[playerid] = SetTimerEx("CheckCoolDown",60000,true,"i",playerid);
return SendServerMessage(playerid, "You are now a %s - type \"/jobcmds\" for job commands.", Job_GetName(JobData[id][jobType]));
}
SendErrorMessage(playerid, "You are not in range of any job pickup.");
return 1;
}
forward CheckCoolDown(playerid);
public CheckCoolDown(playerid)
{
if(CoolDown[playerid] != 0)
{
CoolDown[playerid]--;
}
else
{
KillTimer(CoolDownTimer[playerid]);
CoolDown[playerid] = 0;
}
}
Posts: 48
Threads: 16
Joined: Apr 2017
Reputation:
0
Thanks so much guys. +rep !