SA-MP Forums Archive
Help timer - 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: Help timer (/showthread.php?tid=522139)



Help timer - madalin912 - 26.06.2014

How I can use a command once to 1 minute?



In order that:

pawn Код:
/===================/recrutez==========================================================
if(strcmp(cmd, "/recrutezmedics", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pLeader] != 4)
            {
            SCM(playerid, COLOR_GREY, "* Nu esti Leader Medics!");
            return 1;
            }
            if(PlayerInfo[playerid][pMuted] == 1)
            {
                SendClientMessage(playerid, TEAM_CYAN_COLOR, " You can't speak, you have been silenced!");
                return 1;
            }
            else
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /recrutez [text]");
                return 1;
            }
            if(PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pHelper] == 0)
                {
                    for(new i=0; i<MAX_ENTRY; i++)
                    {
                        if(!Swear[i][0]) continue;
                        Cenzura(result,Swear[i]);
                    }
                }
            SendClientMessageToAll(COLOR_WHITE, "|___________ MEDICS NEWS ANNOUNCEMENT ___________|");
            format(string, sizeof(string), "Leader %s says new announce:  %s", sendername, result);
            SendClientMessageToAll(COLOR_LIGHTRED, string);
        }
        return 1;
    }



Re: Help timer - [MG]Dimi - 26.06.2014

pawn Код:
//top of script
new medictickcount[MAX_PLAYERS];


//your new cmd
if(strcmp(cmd, "/recrutezmedics", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pLeader] != 4) return SCM(playerid, COLOR_GREY, "* Nu esti Leader Medics!");
            if(PlayerInfo[playerid][pMuted] == 1) return SendClientMessage(playerid, TEAM_CYAN_COLOR, " You can't speak, you have been silenced!");
            if((GetTickCount()-medictickcount[playerid])<60*1000) return SCM(playerid,COLOR_GREY,"You can use this command only once every minute!");
           
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /recrutez [text]");
                return 1;
            }
            if(PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pHelper] == 0)
                {
                    for(new i=0; i<MAX_ENTRY; i++)
                    {
                        if(!Swear[i][0]) continue;
                        Cenzura(result,Swear[i]);
                    }
                }
            SendClientMessageToAll(COLOR_WHITE, "|___________ MEDICS NEWS ANNOUNCEMENT ___________|");
            format(string, sizeof(string), "Leader %s says new announce:  %s", sendername, result);
            SendClientMessageToAll(COLOR_LIGHTRED, string);
            medictickcount[playerid] = GetTickCount();
        }
        return 1;
    }
Cheers.


Re: Help timer - Rittik - 26.06.2014

Код:
new limit[MAX_PLAYERS];
OnPlayerConnect
Код:
limit[playerid] = 0;
OnPlayerDisconnect
Код:
limit[playerid] = 0;
Then,
Код:
if(strcmp(cmd, "/recrutezmedics", true) == 0)
    {
        if(limit[playerid] == 0)
        {
        limit[playerid]=1;
        SetTimerEx("TimeLimit",60000,false,"i",playerid);
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pLeader] != 4)
            {
            SCM(playerid, COLOR_GREY, "* Nu esti Leader Medics!");
            return 1;
            }
            if(PlayerInfo[playerid][pMuted] == 1)
            {
                SendClientMessage(playerid, TEAM_CYAN_COLOR, " You can't speak, you have been silenced!");
                return 1;
            }
            else
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /recrutez [text]");
                return 1;
            }
            if(PlayerInfo[playerid][pAdmin] == 0 || PlayerInfo[playerid][pHelper] == 0)
                {
                    for(new i=0; i<MAX_ENTRY; i++)
                    {
                        if(!Swear[i][0]) continue;
                        Cenzura(result,Swear[i]);
                    }
                }
            SendClientMessageToAll(COLOR_WHITE, "|___________ MEDICS NEWS ANNOUNCEMENT ___________|");
            format(string, sizeof(string), "Leader %s says new announce:  %s", sendername, result);
            SendClientMessageToAll(COLOR_LIGHTRED, string);
        }
        }
        else
        {
         SendClientMessage(playerid,-1,"Wait at least 1 min");
         return 1;
        }
        return 1;
    }
Then,
Код:
forward TimeLimit(playerid);
public TimeLimit(playerid)
{
 limit[playerid] = 0;
}



Re: Help timer - madalin912 - 26.06.2014

But where's the time? I want to put a time using the command, 1 minutes.


Re: Help timer - Rittik - 26.06.2014

Код:
SetTimerEx("TimeLimit",60000,false,"i",playerid);
This is the function which start the 1 minute countdown.


Re: Help timer - [MG]Dimi - 26.06.2014

And in my code
pawn Код:
if((GetTickCount()-medictickcount[playerid])<60*1000) return SCM(playerid,COLOR_GREY,"You can use this command only once every minute!");
Checks has command been used in previous minute.


Re: Help timer - madalin912 - 26.06.2014

Thank you!

And how do you bag and the other commands?