CMD:getgift(playerid, params[])
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	{
		if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
		SCM(playerid,COLOR_WHITE,"{FFFF00}You received 5000$ as a Christmas Gift.");
		GivePlayerCash(playerid,5000);
		Update(playerid, pCashx);
	}
	return 1;
}
new giftCooldown[MAX_PLAYERS]; // In top of your script
		
CMD:getgift(playerid, params[]) // in your commands
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	{
		new currenttime = gettime();
		if(currenttime < (giftCooldown[playerid] + 6480)) return SendClientMessage(playerid, COLOR_GREY, "Wait before using the command again");
		if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
		SCM(playerid,COLOR_WHITE,"{FFFF00}You received 5000$ as a Christmas Gift.");
	GivePlayerCash(playerid, randomEx(1000, 10000));
		Update(playerid, pCashx);
		giftCooldown[playerid] = gettime();
	}
	return 1;
}	
randomEx(min, max) // where you put your functions or under the command
{
    new rand = random (max - min) + min;
    return rand;
}
new bool:playercanGetGift[MAX_PLAYERS]; //put this on top of your script
forward getgift(playerid);
public getgift(playerid)
{
	playercanGetGift[playerid] = true;
}
CMD:getgift(playerid, params[])
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	{
		if(playercanGetGift[playerid] == true)
                {
			if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
			SCM(playerid,COLOR_WHITE,"{FFFF00}You received 5000$ as a Christmas Gift.");
			GivePlayerCash(playerid,5000);
			Update(playerid, pCashx);
                        SetTimerEx("getgift", 10800000, false, "d", playerid); // timer 3 hours or you can edit it to 1000 * 60 * 60 * 3
                        playercanGetGift[playerid] = false;
		}
                else
		{
			SCM(playerid, COLOR_WHITE, "{FFFF00}You can only get gift every 3 hours.");
		}
	}
	return 1;
}
| Код: new bool:playercanGetGift[MAX_PLAYERS]; //put this on top of your script
forward getgift(playerid);
public getgift(playerid)
{
	playercanGetGift[playerid] = true;
}
CMD:getgift(playerid, params[])
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	{
		if(playercanGetGift[playerid] == true)
                {
			if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
			SCM(playerid,COLOR_WHITE,"{FFFF00}You received 5000$ as a Christmas Gift.");
			GivePlayerCash(playerid,5000);
			Update(playerid, pCashx);
                        SetTimerEx("getgift", 10800000, false, "d", playerid); // timer 3 hours or you can edit it to 1000 * 60 * 60 * 3
                        playercanGetGift[playerid] = false;
		}
                else
		{
			SCM(playerid, COLOR_WHITE, "{FFFF00}You can only get gift every 3 hours.");
		}
	}
	return 1;
} | 
| This should work, I didn't compile or test it, if you find anything wrong reply Код: new giftCooldown[MAX_PLAYERS]; // In top of your script
		
CMD:getgift(playerid, params[]) // in your commands
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	{
		new currenttime = gettime();
		if(currenttime < (giftCooldown[playerid] + 6480)) return SendClientMessage(playerid, COLOR_GREY, "Wait before using the command again");
		if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
		SCM(playerid,COLOR_WHITE,"{FFFF00}You received 5000$ as a Christmas Gift.");
	GivePlayerCash(playerid, randomEx(1000, 10000));
		Update(playerid, pCashx);
		giftCooldown[playerid] = gettime();
	}
	return 1;
}	
randomEx(min, max) // where you put your functions or under the command
{
    new rand = random (max - min) + min;
    return rand;
} | 
| Thanks for your help, now just one small question, the 6800 represent 3 hours ? cause I want to fix the SCM and add how much time left for him to use the cmd. | 
| Wrong calculation change 6800 to 10800, 10800 / 60 = 180, 180 / 60 = 3 hours or 60 * 60 * 3 = 10800 (3 hours) | 
CMD:getgift(playerid, params[]) // in your commands
{
	if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
	{
		new currenttime = gettime();
		if(currenttime < (giftCooldown[playerid] + 6480)) return SendClientMessage(playerid, COLOR_GREY, "Wait before using the command again");
		if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
		SCM(playerid,COLOR_WHITE,"{FFFF00}You received 5000$ as a Christmas Gift.");
		
		new moneyToGive, string[88];
		moneyToGive = randomEx(1000, 10000);
		GivePlayerCash(playerid, moneyToGive);
		format(string, sizeof(string), "{B7B7B7}[SERVER] {FFFFFF}You received %i as gift, merry christmas", moneyToGive);
		SendClientMessage(playerid, -1, string);
		
		Update(playerid, pCashx);
		giftCooldown[playerid] = gettime();
	}
	return 1;
}
new giftCooldown[MAX_PLAYERS]; // In top of your script
        
CMD:getgift(playerid, params[]) // in your commands
{
    if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "You need to login first.");
    {
        new currenttime = gettime();
        if(currenttime < (giftCooldown[playerid] + 6480)) return SendClientMessage(playerid, COLOR_GREY, "Wait before using the command again");
        if(!IsPlayerInRangeOfPoint(playerid, 7.0, 1022.8253, -1853.5532, 13.5724)) return SendClientMessage(playerid, COLOR_GREY, "You are not at /getgift location.");
        new prize = randomEx(1000, 10000);
        new tmpstr[128];
        format(tmpstr, sizeof(tmpstr), "{FFFF00}You received $%i as a Christmas Gift.", prize);
        SCM(playerid,COLOR_WHITE,tmpstr);
        GivePlayerCash(playerid, prize);
        Update(playerid, pCashx);
        giftCooldown[playerid] = gettime();
    }
    return 1;
}    
randomEx(min, max) // where you put your functions or under the command
{
    new rand = random (max - min) + min;
    return rand;
}