Definir uma distancia -
Alwe - 28.11.2014
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" );
}
Re: Definir uma distancia -
n0minal - 28.11.2014
IsPlayerInRangeOfPoint
Re: Definir uma distancia -
Alwe - 28.11.2014
Nгo tem outro mйtodo.. ? tipo por raios ?
Re: Definir uma distancia -
n0minal - 28.11.2014
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!");
}
Re: Definir uma distancia -
Alwe - 28.11.2014
Ta ok.. irei utilizar .
Re: Definir uma distancia -
Artista - 29.11.2014
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))));
}