SetPlayerWorldBounds
#1

Tengo unas dudas referente a esta funciуn, no sй si no funciona como debe o directamente tengo retraso mental y no logro comprender.

Obtengo 2 puntos con un par de comandos, supongamos que X1,Y1,X2,Y2.

Calculo las distancias de estas desde el centro del mapa (0.0...) de la siguiente manera.

PHP код:
temp1 GetDistance(X10.00.00.00.00.0);
temp2 GetDistance(X20.00.00.00.00.0);
if(
temp1 temp2){
    
x_max X1;
    
x_min X2;
}
else {
    
x_max X2;
    
x_min X1;
}
temp1 GetDistance(0.0Y10.00.00.00.0);
temp2 GetDistance(0.0Y20.00.00.00.0);
if(
temp1 temp2){
    
y_max Y1;
    
y_min Y2;
}
else {
    
y_max Y2;
    
y_min Y1;
}
SetPlayerWorldBounds(playeridx_maxx_miny_maxy_min); 
He estado haciendo unas pruebas y los valores que retorna en teorнa son correctos, pero al momento de aplicarlos en la funciуn esta no funciona como debe y me envнa directamente al cielo rebotando con el mensaje de que se llegу al lнmite.

Algunos valores que he tomado:
MAL FUNCIONAMIENTO
PHP код:
xmax2866.186279
xmin 
2820.541992
ymax 
= -2553.431152 
ymin 
= -2319.670898 
BUEN FUNCIONAMIENTO
PHP код:
xmax 2866.186279
xmin 
2820.541992
ymax 
= -2319.670898 
ymin 
= -2553.431152 ((como si se invirtieran)) 
La funciуn parece funcionar bien solo si estamos en el noreste del juego.

funciуn GetDistance
PHP код:
forward Float:GetDistance(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2);
public 
Float:GetDistance(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2)
{
    return 
floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));

Mis preguntas son їes un error o asн es la funciуn? їCуmo puedo encontrar correctamente las 4 coordenadas con 2 puntos?
Reply
#2

Dejo esto por aquн:
PHP код:
#define GetDistanceBetweenPoints(%0,%1,%2,%3,%4,%5) VectorSize(%0-%3,%1-%4,%2-%5) 
%0 %1 %2 son las coordenadas de la primera posiciуn y %3 %4 %5 son las coordenadas de la segunda.

NOTA: el valor devuelto por VectorSize es el mуdulo del vector, por ende, la funciуn siempre devolverб distancias positivas.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)