[AJUDA] Com o comando /amarrar!
#1

Galera, a muito tempo estou com esse problema.
Й o seguinte, meu /amarrar nгo esta congelando o player, o mesmo com o /imo e /algemar, mas se alguem me ajudar sу com o /amarrar, os outros 2 comando eu mesmo arrumo seguindo o /amarrar!
Queria que alguem me ajudasse a quando digitasse /amarrar [ID] o player que foi amarrado ficasse CONGELADO!

O [FeK]Knife disse alguma coisa de Timer para o player fica congelado, nгo entendo muito ^^
Eu tentei me basear no meu comando /congelar, mas nгo deu muito certo rs!

Aqui o meu /amarrar:

pawn Код:
if(strcmp(cmd, "/amarrar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pMembro] == 6 || PlayerInfo[playerid][pLider] == 6 || PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15 || PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16 || PlayerInfo[playerid][pMembro] == 18 || PlayerInfo[playerid][pLider] == 18 || PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19
             || PlayerInfo[playerid][pMembro] == 21 || PlayerInfo[playerid][pLider] == 21 || PlayerInfo[playerid][pMembro] == 27 || PlayerInfo[playerid][pLider] == 27 || PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20 || PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23 || PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22)
            {
                if(PlayerInfo[playerid][pCargo] < 2)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Vocк precisa de Rank 2 ou mais para amarrar as pessoas. !");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USE: /amarrar [ id ]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(PlayerTied[giveplayerid] > 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador jб estб amarrado !");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode Amarrar а vocк mesmo.!"); 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 amarrado por %s.", sendername);
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* Vocк amarrou %s.", giveplayer);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* %s amarra %s, entгo ele nгo irб а lugar algum.", 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;
                                PlayerCuffedTime[giveplayerid] = 99999999999999;
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "   O Jogador nгo estб no seu carro, ou vocк nгo й o motorista !");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador esta longe de voce !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   O Jogador Esta Offline !");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й desta familia !");
            }
        }
        return 1;
    }
Abraзos!
Reply
#2

Adapta as tuas necessidades
pawn Код:
if(strcmp(cmd, "/amarrar", true) ==0)
{
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF0000AA, "USO: /Amarrar [ID]");
        new ID;
        ID = strval(tmp);
        TogglePlayerControllable(ID, 0);
        return 1;
    }
}
if(strcmp(cmd, "/desamarrar", true) ==0)
{
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
        SendClientMessage(playerid, 0xFF0000AA, "USO: /Desamarrar [ID]");
        new ID;
        ID = strval(tmp);
        TogglePlayerControllable(ID, 1);
        return 1;
    }
}
Reply
#3

Vou tentar

#edit
Eu tentei editar aqui deu merda '-' deu pra enviar relatorio FUUUUU!
Affs ta tenso.
Reply
#4

hehe vou modificar teu codigo entгo


EDIT

tava faltando o return la

tenta ae agora
pawn Код:
if(strcmp(cmd, "/amarrar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pMembro] == 6 || PlayerInfo[playerid][pLider] == 6 || PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15 || PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16 || PlayerInfo[playerid][pMembro] == 18 || PlayerInfo[playerid][pLider] == 18 || PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19
             || PlayerInfo[playerid][pMembro] == 21 || PlayerInfo[playerid][pLider] == 21 || PlayerInfo[playerid][pMembro] == 27 || PlayerInfo[playerid][pLider] == 27 || PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20 || PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23 || PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22)
            {
                if(PlayerInfo[playerid][pCargo] < 2)
                {
                    SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa ser cargo 2 ou superior!");
                return 1;
                }
                new playa;
                playa = ReturnUser(tmp);
                if(PlayerInfo[playa][pAdmin] > 0)
                {
                SendClientMessage(playerid, COLOR_GRAD2, "Vocк precisa ser cargo 2 ou superior!");
                return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USE: /amarrar [ id ]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        if(PlayerTied[giveplayerid] > 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador jб estб amarrado !");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode Amarrar а vocк mesmo.!"); return 1; }
                            if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
                            {
                                GetPlayerName(playa, giveplayer, sizeof(giveplayer));
                                GetPlayerName(playerid, sendername, sizeof(sendername));
                                format(string, sizeof(string), "* Vocк foi amarrado por %s.", sendername);
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* Vocк amarrou %s.", giveplayer);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* %s amarra %s, entгo ele nгo irб а lugar algum.", sendername ,giveplayer);
                                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                                GameTextForPlayer(giveplayerid, "~r~Amarrado", 2500, 3);
                                TogglePlayerControllable(playa, 0);
                                PlayerTied[giveplayerid] = 1;
                                PlayerCuffedTime[giveplayerid] = 99999999999999;
                                return 1;
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "   O Jogador nгo estб no seu carro, ou vocк nгo й o motorista !");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador esta longe de voce !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   O Jogador Esta Offline !");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й desta familia !");
            }
        }
        return 1;
    }
