[Ajuda] Sequestrar, Libertar, Liberarsequestro
#1

Bom estou precisando da ajuda de vocкs para arrumar alguns comandos, quero no Sequestrar que o Ganster sу pode sequestrar a cada 5 minutos, e quando ele for sequestrar ele precisa digitar /sequestrar [PlayerID] [Custo], e no Libertar queria quase a mesma coisa que o sequestrar, pois o codigo estб como advogados nгo precisam cobrar, e isso й meio chato nй, e o Liberarsequestro, quero juntar ele com o /sequestrar tipo o cara digitar 2 vezes o /sequestrar ele libera e solta, se nгo estiver entendendo sу falar, se puder me ajudar agradeзo deis de jб

pawn Код:
if(strcmp(cmd, "/sequestrar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(Rope[playerid] != 0)
            {
                if(PlayerInfo[playerid][pLevel] < 2)
                {
                    SendClientMessage(playerid, COLOR_GREY, "{CD5C5C}[BOTInfo] {FFFFFF}Vocк nгo tem permissгo para usar este comando!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USE: /sequestrar [Playerid/PartOfName]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(PlayerTied[giveplayerid] > 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O jogador ja esta amarrado !");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se amarrar!"); return 1; }
                            if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
                            {
                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), "Vocк foi sequestrado por %s.", sendername);
                                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "Vocк amarrou %s .", giveplayer);
                                SendClientMessage(playerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "%s amarrou %s para que ele nгo fuja.", sendername ,giveplayer);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                GameTextForPlayer(giveplayerid, "~r~Amarrado", 2500, 3);
                                TogglePlayerControllable(giveplayerid, 0);
                                PlayerTied[giveplayerid] = 1;
                                format(string, sizeof(string), "|SEQUESTRO| %s foi sequestrado por %s.", giveplayer, sendername);
                                SendClientMessageToAll(COLOR_OOC, string);
                                Rope[playerid]--;
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "  Jogador nгo esta no carro !");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O jogador esta longe de vocк !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   O jogador esta offline !");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Vocк nгo tem a corda !");
            }
        }
        return 1;
    }
    if(strcmp(cmd, "/libertar", true) == 0)//free
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pJob] != 2)
            {
                SendClientMessage(playerid, COLOR_GREY, " Voce nao e um advogado!");
                return 1;
            }
            if(ApprovedLawyer[playerid] == 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк precisa de uma permissгo pra libertar um suspeito!");
                return 1;
            }
            if(PlayerInfo[playerid][pLawSkill] >= 401)
            {
                ApprovedLawyer[playerid] = 1;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USE: /liberar [playerid/PartOfName]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Voce nao pode libertar voce mesmo!"); return 1; }
                    if(PlayerInfo[giveplayerid][pJailed] == 1 || PlayerInfo[giveplayerid][pJailed] == 4 || PlayerInfo[giveplayerid][pJailed] == 3 && PlayerToPoint(5.0, playerid, 267.4805,77.6161,1001.0391))
                    {
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "Voce libertou %s esta livre.", giveplayer);
                        SendClientMessage(playerid, COLOR_WHITE, string);
                        format(string, sizeof(string), "Voce foi liberado pelo advogado %s.", sendername);
                        SendClientMessage(giveplayerid, COLOR_WHITE, string);
                        ApprovedLawyer[playerid] = 0;
                        WantLawyer[giveplayerid] = 0;
                        CallLawyer[giveplayerid] = 0;
                        JailPrice[giveplayerid] = 0;
                        PlayerInfo[giveplayerid][pJailTime] = 1;
                        PlayerInfo[playerid][pLawSkill] ++;
                        if(PlayerInfo[playerid][pLawSkill] == 50)
                        { SendClientMessage(playerid, COLOR_YELLOW, "*Seu advogado estб agora Skill Nнvel 2, vocк vai ganhar mais dinheiro e mais rapidamente do Tempo de Recarga."); }
                        else if(PlayerInfo[playerid][pLawSkill] == 100)
                        { SendClientMessage(playerid, COLOR_YELLOW, "*Seu advogado estб agora Skill Nнvel 3, vocк vai ganhar mais dinheiro e mais rapidamente do Tempo de Recarga."); }
                        else if(PlayerInfo[playerid][pLawSkill] == 200)
                        { SendClientMessage(playerid, COLOR_YELLOW, "*Seu advogado estб agora Skill Nнvel 4, vocк vai ganhar mais dinheiro e mais rapidamente do Tempo de Recarga."); }
                        else if(PlayerInfo[playerid][pLawSkill] == 400)
                        { SendClientMessage(playerid, COLOR_YELLOW, "*Seu advogado estб agora Skill Nнvel 5, vocк vai ganhar mais dinheiro e mais rapidamente do Tempo de Recarga."); }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GRAD1, " Jogador nao precisa de um advogado ou vocк nгo esta nas celas !");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   O jogador esta offline!");
            }
        }//not connected
        return 1;
    }
    if(strcmp(cmd, "/liberarsequestro", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) {
                SendClientMessage(playerid, COLOR_WHITE, "USE: /liberarsequestro [Playerid/PartOfName]");
                return 1;
            }
            giveplayerid = ReturnUser(tmp);
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if (ProxDetectorS(8.0, playerid, giveplayerid))
                    {
                        if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se liberar"); return 1; }
                        if(PlayerTied[giveplayerid])
                        {
                            GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                            GetPlayerName(playerid, sendername, sizeof(sendername));
                            format(string, sizeof(string), "Vocк foi sequestrado por %s.", sendername);
                            SendClientMessage(giveplayerid, COLOR_WHITE, string);
                            format(string, sizeof(string), "Vocк foi liberado %s.", giveplayer);
                            SendClientMessage(playerid, COLOR_WHITE, string);
                            GameTextForPlayer(giveplayerid, "~g~Sequestrado", 2500, 3);
                            TogglePlayerControllable(giveplayerid, 1);
                            PlayerTied[giveplayerid] = 1;
                            format(string, sizeof(string), "%s Liberou %s e o desamarrou.", sendername, giveplayer);
                            ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                            Rope[playerid]++;
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O jogador nгo esta sequestrado!");
                            return 1;
                        }
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "  O jogador esta longe de vocк!");
                        return 1;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, " O jogador esta offline!");
                return 1;
            }
        }//not connected
        return 1;
    }
