Ein kleines Hilfs-script welches einen genaueren Flug von Objekten bewirkt.
Es fügt die nachkommastellen, die beispielsweise bei "Sin()" und "Cos()" entstehen, aber gerundet werden, zur Geschwindigkeit hinzu.
Leider kommt es dadurch zu einer leichten erhöhung der Gesammtgeschwindigkeit.
Dieses script kann Beispielsweise für einen Bogen verwendet werden, der genaue Zielwinkel (z.B. 63°) verwendet. Die normale Rundung wird dadurch ausgeglichen.
Verwendet wird dieses Script indem man es kurz vor oder nach einer Exit Funktion (oder ähnliches) ausführt.
Die Mitgelieferten werte sind:
1. das Objekt, das abgeschossen werden soll
2. Die X-Dir, welche an Exit übergeben wird, nur zehnfach (z.B. "Sin(R,10)")
3. Dir Y-Dir: auch zehnfach
Viel Spaß damit ^^
Hier jetzt das Script:
#strict 2
global func Flugbahnkorrektur(Obj,XDir,YDir){
var i = AddEffect("Flugbahnkorrektur",Obj,100,1,Obj);
var j,k;
j = XDir % 10;
k = 2*(j % 2);
j /= 2;
EffectVar(0,Obj,i) = [j,j+k];
j = YDir % 10;
k = 2*(j % 2);
j /= 2;
EffectVar(1,Obj,i) = [j,j+k];
}
global func FxFlugbahnkorrekturTimer(){
var i = GetEffect("Flugbahnkorrektur",this);
if((!GetXDir())&&(!GetYDir()))return(RemoveEffect(0,this,i));
SetXDir(GetXDir()+EffectVar(0,this(),i)[EffectVar(3,this,i)]);
SetYDir(GetYDir()+EffectVar(1,this(),i)[EffectVar(3,this,i)]);
if((++EffectVar(3,this(),i))>1)RemoveEffect(0,this,i);
}