Reply
#5

Nгo pegou, eu postei o codigo errado, mas mesmo com o certo o return 1; nгo pego
Eles nгo estгo Congelando o Player!
Aqui vai o codigo do /amarrar certo:

pawn Код:
if(strcmp(cmd, "/amarrar", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(PlayerInfo[playerid][pMembro] == 5 || PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pMembro] == 6 || PlayerInfo[playerid][pLider] == 6 || PlayerInfo[playerid][pMembro] == 15 || PlayerInfo[playerid][pLider] == 15 || PlayerInfo[playerid][pMembro] == 16 || PlayerInfo[playerid][pLider] == 16 || PlayerInfo[playerid][pMembro] == 18 || PlayerInfo[playerid][pLider] == 18 || PlayerInfo[playerid][pMembro] == 19 || PlayerInfo[playerid][pLider] == 19
             || PlayerInfo[playerid][pMembro] == 21 || PlayerInfo[playerid][pLider] == 21 || PlayerInfo[playerid][pMembro] == 27 || PlayerInfo[playerid][pLider] == 27 || PlayerInfo[playerid][pMembro] == 20 || PlayerInfo[playerid][pLider] == 20 || PlayerInfo[playerid][pMembro] == 23 || PlayerInfo[playerid][pLider] == 23 || PlayerInfo[playerid][pMembro] == 22 || PlayerInfo[playerid][pLider] == 22)
            {
                if(PlayerInfo[playerid][pCargo] < 2)
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Vocк precisa de Rank 2 ou mais para amarrar as pessoas. !");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USE: /amarrar [ id ]");
                    return 1;
                }
                giveplayerid = ReturnUser(tmp);
                if(IsPlayerConnected(giveplayerid))
                {
                    if(giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(PlayerTied[giveplayerid] > 0)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador jб estб amarrado !");
                            return 1;
                        }
                        if (ProxDetectorS(8.0, playerid, giveplayerid))
                        {
                            new car = GetPlayerVehicleID(playerid);
                            if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Vocк nгo pode Amarrar а vocк mesmo.!"); 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 amarrado por %s.", sendername);
                                SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* Vocк amarrou %s.", giveplayer);
                                SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                                format(string, sizeof(string), "* %s amarra %s, entгo ele nгo irб а lugar algum.", 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;
                                PlayerCuffedTime[giveplayerid] = 99999999999999;
                            }
                            else
                            {
                                SendClientMessage(playerid, COLOR_GREY, "   O Jogador nгo estб no seu carro, ou vocк nгo й o motorista !");
                                return 1;
                            }
                        }
                        else
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O Jogador esta longe de voce !");
                            return 1;
                        }
                    }
                }
                else
                {
                    SendClientMessage(playerid, COLOR_GREY, "   O Jogador Esta Offline !");
                    return 1;
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Vocк nгo й desta familia !");
            }
        }
        return 1;
    }



/Algemar:


