[Ajuda] My Sistema de Prisгo
#1

Tava tentando fazer um sistema de prisгo e deu certo, mas nгo consigo usar os comandos ( /presos /prender e /pagarfianca ) , onde estб o erro?
pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <DOF2>

new TempoPreso[MAX_PLAYERS], bool:Preso[MAX_PLAYERS];

public OnFilterScriptInit(){return 1;}
public OnFilterScriptExit(){DOF2_Exit();return 1;}

public OnPlayerSpawn(playerid)
{
    if(Preso[playerid] == true){ChecarPresos(playerid);}
    return 1;
}

CMD:prender(playerid, params[])
{
    new id,tempo,motivo;
    if(sscanf(params, "uds[128]", id,tempo,motivo)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /prender [id] [tempo] [motivo]");
    if(Preso[id] == true) return SendClientMessage(playerid, 0xC4C4FFAA, "[>] Este jogador jб estб preso.");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xC4C4FFAA, "[>] Jogador nгo estб conectado!");
    if(id == playerid) return SendClientMessage(playerid, 0xC4C4FFAA, "[>] Vocк nгo pode se prender.!");
    if(GetPlayerWantedLevel(id) < 1) return SendClientMessage(playerid, 0xC4C4FFAA, "[>] Este Jogador nгo estб procurado!");
    new nid[MAX_PLAYER_NAME], npd[MAX_PLAYER_NAME], str[200];
    TempoPreso[playerid] = SetTimerEx("Liberar", 60000 + tempo, false, "i", playerid);
    GetPlayerName(playerid, nid, sizeof(nid));
    GetPlayerName(id, npd, sizeof(npd));
    format(str, sizeof(str), "[ CADEIA ] O Policial %s prendeu vocк. (Motivo: %s) - Tempo: %s", nid, motivo, tempo);
    SendClientMessage(id, 0xA9C4E4AA, str);
    format(str, sizeof(str), "[ PRESOS ] Vocк prendeu o jogador '%s' (Motivo: %s) - Tempo: %s", npd, motivo, tempo);
    SendClientMessage(playerid, 0xA9C4E4AA, str);
    GameTextForPlayer(id, "~w~PRESO!", 3000, 0);
    ResetPlayerWeapons(id);
    ChecarPresos(id);
    return 1;
}

CMD:presos(playerid)
{
    SendClientMessage(playerid, 0x98FB98AA, "(!) Lista de Presidiarios :");
    new string[200];
    for(new i=0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            if(Preso[i] == true)
            {
                format(string, sizeof(string), "%s (%d) - Tempo : %s minuto(s)", nome(i), i , TempoPreso[i]);
                SendClientMessage(playerid, 0xFFFFFFAA, string);
            }
        }
    }
    return 1;
}

