Timer not being called
#1

The timer is called once, but when another player is arrested it doesnt get called.
pawn Код:
CMD:arrest(playerid, params[])
{
    //code here

    jailed[targetid] = 1;
    SetTimer("UnJail",30000,false);

    //more code here
    return 1;
}
Calling timer
pawn Код:
public UnJail()
{
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(jailed[i] == 1)
        {
            SetPlayerPos(i, 1555.097900, -1675.848754, 16.195312);
            SetPlayerInterior(i, 0);
            jailed[i] = 0;
        }
        return 1;
    }
    return 1;
}
Reply
#2

Use SetTimerEx.
Reply
#3

Quote:
Originally Posted by MP2
Посмотреть сообщение
Use SetTimerEx.
Can you explain SetTimerEx?

Код:
(funcname[], interval, repeating, const format[], {Float,_}:...)
i dont understand the
Код:
1337, "hello!");
on the samp wiki.
Reply
#4

pawn Код:
CMD:arrest(playerid, params[])
{
    //code here

    jailed[targetid] = 1;
    SetTimerEx("UnJail", 30000, true, "i", targetid);
   
    //more code here
    return 1;
}
Reply
#5

Quote:
Originally Posted by WagnerPM
Посмотреть сообщение
pawn Код:
CMD:arrest(playerid, params[])
{
    //code here

    jailed[targetid] = 1;
    SetTimerEx("UnJail", 30000, true, "i", targetid);
   
    //more code here
    return 1;
}
Also you gotta change your forward and your function to:

pawn Код:
public UnJail(targetid)
{
        if(jailed[targetid] == 1)
        {
            SetPlayerPos(targetid, 1555.097900, -1675.848754, 16.195312);
            SetPlayerInterior(targetid, 0);
            jailed[targetid] = 0;
        }
        return 1;
}
This will make it so every player has their own jail timer instead of everyone being unjailed at once.
Reply
#6

Quote:
Originally Posted by DeathTone
Посмотреть сообщение
Also you gotta change your forward and your function to:

pawn Код:
public UnJail(targetid)
{
        if(jailed[targetid] == 1)
        {
            SetPlayerPos(targetid, 1555.097900, -1675.848754, 16.195312);
            SetPlayerInterior(targetid, 0);
            jailed[targetid] = 0;
        }
        return 1;
}
This will make it so every player has their own jail timer instead of everyone being unjailed at once.
Thanks. Works now
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)