SA-MP Forums Archive
Curva en Objeto - 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: Curva en Objeto (/showthread.php?tid=238037)



Curva en Objeto - [J]ulian - 10.03.2011

Hola,

Cуmo puedo hacer para que un objeto tome una curva ( con movimieto incluido ) hacia la derecha o izquierda. Me explico mejor. Es decir, que funciуn deberнa utilizar para que al hacer MoveObject de una posiciуn a otra a la vez dicho objeto haga una curva.
Код:
              ______
           _            _
         _                  _
      _                        _
   _                              _
_
( Algo asн )

Estuve tratando, pero no pude.

Muchas gracias a quien me pueda ayudar.


Re: Curva en Objeto - MrDeath537 - 10.03.2011

Si a lo que vas es simular el efecto de la gravedad, es decir que el objeto suba hasta un punto y luego caiga, habrнa que usar un par de funciones con бngulos, creo.


Respuesta: Curva en Objeto - Jovanny - 10.03.2011

toma coordenadas en diferentes puntos y ya que el objeto llege a esa posicion continue con la otra

ejemplo:
Код:
                               ______coordenada 5
               coordenada6 _             _coordenada 4
            coordenada 7_                   _coordenada 3
        coordenada8   _                         _coordenada 2
     coordenada9   _                               _coordenada 1
_
pon el objeto en la coordenada 1 y yaque llege a la coordenada pones moveobject a la coordenada 3 y asi sucesivamente

para comprobar posicion usa if


Respuesta: Re: Curva en Objeto - [J]ulian - 10.03.2011

Voy a tratar con lo de Josta, lo habнa pensado, pero pensй que habнa otras maneras xD.

Quote:
Originally Posted by MrDeath537
Посмотреть сообщение
Si a lo que vas es simular el efecto de la gravedad, es decir que el objeto suba hasta un punto y luego caiga, habrнa que usar un par de funciones con бngulos, creo.
Que serнan las funciones de seno coseno tangente y todo eso no? Si es eso estoy al horno xD ( mucha matemбtica xD )


Esto capбs me sirve no? http://forum.sa-mp.com/showthread.ph...g+object+curve


Respuesta: Curva en Objeto - TheChaoz - 11.03.2011

en una de esas te sirve de algo si lo usas bien.
sobre lo de josta, te conviene crearte una funcion que lo haga, seria mas rapido y eficiente


Respuesta: Curva en Objeto - Troka - 11.03.2011

Lo unico que se me ocurre es lo mismo, tomar todas las coordenadas y usar

MoveObject para cada una de ellas aunque es verdad que seria molesto y tardado T.T


Respuesta: Curva en Objeto - Jovanny - 11.03.2011

Podrias hacerlo de la siguiente manera
ese callback es llamado cuando un objeto se termina de mover
pawn Код:
public OnObjectMoved(objectid)
{
    new Float:x,Float:y,Float:z;
    GetObjectPos(objectid,x,y,z);
    if(x==0000.0000 && y ==0000.0000 && z==0000.0000)
    {
    MoveObject(objectid,0001.0000,0001.0000,0001.0000,3.0);
    }
    else if(x==0000.0000 && y==0000.0000 && z==0000.0000)
    {
    MoveObject(objectid,0001.0000,0001.0000,0001.0000,3.0);
    }
    return 1;
}
podrias hacerlo asi sucesivamente


Re: Respuesta: Re: Curva en Objeto - MrDeath537 - 11.03.2011

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
Me parece que ese include sirve exactamente para esto, pero ni idea como usarlo.


Respuesta: Curva en Objeto - leaNN! - 11.03.2011

Creo que lo que Josta dice es lo mejor, y no conocia ese callback.
Bien Josta !

PD: Aca una pequeсa mejora del cуdigo.

pawn Код:
public OnObjectMoved(objectid)
{
    new Float:x,Float:y,Float:z;
    if(objectid == ID_DEL_OBJETO)
    {
        GetObjectPos(objectid, x, y, z);
        if(x == 0001.0000 && y == 0001.0000 && z == 0001.0000)
        {
            MoveObject(objectid, 0000.0000, 0000.0000, 0000.0000, 3.0);
        }
        else if(x==0000.0000 && y==0000.0000 && z==0000.0000)
        {
            MoveObject(objectid, 0001.0000, 0001.0000, 0001.0000, 3.0);
        }
    }
    else if(objectid == ID_DEL_OBJETO2)
    {
        GetObjectPos(objectid, x, y, z);
        if(x == 0000.0000 && y == 0000.0000 && z == 0000.0000)
        {
            MoveObject(objectid, 0001.0000, 0001.0000, 0001.0000, 3.0);
        }
        else if(x == 0001.0000 && y == 0001.0000 && z == 0001.0000)
        {
            MoveObject(objectid, 0002.0000, 0002.0000, 0002.0000, 3.0);
        }
    }
    return 1;
}
Asi se podria trabajar con varios objetos y no con uno solo.


Respuesta: Curva en Objeto - [J]ulian - 11.03.2011

Ya me di una idea, gracias a todos. PD: Estuve revisando ese include que puse y tambiйn me servirб.

Un saludo!