CMD:pagarfianca(playerid, params[])
{
    new str[128], id, sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(id, giveplayer, sizeof(giveplayer));
    if(sscanf(params, "u[128]", id)) return SendClientMessage(playerid, 0xC4C4FFAA, "Uso: /pagarfianca [id]");
    if(Preso[id] == false) return SendClientMessage(playerid, 0xC4C4FFAA, "[>] Este jogador nгo estб preso.");
    if (GetPlayerWantedLevel(id) == 1)
    {
        if (GetPlayerMoney(playerid) < 2000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$2000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -2000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$2000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$2000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    else if (GetPlayerWantedLevel(id) == 2)
    {
        if (GetPlayerMoney(playerid) < 4000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$4000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -4000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$4000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$4000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    else if (GetPlayerWantedLevel(id) == 3)
    {
        if (GetPlayerMoney(playerid) < 6000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$6000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -6000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$6000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$6000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    else if (GetPlayerWantedLevel(id) == 4)
    {
        if (GetPlayerMoney(playerid) < 8000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$8000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -8000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$8000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$8000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    else if (GetPlayerWantedLevel(id) == 5)
    {
        if (GetPlayerMoney(playerid) < 10000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$10000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -10000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$10000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$10000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    else if (GetPlayerWantedLevel(id) == 6)
    {
        if (GetPlayerMoney(playerid) < 12000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$12000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -12000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$12000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$12000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    else if (GetPlayerWantedLevel(id) > 7)
    {
        if (GetPlayerMoney(playerid) < 25000) return SendClientMessage(playerid, 0xFF0000AA, "[ CADEIA ] Vocк precisa ter R$25000 para pagar a fianзa desse jogador e retirб-lo da prisгo.");
        KillTimer(TempoPreso[id]);
        GivePlayerMoney(playerid, -25000);
        format(str, sizeof(str), "[ CADEIA ] O jogador %s pagou a sua fianзa de R$25000 e vocк foi solto da prisгo.", sendername);
        SendClientMessage(id, 0xA9C4E4AA, str);
        format(str, sizeof(str), "[ CADEIA ] Vocк pagou a fianзa de R$25000 para soltar o jogador %s da prisгo.", giveplayer);
        SendClientMessage(playerid, 0xA9C4E4AA, str);
        SetPlayerInterior(id, 6);
        SetPlayerPos(id, 265.9714, 83.1550, 1001.0391);
        SetPlayerWantedLevel(id, 0);
        Preso[id] = false;
    }
    ChecarPresos(id);
    return 1;
}

stock nome(playerid){new nj[MAX_PLAYER_NAME];GetPlayerName(playerid, nj, sizeof(nj));return nj;}
stock ChecarPresos(playerid)
{
    if(Preso[playerid] == true)
    {
        new conta[200];
        format(conta, sizeof(conta), "Contas/Presidiarios/%s.ini", nome(playerid));
        if(GetPlayerWantedLevel(playerid) == 1)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 120000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
        else if(GetPlayerWantedLevel(playerid) == 2)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 240000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
        else if(GetPlayerWantedLevel(playerid) == 3)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 480000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
        else if(GetPlayerWantedLevel(playerid) == 4)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 600000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
        else if(GetPlayerWantedLevel(playerid) == 5)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 720000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
        else if(GetPlayerWantedLevel(playerid) == 6)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 840000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
        else if(GetPlayerWantedLevel(playerid) > 7)
        {
            DOF2_SetString(conta, "TempoPreso", TempoPreso[playerid]);
            DOF2_SetString(conta, "TempoPreso", Preso[playerid]);
            SetPlayerInterior(playerid, 6);
            Preso[playerid] = true;
            GameTextForPlayer(playerid, "~w~PRESO!", 3000, 0);
            SetPlayerPos(playerid, 264.5996, 77.7367, 1001.0391);
            TempoPreso[playerid] = SetTimerEx("Liberar", 900000, false, "i", playerid);
            ResetPlayerWeapons(playerid);
        }
    }
    DOF2_SaveFile();
}

public OnPlayerDeath(playerid, killerid, reason){ChecarPresos(playerid);return 1;}

forward Liberar(playerid);
public Liberar(playerid)
{
    static conta[200];
    format(conta, sizeof(conta), "Contas/Presidiarios/%s.ini", nome(playerid));
    DOF2_SetInt(conta, "TempoPreso", 0);
    DOF2_SetInt(conta, "TempoPreso", 0);
    SetPlayerInterior(playerid, 6);
    SetPlayerPos(playerid, 265.9714, 83.1550, 1001.0391);
    SetPlayerWantedLevel(playerid, 0);
    Preso[playerid] = false;
    SendClientMessage(playerid, 0xA9C4E4AA, "[ CADEIA ] Vocк foi solto automбticamente por cumprir a sua pena na cadeia!");
    KillTimer(TempoPreso[playerid]);
    return true;
}
Reply
#2

Alguem?
Reply
#3

Quote:

mas nгo consigo usar os comandos ( /presos /prender e /pagarfianca )

oque acotece?
Reply
#4

Nгo usa.. como se nгo existi-se o comando.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)