Portal SAMP
[Pedido] Bom Galera Alguem disponibiliza - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Pedido] Bom Galera Alguem disponibiliza (/showthread.php?tid=1821)



Bom Galera Alguem disponibiliza - EU_COMI_UMA_VACA - 09/11/2021

2 COMANDOs base de/ soltar / prender/ e tbm um aviso dizendo q o player ta preso ainda.


RE: Bom Galera Alguem disponibiliza - geek - 09/11/2021

Código:
CMD:prender(playerid, params[])
{
    if(IsPlayerConnected(playerid))
    {
        if(IsACop(playerid) || PlayerInfo[playerid][pEmprego] == 7)
        {
            if(!PlayerToPoint(60.0, playerid, 1846.6278,-1721.8167,5202.5859))
            {
                SendClientMessage(playerid, COLOR_GREY, "Você não está perto da cela, não pode prender o suspeito !");
                return 1;
            }
            new suspect;
            new time;
            new string[180];
            if(sscanf(params, "dd", suspect, time))return SendClientMessage(playerid, COLOR_GRAD2, "USE: /prender [id] [tempo]");
            if(time < 3 || time > 80) { SendClientMessage(playerid, COLOR_GREY, "O Tempo não pode ser menor que 3 e nem maior que 80 minutos !"); return 1; }
            GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
            GetPlayerName(playerid, sendername, sizeof(sendername));
            if(IsPlayerConnected(suspect))
            {
                if(GetDistanceBetweenPlayers(playerid,suspect) < 15)
                {
                    if(IsACop(playerid) || PlayerInfo[playerid][pEmprego] == 7)
                    {
                        GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        if(IsACop(suspect))
                        {
                            SendClientMessage(playerid, COLOR_GRAD1, "Você não pode prender membros do governo!");
                            return 1;
                        }
                        if(Algemado[suspect] == 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "O Suspeito não está algemado !");
                            return true;
                        }
                        if(WantedPoints[suspect] < 1)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "O Jogador deve ter no mínimo 1 nível de procurado!");
                            return 1;
                        }
                        else if(WantedPoints[suspect] == 1)
                        {
                            if(time != 3)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [1] de procura, tempo de prisão 3 min(180 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 2)
                        {
                            if(time != 6)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [2] de procura, tempo de prisão 6 min(360 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 3)
                        {
                            if(time != 9)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [3] de procura, tempo de prisão 9 min(540 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 4)
                        {
                            if(time != 12)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [4] de procura, tempo de prisão 12 min(720 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 5)
                        {
                            if(time != 15)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [5] de procura, tempo de prisão 15 min(900 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 6)
                        {
                            if(time != 18)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [6] de procura, tempo de prisão 18 min(1080 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 7)
                        {
                            if(time != 21)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [7] de procura, tempo de prisão 21 min(1260 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 8)
                        {
                            if(time != 24)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [8] de procura, tempo de prisão 24 min(1440 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 9)
                        {
                            if(time != 27)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [9] de procura, tempo de prisão 27 min(1620 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 10)
                        {
                            if(time != 30)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [10] de procura, tempo de prisão 30 min(1800 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 11)
                        {
                            if(time != 33)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [11] de procura, tempo de prisão 33 min(1980 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 12)
                        {
                            if(time != 36)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [12] de procura, tempo de prisão 36 min(2160 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 13)
                        {
                            if(time != 39)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [13] de procura, tempo de prisão 39 min(2340 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 14)
                        {
                            if(time != 42)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [14] de procura, tempo de prisão 42 min(2520 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 15)
                        {
                            if(time != 45)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [15] de procura, tempo de prisão 45 min(2700 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 16)
                        {
                            if(time != 48)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [16] de procura, tempo de prisão 48 min(2880 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 17)
                        {
                            if(time != 51)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [17] de procura, tempo de prisão 51 min(3060 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 18)
                        {
                            if(time != 54)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [18] de procura, tempo de prisão 54 min(3240 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 19)
                        {
                            if(time != 57)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [19] de procura, tempo de prisão 57 min(3420 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] == 20)
                        {
                            if(time != 60)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [20] de procura, tempo de prisão 60 min(3600 segundos) !");
                                return 1;
                            }
                        }
                        else if(WantedPoints[suspect] >= 21)
                        {
                            if(time != 63)
                            {
                                SendClientMessage(playerid, COLOR_GRAD1, "Este jogador está com nivel [20+] de procura, tempo de prisão 63 min(3780 segundos) !");
                                return 1;
                            }
                        }
                        format(string, sizeof(string), "* Você prendeu o suspeito %s !", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "~n~~w~Preso por %s", sendername);
                        GameTextForPlayer(suspect, string, 2500, 5);
                        ResetPlayerWeaponsEx(suspect);
                        DeslogandoMulta[suspect] = 0;
                        DeslogandoEnforcer[suspect] = 0;
                        if(PlayerInfo[playerid][pEmprego] == 7)
                        {
                            new price = WantedPoints[suspect] * 100;
                            format(string, sizeof(string), "[%s] %s prendeu o suspeito: %s, Crimes[%d] Tempo[%d] e ganhou R$[%d].",NomeORG(playerid),PlayerName(playerid),giveplayer,WantedPoints[suspect],PlayerInfo[suspect][pJailTime],price);
                            GivePlayerMoneyEx(playerid, price / 1);
                            SendFamilyMessage(1, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(2, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(3, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(4, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(7, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(11, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(16, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(23, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(25, COLOR_LIGHTBLUE, string);
                            SendEmpregoMessage(7, COLOR_LIGHTBLUE, string);
                        }
                        if(IsACop(playerid))
                        {
                            new price = WantedPoints[suspect] * 100;
                            format(string, sizeof(string), "[%s] %s prendeu o suspeito: %s, Crimes[%d] Tempo[%d] e ganhou R$[%d].",NomeORG(playerid),PlayerName(playerid),giveplayer,WantedPoints[suspect],PlayerInfo[suspect][pJailTime],price);
                            GivePlayerMoneyEx(playerid, price / 1);
                            SendFamilyMessage(1, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(2, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(3, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(4, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(7, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(11, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(16, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(23, COLOR_LIGHTBLUE, string);
                            SendFamilyMessage(25, COLOR_LIGHTBLUE, string);
                            SendEmpregoMessage(7, COLOR_LIGHTBLUE, string);
                        }
                        if(localizarpen[suspect] == 1)
                        {
                            PlayerInfo[playerid][pPenitenciaria] = 0;
                        }
                        if(localizarpenlv[suspect] == 1)
                        {
                            PlayerInfo[playerid][pPenitenciaria] = 1;
                        }
                        PlayerInfo[suspect][pPreso] ++;
                        SetPlayerSkin(suspect, 268);
                        if(PlayerInfo[suspect][pSex] == 2) {  SetPlayerSkin(suspect, 69); }
                        if(PlayerInfo[suspect][pSocio] >= 1) {  SetPlayerSkin(suspect, 42); }
                        SetPlayerInterior(suspect, 6);
                        new rand;
                        rand = random(sizeof(PenitenciariaSpawn));
                        SetPlayerPos(suspect, PenitenciariaSpawn[rand][0], PenitenciariaSpawn[rand][1], PenitenciariaSpawn[rand][2]); // Warp the player
                        SetPlayerFacingAngle(suspect, PenitenciariaSpawn[rand][3]);
                        PlayerInfo[suspect][pJailTime] = time * 60;
                        PlayerCuffed[suspect] = 0;
                        PlayerInfo[suspect][pMuted] = 0;
                        RemovePlayerAttachedObject(suspect, 4);
                        SetPlayerSpecialAction(suspect, SPECIAL_ACTION_NONE);
                        SetPlayerChatBubble(suspect, "*", COLOR_RED, 1, 1);
                        format(string, sizeof(string), "Você foi preso por %d segundos. Precisa de um advogado? /servico advogado", PlayerInfo[suspect][pJailTime]);
                        SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
                        PlayerInfo[suspect][pJailed] = 1;
                        WantedPoints[suspect] = 0;
                        SetPlayerWantedLevel(suspect, 0);
                        PlayerInfo[suspect][pMuted] = 0;
                        TogglePlayerControllable(suspect, 1);
                        PlayerCuffed[suspect] = 0;
                        PlayerInfo[suspect][pMaconha] = 0;
                        PlayerInfo[suspect][pCocaina] = 0;
                        PlayerInfo[suspect][pCrack] = 0;
                        PlayerInfo[suspect][pMats] = 0;
                        PlayerInfo[suspect][pDina] = 0;
                        PlayerInfo[playerid][pCarcereiro] ++;
                        return 1;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "Esse não é um jogador ativo !");
                return 1;
            }
        }
        else
        {
            SendClientMessage(playerid, COLOR_GREY, "Você não é um Oficial !");
            return 1;
        }
    }//not connected
    return 1;
}

Código:
CMD:soltar(playerid, params[])
{
    if(!PlayerToPoint(30.0,playerid,2029.5563,-1416.4191,16.9922))
    {
        SendClientMessage(playerid, COLOR_GRAD1, "Você não etá na penitenciaria !");
        return 1;
    }
    if(PlayerInfo[playerid][pEmprego] != 2)
    {
        SendClientMessage(playerid, COLOR_GREY, "Você não é um advogado!");
        return 1;
    }
    new playa;
    new money;
    new string[180];
    if(sscanf(params, "dd", playa, money))return SendClientMessage(playerid, COLOR_GRAD2, "USE: /soltar [id] [preco]");
    if(LicencaAdvogado[playerid] == 0)
    {
        SendClientMessage(playerid, COLOR_GRAD1, "Você não está autorizado,pegue uma autorização !");
        return 1;
    }
    new granapreso = GetPlayerMoneyEx(playa);
    if(money < 500 || money > 5000) { SendClientMessage(playerid, COLOR_GREY, "Custo entre R$ 500 e 5000 !"); return 1; }
    if(GetPlayerMoneyEx(playa) < money) { format(string, sizeof(string), "* Você ofereceu soltar o preso %s por R$[%d], ele só tem R$[%d] !", PlayerName(playa), money, granapreso); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1; }
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
            if(JaTemAdvogado[playa] == 1)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Este preso já tem um advogado !");
                return 1;
            }
            if(PlayerInfo[playa][pPenitenciaria] == 0)
            {
                if(localizarpenlv[playerid] == 1)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "Este preso está na penitenciária de outra cidade, use /gps e vá até lá!");
                    return 1;
                }
            }
            if(PlayerInfo[playa][pPenitenciaria] == 1)
            {
                if(localizarpen[playerid] == 1)
                {
                    SendClientMessage(playerid, COLOR_GRAD1, "Este preso está na penitenciária de outra cidade, use /gps e vá até lá!");
                    return 1;
                }
            }
            new level = PlayerInfo[playerid][pLawSkill];
            if(level >= 0 && level <= 50 && PlayerInfo[playa][pJailTime] > 300)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 1, só pode soltar presos com até 5 minutos(300 segundos) de cadeia!");
                return 1;
            }
            if(level >= 51 && level <= 100 && PlayerInfo[playa][pJailTime] > 420)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 2, só pode soltar presos com até 7 minutos(700 segundos) de cadeia!");
                return 1;
            }
            if(level >= 101 && level <= 200 && PlayerInfo[playa][pJailTime] > 540)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 3, só pode soltar presos com até 9 minutos(900 segundos) de cadeia!");
                return 1;
            }
            if(level >= 201 && level <= 300 && PlayerInfo[playa][pJailTime] > 720)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 4, só pode soltar presos com até 12 minutos(900 segundos) de cadeia!");
                return 1;
            }
            //--------------Preoço para Soltar-------------//
            if(level >= 0 && level <= 50 && money > 1000)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 1,só pode cobrar até R$1000!");
                return 1;
            }
            if(level >= 51 && level <= 100 && money > 2000)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 2,só pode cobrar até R$2000!");
                return 1;
            }
            if(level >= 101 && level <= 200 && money > 3000)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 3,só pode cobrar até R$3000!");
                return 1;
            }
            if(level >= 201 && level <= 300 && money > 4000)
            {
                SendClientMessage(playerid, COLOR_GRAD1, "Você é advogado nivel 4,só pode cobrar até R$4000!");
                return 1;
            }
            if(playa == playerid) { SendClientMessage(playerid, COLOR_GREY, "Você não pode se libertar!"); return true; }
            if(PlayerInfo[playa][pJailed] == 1 || PlayerInfo[playa][pJailed] == 2
            || PlayerInfo[playa][pJailed] == 3 && LicencaAdvogado[playerid] == 1)
            {
                GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                GetPlayerName(playerid, sendername, sizeof(sendername));
                format(string,sizeof(string),"* Advogado: %s ofereceu para te soltar por R$[%d]\nVocê deseja pagar R$[%d] para ser solto?", PlayerName(playerid), money, money);
                ShowPlayerDialog(playa ,9,DIALOG_STYLE_MSGBOX,"Advogado",string,"Sim","Não");
                format(string, sizeof(string), "* Você ofereceu a liberdade para o preso:%s, por R$[%d] !", giveplayer, money);
                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                JaTemAdvogado[playa] = 1;
                CuraOffer[playa] = playerid;
                CuraPrice[playa] = money;
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "O jogador não precisa de advogado ou você não tem autorização !");
            }
        }
    }
    return 1;
}