[Duda] Posicion
#1

Hola a todos quisiera aprender a manejar las posiciones por ejemplo, ques e cree un auto al frente mio, com oserian las posiciones?? osea..

CreateVehicle(playerid, (que cordenadas irian aca?));
Reply
#2

pawn Код:
new Float:posicion[3];
GetPlayerPos(playerid, posicion[0], posicion[1], posicion[2]);
new interior = GetPlayerInterior(playerid);
new vehiculo = CreateVehicle(IDMODELOVEH, posicion[0], posicion[1]+4, posicion[2], 180, COLOR1, COLOR2, 90000);
LinkVehicleToInterior(vehiculo, interior);
Con йsto la estarнas creando a 4.0 del eje Y en el que se encuentra el jugador al ejecutar el comando.

Precisamente, no es al frente del jugador, pero puede servir, a no ser que necesites que aparezca exactamente en frente de йl.
Reply
#3

Para manejar la posicion de un jugador, existen 2 funciones basicas. GetPlayerPos y SetPlayerPos.
En tu caso, seria algo asi:
pawn Код:
//Unidades entre la posicion del jugador y la posicion donde se creara el vehiculo
#define DIST    15.0

new
    Float:x,
    Float:y,
    Float:z,
    Float:a,
    interior,
    mundo,
    veh;

//Obtenemos la posicion del jugador, el angulo hacia donde mira, y como extra obtenemos el interior y el mundo virtual
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
interior = GetPlayerInterior(playerid);
mundo = GetPlayerVirtualWorld(playerid);

//Ahora operamos para obtener las coordenadas justo enfrente del jugador.
x += DIST * floatsin(-a, degrees);
y += DIST * floatcos(-a, degrees);

//Creamos el vehiculo en las coordenadas obtenidas:
veh = CreateVehicle(411, x, y, z, a, 0, 0, 10);

//Cambiamos el interior y mundo virtual del vehiculo al mismo que tiene el jugador
LinkVehicleToInterior(veh, interior);
SetVehicleVirtualWorld(veh, mundo);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)