Timer Help and Jail Command for RPG Server.
#1

Hello Friends !

My Game Timer is not moving and I want to Fix it. How can I fix it that It runs normally and Also I want to make /ajail Command. Like:

/ajail <playerid> <seconds> <reason>

So, Player Teleported to SFPD (set your own interior, i will edit it). And his Jail seconds runs normally like:

500 seconds, 499 seconds etc. How can I do it?
Reply
#2

And How to remove that Burger Shops from Map?

Reply
#3

Made /ajail Command:

pawn Code:
CMD:ajail(playerid,params[])
{
    if(pInfo[playerid][pAdminlevel]> 1 ) return 0;
    new id,time,reason[100],PlayerName[MAX_PLAYER_NAME],GPlayerName[MAX_PLAYER_NAME];
    new szString[100];
    if(sscanf(params,"dds",id,time,reason)) return SendClientMessage(playerid, COLOR_RED1, "[ ! ] USAGE: /ajail <playerid> <time> <reason>");
    if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "[ ! ] Invalid Player ID !");
    if(Jailed[id] == 1) return SendClientMessage(playerid, COLOR_RED, "[ ! ] Player is already in Jail !");
    GetPlayerName(id, PlayerName, sizeof(PlayerName));// the jailed person id
    GetPlayerName(playerid, GPlayerName, sizeof(GPlayerName));
    format(szString, sizeof(szString), "[ ! ] %s has been jailed by %s for %d seconds for %s", PlayerName, id, playerid, time, reason);
    SendClientMessageToAll(COLOR_WS, szString);
    {
        SetPlayerInterior(id, 3);//sets player interior
        SetPlayerVirtualWorld(id, 10);//sets player vw
        SetPlayerFacingAngle(id, 360.0);//player angle
        SetPlayerPos(id, 197.5662, 175.4800, 1004.0);//player pos
        SetPlayerHealth(id, 9999999999.0);//player cannot be killed
        ResetPlayerWeapons(id);//resets his weapons
        JailTimer[id] = SetTimerEx("Unjail",time*60000, false, "i", id);//jail timer
    }
    else //Line 814
    {
        return 0;//sends : Server:Unknown Command.
    }
    return 1; //Line 818
}
But Finding Error:

pawn Code:
E:\Scritping\gamemodes\Gamemode.pwn(814) : error 029: invalid expression, assumed zero
E:\Scritping\gamemodes\Gamemode.pwn(818) : warning 225: unreachable code
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Can any One Help me in Fixing it?
Reply
#4

You open brace with no reason and you have an else statement without even having an if before.
pawn Code:
// ...
    SendClientMessageToAll(COLOR_WS, szString);
    SetPlayerInterior(id, 3);//sets player interior
    SetPlayerVirtualWorld(id, 10);//sets player vw
    SetPlayerFacingAngle(id, 360.0);//player angle
    SetPlayerPos(id, 197.5662, 175.4800, 1004.0);//player pos
    SetPlayerHealth(id, 9999999999.0);//player cannot be killed
    ResetPlayerWeapons(id);//resets his weapons
    JailTimer[id] = SetTimerEx("Unjail",time*60000, false, "i", id);//jail timer
    return 1; //Line 818
}
Reply
#5

