[Pedido] Definir uma distancia
#1

Eu to criando um CMD pra poder abrir o portгo com apenas a buzina, mas.. eu queria saber como definir um radio para quando ele
apertar o portгo abrir, pois se o portгo estб em LV, e eu to em LS, eu apertando a buzina, o portгo abre.. sem dizer que eu quero fazer
isso para outros portхes, mais pra isso preciso definir uma distancia para abrir, para nao ocorrer bugs .

CMD:
pawn Код:
if( !strcmp( cmdtext, "/adp1", true ))
{

    if( pInfo[ playerid ][ Prof ] == POL_MILITAR || pInfo[ playerid ][ Prof ] == DELEGADO || pInfo[ playerid ][ Prof ] == SWAT || pInfo[ playerid ][ Prof ] == EXERCITO || aInfo[ playerid ][ Admin ] == 1 )
    {
        SendClientMessage( playerid, COLOR_AMARELO, "[ > ] Abrindo o portгo nъmero 1 da delegacia LSDP." );
        SetTimerEx ( "FecharPortao", 5000, false, "i", pd1 ) ;
        MoveDynamicObject( pd1, 1548.46484375, -1627.279296875, 19.581174850464, 3.0 );
    }
    else
    {

        SendClientMessage( playerid, COLOR_ERRO, "[ x ] Vocк nгo tem permissгo !" );
    }
    return 1;
}
if( !strcmp( cmdtext, "/adp2", true ))
{

    if( pInfo[ playerid ][ Prof ] == POL_MILITAR || pInfo[ playerid ][ Prof ] == DELEGADO || pInfo[ playerid ][ Prof ] == SWAT || pInfo[ playerid ][ Prof ] == EXERCITO || aInfo[ playerid ][ Admin ] == 1 )
    {

        SendClientMessage( playerid, COLOR_AMARELO, "[ > ] Abrindo o portгo nъmero 2 da delegacia LSDP." );
        SetTimerEx ( "FecharPortao", 5000, false, "i", pd2 ) ;
        MoveDynamicObject( pd2, 1598.4259033203, -1637.9779052734, 14.965435028076, 3.0 );
    }
    else
    {

        SendClientMessage( playerid, COLOR_ERRO, "[ x ] Vocк nгo tem permissгo !" );
    }
    return 1;
}
Cуdigo de abrir com busina !
pawn Код:
if(newkeys == KEY_CROUCH )
    {
        OnPlayerCommandText( playerid, "/adp1" );
        OnPlayerCommandText( playerid, "/adp2" );
    }
Reply
#2

IsPlayerInRangeOfPoint
Reply
#3

Nгo tem outro mйtodo.. ? tipo por raios ?
Reply
#4

Quote:
Originally Posted by Alwe
Посмотреть сообщение
Nгo tem outro mйtodo.. ? tipo por raios ?
Essa funзгo retorna a verificaзгo se o player estб no Raio de uma coordenada, por exemplo:

Код:
if(IsPlayerInRangeOfPoint(playerid, 7.0, 2695.6880, -1704.6300, 11.8438))
{
SendClientMessage(playerid,0xFFFFFFFF,"Vocк estб num raio de 7 metros da entrada do estбdio de LV!");
}
Reply
#5

Ta ok.. irei utilizar .
Reply
#6

Vocк pode usar:
IsPlayerInRangeOfPoint
GetVehicleDistanceFromPoint / GetPlayerDistanceFromPoint

ou se preferir:
pawn Код:
stock GetDistance(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2)
{
    return floatround(floatsqroot(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)) + ((z1 - z2) * (z1 - z2))));
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)