їcomo mover un mapeado de posicion? By OTACON -
OTACON - 13.03.2014
[] їcomo mover un mapeado de posicion?
By OTACON
[] Informacion:
bueno, esta vez le explicare como mover un mapeado ya hecho a una nueva posicion.
este tutoria es base del tutorial del usuario Correlli de la seccion ingles/tutoriales , que es el siguiente --> aca,
yo se los explicare con mis palabras y ejemplos.
bueno, comencemos.
[] Pasos a Seguir:
Paso 1:
para comenzar debemos tener nuestro mapeado al cual lo cambiaremos de posicion,
yo utilizare el mapeado de la 'Taberna/Bar(publicado)' ---> http://pastebin.com/gpgyD65s
Paso 2:
una vez ya teniendo el mapeado ingresaremos al map editor y mapearemos un objeto en el centro del mapeado para utilizar de base la posicion.
resultado:
pawn Код:
CreateObject(19375, 1002.45929, -1352.80933, 12.44410, 0.00000, 90.00000, 0.00000);
Paso 2:
ahora haremos lo mismo que anteriormente, pero para utilizar de base la posicion nueva donde estara el mapeado.
resultado:
pawn Код:
CreateObject(19375, 836.18658, -2091.69580, 11.85370, 0.00000, 90.00000, 0.00000);
Paso 3:
bueno ahora ya tendriamos la posicion bade vieja y nueva del mapeado.
ahora simplemente lo que debemos hacer para colocar el mapeado en la nueva posicion debemos de restar las coordenadas X Y Z del objeto base viejo y coordenadas X Y Z del objeto base nuevo y el resultado de esa resta se lo debemos de sumar a las cordenadas X Y Z de todos los objetos del mapeado.
pero para facilitar las cosas utilizaremos el code que no da el usuario Correlli.
objeto base viejo:
Код:
CreateObject(19375, 1002.45929, -1352.80933, 12.44410, 0.00000, 90.00000, 0.00000);
objeto base nuevo:
Код:
CreateObject(19375, 836.18658, -2091.69580, 11.85370, 0.00000, 90.00000, 0.00000);
Код:
#define X_OFFSET (X - X) //coordenada X del objeto base viejo y nuevo
#define Y_OFFSET (Y - Y) //coordenada Y del objeto base viejo y nuevo
#define Z_OFFSET (Z - Z) //coordenada Z del objeto base viejo y nuevo
[] codigo para mover los objetos:
pawn Код:
#include <a_samp>
#define pos_x_new 0.000
#define pos_y_new 0.000
#define pos_z_new 0.000
#define pos_x_old 0.000
#define pos_y_old 0.000
#define pos_z_old 0.000
stock CreateObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz){
printf("CreateObject(%i, %0.3f, %0.3f, %0.3f, %0.3f, %0.3f, %0.3f);",
modelid, floatadd(x, floatsub(pos_x_new, pos_x_old)), floatadd(y, floatsub(pos_y_new, pos_y_old)), floatadd(z, floatsub(pos_z_new, pos_z_old)), rx, ry, rz);
return true;
}
public OnFilterScriptInit(){
// AQUI COLOCAS TU MAPEADO Y REEMPLAZA TODOS LOS 'CreateObject' por 'CreateObjectEx'
return true;
}
colocamos el code en nuestro gamemode, compilamos y iniciamos el serividor por unos instantes nada mas para que cargue el mapeado y nos lo de mediante el printf del CreateObjectEx.
listo, abrimos el log y tendrimos los CreateObject con las nueva posicion del mapeado.
[] Creditos:
OTACON (traduccion)
Correlli (tutorial)
Re: їcomo mover un mapeado de posicion? By OTACON -
MpK - 13.03.2014
De esto a la magia va solo un paso, eso si, lo de la hortografia me lo miras.
Respuesta: їcomo mover un mapeado de posicion? By OTACON -
Nike666 - 13.03.2014
Lol,Interesante,Yo no sabнa que se podrнa hacer esto
Respuesta: їcomo mover un mapeado de posicion? By OTACON -
JustBored - 13.03.2014
pawn Код:
#include <a_samp>
#define X_OFFSET (X - X) //coordenada X del objeto base viejo y nuevo
#define Y_OFFSET (Y - Y) //coordenada Y del objeto base viejo y nuevo
#define Z_OFFSET (Z - Z) //coordenada Z del objeto base viejo y nuevo
stock CreateObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
CreateObject(modelid, (x + X_OFFSET), (y + Y_OFFSET), (z + Z_OFFSET), rx, ry, rz);
return true;
}
Respuesta: їcomo mover un mapeado de posicion? By OTACON -
Daniel_Ruiz - 14.03.2014
Muy buen tutorial +resp (Personal por que en el foro ya no se puede xD)
PD:No era necesaria tu foto al final de tuto xD
Respuesta: їcomo mover un mapeado de posicion? By OTACON -
OTACON - 14.03.2014
Quote:
Originally Posted by JustBored
pawn Код:
#include <a_samp>
#define X_OFFSET (X - X) //coordenada X del objeto base viejo y nuevo #define Y_OFFSET (Y - Y) //coordenada Y del objeto base viejo y nuevo #define Z_OFFSET (Z - Z) //coordenada Z del objeto base viejo y nuevo
stock CreateObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) { CreateObject(modelid, (x + X_OFFSET), (y + Y_OFFSET), (z + Z_OFFSET), rx, ry, rz); return true; }
|
esta bien, pero la cosa es que te de el codigo la con la posicion nueva, para ya guardar el mapeado con la nueva posicion, por eso el printf.
saludos.
Respuesta: їcomo mover un mapeado de posicion? By OTACON -
OTACON - 31.03.2014
pawn Код:
#include <a_samp>
#define pos_x_new 0.000
#define pos_y_new 0.000
#define pos_z_new 0.000
#define pos_x_old 0.000
#define pos_y_old 0.000
#define pos_z_old 0.000
stock CreateObjectEx(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz){
printf("CreateObject(%i, %0.3f, %0.3f, %0.3f, %0.3f, %0.3f, %0.3f);",
modelid, floatadd(x, floatsub(pos_x_new, pos_x_old)), floatadd(y, floatsub(pos_y_new, pos_y_old)), floatadd(z, floatsub(pos_z_new, pos_z_old)), rx, ry, rz);
return true;
}
public OnFilterScriptInit(){
// AQUI COLOCAS TU MAPEADO Y REEMPLAZA TODOS LOS 'CreateObject' por 'CreateObjectEx'
return true;
}
Respuesta: Re: їcomo mover un mapeado de posicion? By OTACON -
xDarkuzSx - 01.04.2014
Quote:
Originally Posted by MpK
De esto a la magia va solo un paso, eso si, lo de la hortografia me lo miras.
|
El burro hablando de orejas.
Re: Respuesta: Re: їcomo mover un mapeado de posicion? By OTACON -
MpK - 01.04.2014
Quote:
Originally Posted by xDarkuzSx
El burro hablando de orejas.
|
Quiero informar a todos los lectores que aquн tenemos a otro usuario mбs que "piensa" que puse hortografia mal escrito por error.
Pasen y vean antes de que Fail_Chaos borre este mensaje como ya hizo con anteriores alusiones al tema seсoras y seсores.
Re: їcomo mover un mapeado de posicion? By OTACON -
PT - 08.04.2014
Bueno tuto ayudara mucho