Aqui pra vocкs verificarem um pouco o modelo de como eu quero o /libertar, Este modelo tambem pode ser usado junto com /liberarsequestro.

pawn Код:
if(strcmp(cmd, "/proteger", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pJob] != 8 && PlayerInfo[playerid][pMember] != 17)
            {
                SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um Seguranзa!");
                return 1;
            }
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "{CD5C5C}[Digite] {FFFFFF}/proteger [playerid/Parte-do-Nick] [Preзo]");
                return 1;
            }
            new money;
            giveplayerid = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp)) { return 1; }
            money = strval(tmp);
            if(money < 1 || money > 5000) { SendClientMessage(playerid, COLOR_GREY, "Preзo entre R$1 e R$5000"); return 1; }
            if(IsPlayerConnected(giveplayerid))
            {
                if(giveplayerid != INVALID_PLAYER_ID)
                {
                    if(ProxDetectorS(8.0, playerid, giveplayerid))
                    {
                        if(giveplayerid == playerid)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode oferecer seus serviзos б vocк mesmo!");
                            return 1;
                        }
                        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "Vocк ofereceu sua proteзгo a %s por R$%d", giveplayer, money);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "O seguranзa %s lhe ofereceu seu serviзo por R$%d (digite /aceitar seguranзa) para aceitar.", sendername, money);
                        SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                        GuardOffer[giveplayerid] = playerid;
                        GuardPrice[giveplayerid] = money;
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "CD5C5C}[BOTInfo] {FFFFFF}Vocк estб longe do persongem.");
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "{CD5C5C}[BOTInfo] {FFFFFF}Jogador nгo Ativo ou nгo estб conectado.");
            }
        }
        return 1;
    }
Reply
#2

pawn Код:
if(strcmp(cmd, "/sequestrar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(Rope[playerid] != 0)
            {
                if(PlayerInfo[playerid][pLevel] < 2)
                {
                    SendClientMessage(playerid, COLOR_GREY, "{CD5C5C}[BOTInfo] {FFFFFF}Vocк nгo tem permissгo para usar este comando!");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USE: /sequestrar [Playerid/PartOfName] [valor]");
                    return 1;
                }
                new money;
                new orgintegrante;
                new sequestrado;
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) { return 1; }
                money = strval(tmp);
                if(money < 1 || money > 1500000) { SendClientMessage(playerid, COLOR_GREY, "   Preзo maior que 1, menor que 1500000!"); return 1; }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(PlayerTied[giveplayerid] > 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O jogador ja esta amarrado !");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode se amarrar!"); return 1; }
                            if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
                            {
                                GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), "Vocк foi sequestrado por %s.", sendername);
                                SendClientMessage(giveplayerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "Vocк amarrou %s .", giveplayer);
                                SendClientMessage(playerid, COLOR_WHITE, string);
                                format(string, sizeof(string), "%s amarrou %s para que ele nгo fuja.", sendername ,giveplayer);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                GameTextForPlayer(giveplayerid, "~r~Amarrado", 2500, 3);
                                TogglePlayerControllable(giveplayerid, 0);
                                PlayerTied[giveplayerid] = 1;
                                format(string, sizeof(string), "|SEQUESTRO| %s foi sequestrado por %s, e pede o resgate no valor de R$%d.", giveplayer, sendername,money);
                                SendClientMessageToAll(COLOR_OOC, string);
                                Rope[playerid]--;
                                WantedPoints[playerid] += 3;
                                SetPlayerCriminal(playerid,255, "Sequesto.");
                                }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "  Jogador nгo esta no carro !");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O jogador esta longe de vocк !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   O jogador esta offline !");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "  Vocк nгo tem a corda !");
            }
        }
        return 1;
    }
Reply
#3

Vlws Gabriel, avalia o codigo aew se puder, Preciso muito disso, falta poucas coisas para terminar..
Reply
#4

Tб bem desorganizado esse comando de sequestro aн, mas avaliei e estб bem funcional, parabйns ao criador.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)