08.01.2017, 23:22
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.
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
BUEN FUNCIONAMIENTO
La funciуn parece funcionar bien solo si estamos en el noreste del juego.
funciуn GetDistance
Mis preguntas son їes un error o asн es la funciуn? їCуmo puedo encontrar correctamente las 4 coordenadas con 2 puntos?
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(X1, 0.0, 0.0, 0.0, 0.0, 0.0);
temp2 = GetDistance(X2, 0.0, 0.0, 0.0, 0.0, 0.0);
if(temp1 > temp2){
x_max = X1;
x_min = X2;
}
else {
x_max = X2;
x_min = X1;
}
temp1 = GetDistance(0.0, Y1, 0.0, 0.0, 0.0, 0.0);
temp2 = GetDistance(0.0, Y2, 0.0, 0.0, 0.0, 0.0);
if(temp1 > temp2){
y_max = Y1;
y_min = Y2;
}
else {
y_max = Y2;
y_min = Y1;
}
SetPlayerWorldBounds(playerid, x_max, x_min, y_max, y_min);
Algunos valores que he tomado:
MAL FUNCIONAMIENTO
PHP код:
xmax= 2866.186279
xmin = 2820.541992
ymax = -2553.431152
ymin = -2319.670898
PHP код:
xmax = 2866.186279
xmin = 2820.541992
ymax = -2319.670898
ymin = -2553.431152 ((como si se invirtieran))
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));
}