Hey Ho,
Bin gerade was am versuchen und dafür müsste ich einmal wissen wie man ein "Rad" kontinuierlich um 360° drehen kann
Mit SetObjectRot oder MoveObject?
MoveObject(myobject1, 0,0, 0, 2.00);
Welche Werte müssen da rein?
Vielen Dank schonmal
Hey Ho,
Bin gerade was am versuchen und dafür müsste ich einmal wissen wie man ein "Rad" kontinuierlich um 360° drehen kann
Mit SetObjectRot oder MoveObject?
MoveObject(myobject1, 0,0, 0, 2.00);
Welche Werte müssen da rein?
Vielen Dank schonmal
Float:RotX The FINAL X rotation (optional)
Float:RotYThe FINAL Y rotation (optional)
Float:RotZThe FINAL Z rotation (optional)
Diese Kollegen.
Du übernimmst die Anfangsrotationen des Objektes und lässt es sich einfach mit +360 drehen.
Jedoch kann es sein, dass es auf deine Spielchen keine Lust hat.
ich würde es so probieren:
globale var:
new myobjectstate=0;
Init der Rotation:
MoveObject(myobject1, 0,0, 0, 2.00); myobjectstate=1;
public OnObjectMoved(objectid)
{
if(objectid==myobject)
{
switch(myobjectstate)
{
case 0:
{
MoveObject(myobject1, 0,0, 0, 2.00); myobjectstate=1;
}
case 1:
{
MoveObject(myobject1, 0,0, 120, 2.00); myobjectstate=2;
}
case 2:
{
MoveObject(myobject1, 0,0, 240, 2.00); myobjectstate=0;
}
}
}
}
http://wiki.sa-mp.com/wiki/OnObjectMoved
keine ahnung obs geht aber so würde ich es versuchen.
Funktioniert leider beides nicht wirklich Die Bewegen sich in alle Richtungen nur nicht um die eigene Achse
sorry hatte nen denkfehler kannst du mal den code senden in dem du das object erstellst?
Wenn es sich nicht nur bewegen soll, sondern sich auch "smooooviii" bewegen, musst du auch die position selber ändern. Nicht nur die Rotation.
Somit einfach +0.01 und -0.01 um die Ursprungskoordinaten oder so.
Grüße
Funktioniert leider beides nicht wirklich
Hier, das funktioniert:
#include <a_samp>
new obj;
public OnFilterScriptInit()
{
obj = CreateObject(3414, 2082.28, 1670.31, 10.82, 0,0,0);
MoveObject(obj,2082.28, 1670.30, 10.82,0.01,0,0,90);
SetTimerEx("TurnObject", 750, 0, "dd", obj, 0);
return 1;
}
public OnFilterScriptExit()
{
DestroyObject(obj);
return 1;
}
forward TurnObject(objectid, objpos);
public TurnObject(objectid, objpos)
{
if(objectid == obj)
{
switch(objpos)
{
case 0: MoveObject(obj,2082.28, 1670.31, 10.82,0.01,0,0,180), objpos = 1;
case 1: MoveObject(obj,2082.28, 1670.30, 10.82,0.01,0,0,270), objpos = 2;
case 2: MoveObject(obj,2082.28, 1670.31, 10.82,0.01,0,0,360), objpos = 3;
case 3: MoveObject(obj,2082.28, 1670.30, 10.82,0.01,0,0,90), objpos = 0;
}
SetTimerEx("TurnObject", 750, 0, "dd", obj, objpos);
}
return 1;
}
Es ist allerdings so, dass es manchmal etwas ruckeln kann, weil die Timer in SA-MP ja bekanntlich nicht immer gleich lang sind. Möglicherweise musst du den Timer noch um ein paar Millisekunden anpassen.