SA-MP Forums Archive
Ayuda - 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: Ayuda (/showthread.php?tid=319938)



Ayuda - davidxxx - 20.02.2012

Hola, tengo un problema, es que quiero hacer que una puerta gire como un ventilador sin detenerse, intente usando el native OnMovedObject, pero no funciono, quisiera saber si ud's me podria ayudar Gracias


Respuesta: Ayuda - iDarkRain - 20.02.2012

Creo que si sabe quй rotaciуn debes mover puedes usar un include llamado G_ObjectRot


Re: Ayuda - clavador - 21.02.2012

En la wiki de samp tenes los comandos necesarios para lograrlo.

Tendrias que hacer un timer repetitivo que utilice el comando MoveObject, cambiando solamente la rotacion del mismo:

https://sampwiki.blast.hk/wiki/MoveObject


Respuesta: Re: Ayuda - [Nikk] - 21.02.2012

Quote:
Originally Posted by clavador
Посмотреть сообщение
En la wiki de samp tenes los comandos necesarios para lograrlo.

Tendrias que hacer un timer repetitivo que utilice el comando MoveObject, cambiando solamente la rotacion del mismo:

https://sampwiki.blast.hk/wiki/MoveObject
Claro el sabe eso, pero a lo que va el es mas como es el uso de timer, digamos sabe usar moveobject, pero como hacer para que lo haga una y una y una y otra vez ? (me lo dijo el por msn xD)


Re: Respuesta: Re: Ayuda - clavador - 21.02.2012

Quote:
Originally Posted by [Nikk]
Посмотреть сообщение
Claro el sabe eso, pero a lo que va el es mas como es el uso de timer, digamos sabe usar moveobject, pero como hacer para que lo haga una y una y una y otra vez ? (me lo dijo el por msn xD)
Una manera simple seria

Код:
public OnGameModeInit()
{
      new puerta = CreateObject(2587, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 96.0);

      SetTimerEx("RotarPuerta", 1, true, "i", puerta );

      return 1;
}

forward RotarPuerta( objectid );
public RotarPuerta( objectid )
{
           new Float:RotX,Float:RotY,Float:RotZ;

           GetObjectRot(objectid, RotX, RotY, RotZ);

           SetObjectRot( objectid, RotX+1, RotY, RotZ );

           return 1;
}
Eso seria algo basico.

Tambien se puede declarar la variable puerta como global, asignarle el ID de la puerta que se crea y luego crear un timer comun con loop infinito, sin necesidad de pasarle variables.


Respuesta: Re: Respuesta: Re: Ayuda - davidxxx - 21.02.2012

Quote:
Originally Posted by clavador
Посмотреть сообщение
Una manera simple seria

Код:
public OnGameModeInit()
{
      new puerta = CreateObject(2587, 2001.195679, 1547.113892, 14.283400, 0.0, 0.0, 96.0);

      SetTimerEx("RotarPuerta", 1, true, "i", puerta );

      return 1;
}

forward RotarPuerta( objectid );
public RotarPuerta( objectid )
{
           new Float:RotX,Float:RotY,Float:RotZ;

           GetObjectRot(objectid, RotX, RotY, RotZ);

           SetObjectRot( objectid, RotX+1, RotY, RotZ );

           return 1;
}
Eso seria algo basico.

Tambien se puede declarar la variable puerta como global, asignarle el ID de la puerta que se crea y luego crear un timer comun con loop infinito, sin necesidad de pasarle variables.
Gracias, ya lo tenia hecho, es parecido, sino que no habia podido contestar xD, pero igual gracias.

Gracias a @jovanny que fue el que me explico.