pawn Код:
if ( strcmp( cmd, "/algemar", true)   == 0)
    {
        if ( IsPlayerConnected( playerid)  )
        {
            if ( gTeam[playerid] == 2 || IsACop( playerid)  )
            {
                tmp = strtok( cmdtext, idx)   ;
                if ( !strlen( tmp)  )   {
                    SendClientMessage( playerid, COLOR_WHITE, "Use : /algemar [Id / Nome]")   ;
                    return 1 ;
                }
                giveplayerid = ReturnUser( tmp)   ;
                if ( IsPlayerConnected( giveplayerid)  )
                {
                    if ( giveplayerid != INVALID_PLAYER_ID)
                    {
                        if (IsACop( giveplayerid)  )
                        {
                            SendClientMessage( playerid, COLOR_GREY, "   Vocк nгo pode algemar um COP !")   ;
                            return 1 ;
                        }
                        if ( ProxDetectorS( 8.0, playerid, giveplayerid)  )
                        {
                            new car = GetPlayerVehicleID( playerid)   ;
                            if ( giveplayerid == playerid)   { SendClientMessage( playerid, COLOR_GREY, "Vocк nгo pode se algemar !")   ; 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к estб algemado pelo oficial %s", sendername)   ;
                                SendClientMessage( giveplayerid, COLOR_LIGHTBLUE, string)   ;
                                format( string, sizeof( string)  , "* Vocк algemou %s.", giveplayer)   ;
                                SendClientMessage( playerid, COLOR_LIGHTBLUE, string)   ;
                                format( string, sizeof( string)  , "* %s algemou no veнculo o suspeito %s", sendername ,giveplayer)   ;
                                ProxDetector( 30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE)   ;
                                GameTextForPlayer( giveplayerid, "~r~ALGEMADO", 2500, 3)   ;
                                TogglePlayerControllable( giveplayerid, 0)   ;
                            }
                            else
                            {
                                SendClientMessage( playerid, COLOR_GREY, "   O jogador nгo estб em seu carro !")   ;
                                return 1 ;
                            }
                        }
                        else
                        {
                            SendClientMessage( playerid, COLOR_GREY, "   O jogador estб muito longe !")   ;
                            return 1 ;
                        }
                    }
                }
                else
                {
                    SendClientMessage( playerid, COLOR_GREY, "   Jogador Offline !")   ;
                    return 1 ;
                }
            }
            else
            {
                SendClientMessage( playerid, COLOR_GREY, "   Vocк nгo й PM / PF / FA !")   ;
            }
        }
        return 1 ;
    }
Reply
#6

ok manooolo n sei se vai prestar pq pegay de um gm aki mas tenta ai


pawn Код:
if(strcmp(cmd, "/imo", true) ==0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(gTeam[playerid] == 2 || IsACop(playerid) || IsAPre(playerid))
            {
                if(IsPlayerInAnyVehicle(playerid))
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Nao e possivel imobilizar de dentro do carro !");
                    return 1;
                }
                new suspect = GetClosestPlayer(playerid);
                if(IsPlayerConnected(suspect))
                {
                    if(PlayerCuffed[suspect] > 0)
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Suspeito Imobilizado !");
                        return 1;
                    }
                    if(GetDistanceBetweenPlayers(playerid,suspect) < 5)
                    {
                        if(gTeam[suspect] == 2)
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   Voce nao e da PM / P.F / PC / Exйrcito / FAB / Policia Rodoviaria !");
                            return 1;
                        }
                        if(IsPlayerInAnyVehicle(suspect))
                        {
                            SendClientMessage(playerid, COLOR_GREY, "   O suspeito esta em um carro, faзa ele descer antes !");
                            return 1;
                        }
                        GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
                        GetPlayerName(playerid, sendername, sizeof(sendername));
                        format(string, sizeof(string), "* Voce foi imobilizado pelo %s por 20 segundos.", sendername);
                        SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Voce imobilizou o(a) %s por 20 segundos.", giveplayer);
                        SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* %s Imobilizou %s, para nao fugir.", sendername ,giveplayer);
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        GameTextForPlayer(suspect, "~r~Imobilizado", 2500, 3);
                        TogglePlayerControllable(suspect, 0);
                        ApplyAnimation(suspect, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0);
                        PlayerCuffed[suspect] = 1;
                        PlayerCuffedTime[suspect] = 20;
                    }
                    else
                    {
                        SendClientMessage(playerid, COLOR_GREY, "   Ele nao esta perto de voce!");
                        return 1;
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   Voce nao e da PM / ROTAM / PC / Exйrcito !");
            }
        }//not connected
        return 1;
    }

=B
Reply
#7

Vou dar uma saida, quando voltar vou testar o /imo.
Obrigado

@Edit
O /imo pegou, vou sair quando voltar vou me basear nele pra fazer os outros!
Reply
#8

Й, vocк pode simplesmente adaptar um imo pra nгo voltar depois de um tempo e o /desamarrar funcionar para todo mundo menos o amarrado, que ficaria bastante RP, se й isso o que vocк quer.
Reply
#9

Quote:
Originally Posted by Luнs Miki
Посмотреть сообщение
Й, vocк pode simplesmente adaptar um imo pra nгo voltar depois de um tempo e o /desamarrar funcionar para todo mundo menos o amarrado, que ficaria bastante RP, se й isso o que vocк quer.
Sim vou fazer assim:
Vou adaptar o /imo para nгo soltar o cara atй o /desamarrar!
E quem vai ter o desamarrar sгo as orgs terroristas / gangs e os Cops
Tou editando um RPG!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)