13.03.2014, 12:26
(
Последний раз редактировалось OTACON; 31.03.2014 в 07:26.
Причина: agregado nuevo CreateObjectEx...
)
[] їcomo mover un mapeado de posicion?
By OTACON
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);
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);
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);
Код:
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;
}
listo, abrimos el log y tendrimos los CreateObject con las nueva posicion del mapeado.
[] Creditos:
OTACON (traduccion)
Correlli (tutorial)