[Duda] Posicion - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (
https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda] Posicion (
/showthread.php?tid=457549)
[Duda] Posicion -
Nicosm - 12.08.2013
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?));
Respuesta: [Duda] Posicion -
Glimma - 12.08.2013
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.
Respuesta: [Duda] Posicion -
TheChaoz - 12.08.2013
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);