pawn Code:
CMD:ajail(playerid,params[])
{
    if(pInfo[playerid][pAdminlevel]> 1 ) return 0;
    new id,time,reason[100],PlayerName[MAX_PLAYER_NAME],GPlayerName[MAX_PLAYER_NAME];
    new szString[100];
    if(sscanf(params,"uds[100]",id,time,reason)) return SendClientMessage(playerid, COLOR_RED1, "[ ! ] USAGE: /ajail <playerid> <time> <reason>");
    if (!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_RED, "[ ! ] Invalid Player ID !");
    if(Jailed[id] == 1) return SendClientMessage(playerid, COLOR_RED, "[ ! ] Player is already in Jail !");
    GetPlayerName(id, PlayerName, sizeof(PlayerName));// the jailed person id
    GetPlayerName(playerid, GPlayerName, sizeof(GPlayerName));
    format(szString, sizeof(szString), "[ ! ] %s has been jailed by %s for %d seconds for %s", PlayerName, id, playerid, time, reason);
    SendClientMessageToAll(COLOR_WS, szString);
    SetPlayerInterior(id, 3);//sets player interior
    SetPlayerVirtualWorld(id, 10);//sets player vw
    SetPlayerFacingAngle(id, 360.0);//player angle
    SetPlayerPos(id, 197.5662, 175.4800, 1004.0);//player pos
    SetPlayerHealth(id, 9999999999.0);//player cannot be killed
    ResetPlayerWeapons(id);//resets his weapons
    Jailed[id] = 1;
    JailTimer[id] = SetTimerEx("Unjail",time*1000, false, "i", id); // Changed 60000 to 1000.
    return 1;
}
What Konstantinos said + you forgot to set the Jailed variable to 1 after jailing, your sscanf format was "dds" when it should have been "uds[100]" and your jail time is in minutes because you used time * 60000, so if you jail a player for 60 seconds, he will be unjailed after 1 hour.
Reply
#6

  • Check you OnPlayerConnect and delete all the SetPlayerMapIconLocal
  • pawn Code:
    YCMD:jail(playerid,params[],help)
    {
        if(pInfo[playerid][WazzAdmLevel] >= 2)
        {
            new id,stime,reason[50];
            if(sscanf(params,"uis[50]",id,stime,reason))
            {
                SendClientMessage(playerid,COLOR_RED,"USAGE: /jail [playerid] [seconds] [reason]");
                SendClientMessage(playerid,COLOR_RED,"Defaul second for player = 1");
                return 1;
            }
            if(stime == 1)
            {
                 SetTimer("FreePlayer",second here,false);
            }
            SetPlayerPos(id, 197.6661,173.8179,1003.0234);
            SetPlayerInterior(id, 3);
            SetTimerEx("FreePlayer",stime*1000,false,"i",id);
            new string[128];
            format(string,sizeof(string),"AdminCMD: %s has been jailed by admin %s [REASON]: %s",GetName(id),GetName(playerid),reason);
            SendClientMessageToAll(COLOR_RED,string);
           
            pInfo[id][Jailed] = 1;
        }
        else return Error(playerid,2);
        return 1;
    }
  • took from WazAdmin
Reply
#7

Quote:
Originally Posted by MAFIAWARS
View Post
And How to remove that Burger Shops from Map?

And How to Fix it?
Reply
#8

Please Tell me How to remove that Burger Shop from Minimap?
Reply
#9

Quote:
Originally Posted by xganyx
View Post
  • Check you OnPlayerConnect and delete all the SetPlayerMapIconLocal
  • pawn Code:
    YCMD:jail(playerid,params[],help)
    {
        if(pInfo[playerid][WazzAdmLevel] >= 2)
        {
            new id,stime,reason[50];
            if(sscanf(params,"uis[50]",id,stime,reason))
            {
                SendClientMessage(playerid,COLOR_RED,"USAGE: /jail [playerid] [seconds] [reason]");
                SendClientMessage(playerid,COLOR_RED,"Defaul second for player = 1");
                return 1;
            }
            if(stime == 1)
            {
                 SetTimer("FreePlayer",second here,false);
            }
            SetPlayerPos(id, 197.6661,173.8179,1003.0234);
            SetPlayerInterior(id, 3);
            SetTimerEx("FreePlayer",stime*1000,false,"i",id);
            new string[128];
            format(string,sizeof(string),"AdminCMD: %s has been jailed by admin %s [REASON]: %s",GetName(id),GetName(playerid),reason);
            SendClientMessageToAll(COLOR_RED,string);
           
            pInfo[id][Jailed] = 1;
        }
        else return Error(playerid,2);
        return 1;
    }
  • took from WazAdmin
Have you see this?...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)