20.02.2012, 23:13
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
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)
|
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; }
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; } 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. |