SA-MP Forums Archive
Timer between commands help + REP - 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: Timer between commands help + REP (/showthread.php?tid=573521)



Timer between commands help + REP - dundolina - 08.05.2015

Hello i have this 2 commands. When some player start robbery and when robbery is stopped i need timer of 30 minutes before some other player use this command. This is my two commands, the timer is for /startrobbank.

Код:
 	
					if(strcmp(cmd, "/startrobbank", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    if(robmoneyb == 0)
	    {
		        if(IsPlayerInRangeOfPoint(playerid, 3,2316.6194,-10.2736,26.7422) || IsPlayerInRangeOfPoint(playerid, 3,292.4554,180.2579,1007.1794) || IsPlayerInRangeOfPoint(playerid, 3,246.3674,118.5374,1003.2188))
		        {
					PlayerInfo[playerid][pZvezda1] += 1;
					PlayerInfo[playerid][pWantedLevel] += 1;
										if(PlayerInfo[playerid][pWantedLevel] == 1)
					{
SetPlayerWantedLevel(playerid,1);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 2)
					{
SetPlayerWantedLevel(playerid,2);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 3)
					{
SetPlayerWantedLevel(playerid,3);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 4)
					{
SetPlayerWantedLevel(playerid,4);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 5)
					{
SetPlayerWantedLevel(playerid,5);
					}
										if(PlayerInfo[playerid][pWantedLevel] >= 6)
					{
SetPlayerWantedLevel(playerid,6);
					}
										                    format(string, sizeof(string), "ROB: Ти стартира обир на банка, внимавай да не те убият!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
	                					                    format(string, sizeof(string), "ROB: Ако отидеш надалеч от банката няма да можеш да взимаш пари, за да прекратиш обира използвай /stoprobbank!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
	                					                    format(string, sizeof(string), "ROB: Ти получи +1 Wanted Level, защото се опитваш да ограбиш банка!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
                 format(string, sizeof(string), "ROB: Някой се опитва да обере банка!");
	                SendClientMessageToAll(COLOR_ORANGE,string);
PlayerInfo[playerid][pRoberB] = 1;
PlayerInfo[playerid][pRobB] = 1*2;
TextDrawShowForPlayer(playerid, robb[playerid]);
}
else
{
					                    format(string, sizeof(string), "Ти не си в банка!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}

}
else
{
					                    format(string, sizeof(string), "В момента има обир!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}
		}
		return 1;
	}

					if(strcmp(cmd, "/stoprobbank", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    if(PlayerInfo[playerid][pRoberB] == 1)
	 {
	    TextDrawHideForPlayer(playerid, robb[playerid]);
                 format(string, sizeof(string), "ROB: Обира беше прекратен, този които се опитваше да ограби банка получи $%d!",robmoneyb);
	                SendClientMessageToAll(COLOR_ORANGE,string);
                 format(string, sizeof(string), "ROB: Браво, ти обра $%d от банката!",robmoneyb);
	                SendClientMessage(playerid, COLOR_ORANGE,string);
PlayerInfo[playerid][pRobB] = 0;
GivePlayerMoney(playerid, robmoneyb);
robmoneyb = 0;
}
else
{
					                    format(string, sizeof(string), "Ти не се опитваш да обереш банка и не можеш да използваш тази команда!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}
		}
		return 1;
	}



AW: Timer between commands help + REP - Mencent - 08.05.2015

Hello!

Do you mean it like this?
PHP код:
new RobTimer;//global in the script!!
if(!strcmp(cmd,"/startrobbank",true))
{
    if(
IsPlayerConnected(playerid))
    {
        if(
robmoneyb == 0)
        {
            if(
IsPlayerInRangeOfPoint(playerid,3,2316.6194,-10.2736,26.7422) || IsPlayerInRangeOfPoint(playerid3,292.4554,180.2579,1007.1794) || IsPlayerInRangeOfPoint(playerid3,246.3674,118.5374,1003.2188))
            {
                if(
RobTimer gettime())
                {
                    
format(string,sizeof string,"You have to wait %i seconds for the next rob!",RobTimer gettime());
                    return 
SendClientMessage(playerid,-1,string);
                }
                
PlayerInfo[playerid][pZvezda1] += 1;
                
PlayerInfo[playerid][pWantedLevel] += 1;
                if(
PlayerInfo[playerid][pWantedLevel] < 6)SetPlayerWantedLevel(playerid,PlayerInfo[playerid][pWantedLevel]);
                else if(
PlayerInfo[playerid][pWantedLevel] >= 6)SetPlayerWantedLevel(playerid,6);
                
format(stringsizeof(string), "ROB: Ти стартира обир на банка, внимавай да не те убият!");
                 
SendClientMessage(playeridCOLOR_ORANGE,string);
                 
format(stringsizeof(string), "ROB: Ако отидеш надалеч от банката няма да можеш да взимаш пари, за да прекратиш обира използвай /stoprobbank!");
                  
SendClientMessage(playeridCOLOR_ORANGE,string);
                 
format(stringsizeof(string), "ROB: Ти получи +1 Wanted Level, защото се опитваш да ограбиш банка!");
                
SendClientMessage(playeridCOLOR_ORANGE,string);
                
format(stringsizeof(string), "ROB: Някой се опитва да обере банка!");
                 
SendClientMessageToAll(COLOR_ORANGE,string);
                 
PlayerInfo[playerid][pRoberB] = 1;
                
PlayerInfo[playerid][pRobB] = 1*2;
                
TextDrawShowForPlayer(playeridrobb[playerid]);
                
RobTimer gettime() + 1800;
            }
            else
            {
                
format(stringsizeof(string), "Ти не си в банка!");
                 
SendClientMessage(playeridCOLOR_GRAD1,string);
            }
        }
        else
        {
             
format(stringsizeof(string), "В момента има обир!");
            
SendClientMessage(playeridCOLOR_GRAD1,string);
        }
    }
    return 
1;

Or you want to add the 30 minutes if the player types the command "/stoprobbank"?


Re: Timer between commands help + REP - StR_MaRy - 08.05.2015

add me on skype: strmary95 and i will help you with scripting


Re: AW: Timer between commands help + REP - dundolina - 09.05.2015

Quote:
Originally Posted by Mencent
Посмотреть сообщение
Hello!

Do you mean it like this?
PHP код:
new RobTimer;//global in the script!!
if(!strcmp(cmd,"/startrobbank",true))
{
    if(
IsPlayerConnected(playerid))
    {
        if(
robmoneyb == 0)
        {
            if(
IsPlayerInRangeOfPoint(playerid,3,2316.6194,-10.2736,26.7422) || IsPlayerInRangeOfPoint(playerid3,292.4554,180.2579,1007.1794) || IsPlayerInRangeOfPoint(playerid3,246.3674,118.5374,1003.2188))
            {
                if(
RobTimer gettime())
                {
                    
format(string,sizeof string,"You have to wait %i seconds for the next rob!",RobTimer gettime());
                    return 
SendClientMessage(playerid,-1,string);
                }
                
PlayerInfo[playerid][pZvezda1] += 1;
                
PlayerInfo[playerid][pWantedLevel] += 1;
                if(
PlayerInfo[playerid][pWantedLevel] < 6)SetPlayerWantedLevel(playerid,PlayerInfo[playerid][pWantedLevel]);
                else if(
PlayerInfo[playerid][pWantedLevel] >= 6)SetPlayerWantedLevel(playerid,6);
                
format(stringsizeof(string), "ROB: Ти стартира обир на банка, внимавай да не те убият!");
                 
SendClientMessage(playeridCOLOR_ORANGE,string);
                 
format(stringsizeof(string), "ROB: Ако отидеш надалеч от банката няма да можеш да взимаш пари, за да прекратиш обира използвай /stoprobbank!");
                  
SendClientMessage(playeridCOLOR_ORANGE,string);
                 
format(stringsizeof(string), "ROB: Ти получи +1 Wanted Level, защото се опитваш да ограбиш банка!");
                
SendClientMessage(playeridCOLOR_ORANGE,string);
                
format(stringsizeof(string), "ROB: Някой се опитва да обере банка!");
                 
SendClientMessageToAll(COLOR_ORANGE,string);
                 
PlayerInfo[playerid][pRoberB] = 1;
                
PlayerInfo[playerid][pRobB] = 1*2;
                
TextDrawShowForPlayer(playeridrobb[playerid]);
                
RobTimer gettime() + 1800;
            }
            else
            {
                
format(stringsizeof(string), "Ти не си в банка!");
                 
SendClientMessage(playeridCOLOR_GRAD1,string);
            }
        }
        else
        {
             
format(stringsizeof(string), "В момента има обир!");
            
SendClientMessage(playeridCOLOR_GRAD1,string);
        }
    }
    return 
1;

Or you want to add the 30 minutes if the player types the command "/stoprobbank"?
Yeah i need when player type the command after that to have 30 minutes and after this minutes he can again to write the command.


AW: Timer between commands help + REP - Mencent - 09.05.2015

If the player types "/stoprobbank" then the 30 minutes should start or if he types "/startrobbank"?
You have to say the exactly command.


Re: Timer between commands help + REP - justice96 - 09.05.2015

Код:
new robtimer[MAX_PLAYERS];
new robplay[MAX_PLAYERS];

forward RobTimers(playerid);
public RobTimers(playerid)
{
   SendClientMessage(playerid, -1, "ROBINFO: You're now can use the cmd '/robbank' again");
   robtimer[playerid] = 0;
}

CMD:robbank(playerid,params[])
{
   if(robtimer[playerid] == 1)
   return SendClientMessage(playerid, -1,"ERROR: You can use this command once every 30 minutes!");
   // bla bla bla
   robtimer[playerid] = 1;
   robplay[playerid] = SetTimerEx("RobTimers", // input for the minutes, false, "d", playerid);
   return 1;
}
I just imagine like that


Re: Timer between commands help + REP - dundolina - 09.05.2015

When players types /startrobbank.


Re: Timer between commands help + REP - dundolina - 09.05.2015

Yeah something like that, justice96. But i need exactly for my command not CMD.


Re: Timer between commands help + REP - justice96 - 09.05.2015

Quote:
Originally Posted by dundolina
Посмотреть сообщение
Yeah something like that, justice96. But i need exactly for my command not CMD.
I got it now, let me take a few minutes or so.


Re: Timer between commands help + REP - dundolina - 09.05.2015

I dont need for this command anymore, i need for this two commands. /rob should be for 30 minutes and /startrobatm should be for 1 hour. Thanks for helping, this is my commands:

Код:
	if(strcmp(cmd, "/rob", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	 if(robmoneyn == 0)
	 {
		        if(IsPlayerInRangeOfPoint(playerid, 3, 2463.1233,-1957.5519,16.7929) || IsPlayerInRangeOfPoint(playerid, 3, 1965.7695,1623.1764,12.8623) || IsPlayerInRangeOfPoint(playerid, 3, 1965.7695,1623.1764,12.8623) || IsPlayerInRangeOfPoint(playerid, 3, 2316.6194,-10.2736,26.7422) || IsPlayerInRangeOfPoint(playerid, 3, 292.4554,180.2579,1007.1794) || IsPlayerInRangeOfPoint(playerid, 3, 246.3674,118.5374,1003.2188))
		        {
		        	    if(PlayerInfo[playerid][pRoberN] == 1)
	    {
					PlayerInfo[playerid][pZvezda1] += 1;
					PlayerInfo[playerid][pWantedLevel] += 1;
										if(PlayerInfo[playerid][pWantedLevel] == 1)
					{
SetPlayerWantedLevel(playerid,1);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 2)
					{
SetPlayerWantedLevel(playerid,2);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 3)
					{
SetPlayerWantedLevel(playerid,3);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 4)
					{
SetPlayerWantedLevel(playerid,4);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 5)
					{
SetPlayerWantedLevel(playerid,5);
					}
										if(PlayerInfo[playerid][pWantedLevel] >= 6)
					{
SetPlayerWantedLevel(playerid,6);
					}
										                    format(string, sizeof(string), "ROB: Ти стартира обир на банкомат, внимавай да не те убият!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
	                					                    format(string, sizeof(string), "ROB: Ако отидеш надалеч от мястото няма да можеш да взимаш пари, за да прекратиш обира използвай /stoprobatm!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
	                					                    format(string, sizeof(string), "ROB: Ти получи +1 Wanted Level, защото се опитваш да правиш обир!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
                 format(string, sizeof(string), "ROB: Човека/групичката която стартираха обира вече започнаха да взимат пари!");
	                SendClientMessageToAll(COLOR_ORANGE,string);
PlayerInfo[playerid][pRobN] = 1*2;
TextDrawShowForPlayer(playerid, robn[playerid]);

}
else
{
					                    format(string, sizeof(string), "Ти не си лидер на обир!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}

}
else
{
					                    format(string, sizeof(string), "Ти не си до място за обир, използвай /robgps за да разбереш къде има места!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}

}
else
{
					                    format(string, sizeof(string), "В момента има обир!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}
		}
		return 1;
	}
Код:
			if(strcmp(cmd, "/startrobatm", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	    if(robmoney == 0)
	    {
		        if(IsPlayerInRangeOfPoint(playerid, 3, 1538.9622,-1615.7970,13.5469) || IsPlayerInRangeOfPoint(playerid, 3, 1239.4000,-2040.8185,59.9064) || IsPlayerInRangeOfPoint(playerid, 3, 1124.7527,-1772.4393,16.5938) || IsPlayerInRangeOfPoint(playerid, 3, 2097.8191,1452.0093,10.8203) || IsPlayerInRangeOfPoint(playerid, 3, 2194.5977,1987.5732,12.2969) || IsPlayerInRangeOfPoint(playerid, 3, -2269.8289,-158.8478,35.3203) || IsPlayerInRangeOfPoint(playerid, 3, 257.5424,68.5065,1003.6406))
		        {
					PlayerInfo[playerid][pZvezda1] += 1;
					PlayerInfo[playerid][pWantedLevel] += 1;
										if(PlayerInfo[playerid][pWantedLevel] == 1)
					{
SetPlayerWantedLevel(playerid,1);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 2)
					{
SetPlayerWantedLevel(playerid,2);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 3)
					{
SetPlayerWantedLevel(playerid,3);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 4)
					{
SetPlayerWantedLevel(playerid,4);
					}
										if(PlayerInfo[playerid][pWantedLevel] == 5)
					{
SetPlayerWantedLevel(playerid,5);
					}
										if(PlayerInfo[playerid][pWantedLevel] >= 6)
					{
SetPlayerWantedLevel(playerid,6);
					}
										                    format(string, sizeof(string), "ROB: Ти стартира обир на банкомат, внимавай да не те убият!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
	                					                    format(string, sizeof(string), "ROB: Ако отидеш надалеч от банкомата няма да можеш да взимаш пари, за да прекратиш обира използвай /stoprobatm!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
	                					                    format(string, sizeof(string), "ROB: Ти получи +1 Wanted Level, защото се опитваш да ограбиш банкомат!");
	                SendClientMessage(playerid, COLOR_ORANGE,string);
                 format(string, sizeof(string), "ROB:Някой се опитва да обере банкомат.");
	                SendClientMessageToAll(COLOR_ORANGE,string);
PlayerInfo[playerid][pRober] = 1;
PlayerInfo[playerid][pRob1] = 1*2;
TextDrawShowForPlayer(playerid, rob[playerid]);
}
else
{
					                    format(string, sizeof(string), "Ти не си до банкомат!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}

}
else
{
					                    format(string, sizeof(string), "В момента има обир!");
	                SendClientMessage(playerid, COLOR_GRAD1,string);
}
		}
		return 1;
	}