/jail help [REP+]
#1

Hi, I am having trouble with this jail command, When I'm in game it only gives the player like a few seconds when I need them to be jailed for the amount of time the admin gives

pawn Code:
CMD:jail(playerid, params[])
{
    new string[128], giveplayerid, minutes, reason[64];
    if(sscanf(params, "uds[64]", giveplayerid, minutes, reason)) return SendClientMessageEx(playerid, COLOUR_WHITE, "[Usage] /jail [playerid] [minutes] [reason]");

    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
        if(IsPlayerConnected(giveplayerid))
        {
            ResetPlayerWeapons(giveplayerid);
            format(string, sizeof(string), "AdmCmd: %s (IP: %s) has been jailed by %s (IP: %s), reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerIPEx(giveplayerid), GetPlayerNameEx(playerid), GetPlayerIPEx(playerid), reason);
            AdminLog(string);
            format(string, sizeof(string), "AdmCmd: %s has been jailed by %s, reason: %s", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason);
            SendClientMessageToAllEx(COLOUR_LIGHTRED, string);
            ResetPlayerWeapons(giveplayerid);
            PlayerInfo[giveplayerid][pJailed] = 3;
            PlayerInfo[giveplayerid][pJailTime] = minutes*60
            SetPlayerInteriorEx(giveplayerid, 0);
            SetPlayerFacingAngle(giveplayerid, 0);
            SetPlayerPosEx(giveplayerid, 2577.0271, 2712.0884, 22.9507);
            format(string, sizeof(string), "You have been admin jailed for %d minutes. Reason: %s", minutes, reason);
            SendClientMessageEx(giveplayerid, COLOUR_GREEN, string);
        }
    }
    else
    {
        SendClientMessageEx(playerid, COLOUR_LIGHTRED, "* You are not authorized to use that command!");
    }
    return 1;
}
Reply
#2

Code:
PlayerInfo[giveplayerid][pJailTime] = minutes*1000
PlayerInfo[giveplayerid][pJailTime] = PlayerInfo[giveplayerid][pJailTime]*60
1000 miniseconds = 1 second.
Reply
#3

pawn Code:
// Top of gamemode:
new Float:pPos[MAX_PLAYERS][3];

////// COMMAND
CMD:jail(playerid, params[])
{
    new string[128], giveplayerid, minutes, reason[64];
    if(sscanf(params, "uds[64]", giveplayerid, minutes, reason))
        return SendClientMessageEx(playerid, COLOUR_WHITE, "[Usage] /jail [playerid] [minutes] [reason]");

    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
        if(IsPlayerConnected(giveplayerid))
        {
            ResetPlayerWeapons(giveplayerid);
            format(string, sizeof(string), "AdmCmd: %s (IP: %s) has been jailed by %s (IP: %s), reason: %s - minutes: %d", GetPlayerNameEx(giveplayerid), GetPlayerIPEx(giveplayerid), GetPlayerNameEx(playerid), GetPlayerIPEx(playerid), reason, minutes);AdminLog(string);
            format(string, sizeof(string), "AdmCmd: %s has been jailed by %s, reason: %s minutes: %d", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason, minutes);
            SetTimerEx("UnJail", 60000 * minutes, false, "ii", giveplayerid, minutes);
            GetPlayerPos(giveplayerid, pPos[playerid][0], pPos[playerid][1], pPos[playerid][2]);
            SendClientMessageToAllEx(COLOUR_LIGHTRED, string);
            ResetPlayerWeapons(giveplayerid);
            PlayerInfo[giveplayerid][pJailed] = 3;
            PlayerInfo[giveplayerid][pJailTime] = minutes*60
            SetPlayerInteriorEx(giveplayerid, 0);
            SetPlayerFacingAngle(giveplayerid, 0);
            SetPlayerPosEx(giveplayerid, 2577.0271, 2712.0884, 22.9507);
            format(string, sizeof(string), "You have been admin jailed for %d minutes. Reason: %s", minutes, reason);
            SendClientMessageEx(giveplayerid, COLOUR_GREEN, string);
        }
    }
    else
    {
        SendClientMessageEx(playerid, COLOUR_LIGHTRED, "* You are not authorized to use that command!");
    }
    return 1;
}

// Making this public:
UnJail(pid, temp); public UnJail(pid, temp)
{
    SetPlayerPos(pid, pPos[playerid][0], pPos[playerid][1], pPos[playerid][2]);
    SendClientMessage(pid, -1,"Unjailed.");
    return 1;
}
Reply
#4

Quote:
Originally Posted by Shetch
View Post
Code:
PlayerInfo[giveplayerid][pJailTime] = minutes*1000
PlayerInfo[giveplayerid][pJailTime] = PlayerInfo[giveplayerid][pJailTime]*60
1000 miniseconds = 1 second.
It works! Thank you! Rep+'ed

Quote:
Originally Posted by [Full]Garfield[XDB]
View Post
pawn Code:
// Top of gamemode:
new Float:pPos[MAX_PLAYERS][3];

////// COMMAND
CMD:jail(playerid, params[])
{
    new string[128], giveplayerid, minutes, reason[64];
    if(sscanf(params, "uds[64]", giveplayerid, minutes, reason))
        return SendClientMessageEx(playerid, COLOUR_WHITE, "[Usage] /jail [playerid] [minutes] [reason]");

    if (PlayerInfo[playerid][pAdmin] >= 2)
    {
        if(IsPlayerConnected(giveplayerid))
        {
            ResetPlayerWeapons(giveplayerid);
            format(string, sizeof(string), "AdmCmd: %s (IP: %s) has been jailed by %s (IP: %s), reason: %s - minutes: %d", GetPlayerNameEx(giveplayerid), GetPlayerIPEx(giveplayerid), GetPlayerNameEx(playerid), GetPlayerIPEx(playerid), reason, minutes);AdminLog(string);
            format(string, sizeof(string), "AdmCmd: %s has been jailed by %s, reason: %s minutes: %d", GetPlayerNameEx(giveplayerid), GetPlayerNameEx(playerid), reason, minutes);
            SetTimerEx("UnJail", 60000 * minutes, false, "ii", giveplayerid, minutes);
            GetPlayerPos(giveplayerid, pPos[playerid][0], pPos[playerid][1], pPos[playerid][2]);
            SendClientMessageToAllEx(COLOUR_LIGHTRED, string);
            ResetPlayerWeapons(giveplayerid);
            PlayerInfo[giveplayerid][pJailed] = 3;
            PlayerInfo[giveplayerid][pJailTime] = minutes*60
            SetPlayerInteriorEx(giveplayerid, 0);
            SetPlayerFacingAngle(giveplayerid, 0);
            SetPlayerPosEx(giveplayerid, 2577.0271, 2712.0884, 22.9507);
            format(string, sizeof(string), "You have been admin jailed for %d minutes. Reason: %s", minutes, reason);
            SendClientMessageEx(giveplayerid, COLOUR_GREEN, string);
        }
    }
    else
    {
        SendClientMessageEx(playerid, COLOUR_LIGHTRED, "* You are not authorized to use that command!");
    }
    return 1;
}

// Making this public:
UnJail(pid, temp); public UnJail(pid, temp)
{
    SetPlayerPos(pid, pPos[playerid][0], pPos[playerid][1], pPos[playerid][2]);
    SendClientMessage(pid, -1,"Unjailed.");
    return 1;
}
That will never work in my case, since I wanted the Jail Time to save to the players account.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)