1
2
3
4
5
2
3
4
5
on:use {
$yaw=getyaw("unit",1);
$var=((sin($yaw))*100);
msg "$var";
}
so kommt auch immer 0.
Und ich habe was getestet:
1
($var=9.99999)
und er gibt 9 aus
Scripts
Scripting - Fragen/Problemeon:use {
$yaw=getyaw("unit",1);
$var=((sin($yaw))*100);
msg "$var";
}
($var=9.99999)
Offensichtlich werden Kommazahlen nicht gerundet, sondern abgeschnitten (eigentlich nicht die Arbeitsweise die ich von BB her gewohnt bin)
Der Yaw Wert ist korrekt.
Der Sinus ergibt immer Null, außer bei 90°, da ergibt er 1
Kombiniert man diese Punkte, so ist ersichtlich, dass die Multiplikation mit 100, anders als in der Befehlsreferenz geschildert, doch nicht erfolgt, die trig. Funktionen geben also nur 0 oder 1 zurück.
Daraus lässt sich schließen, dass diese Multiplikation nicht für die aktuelle Alpha gilt und du auf die nächste warten musst...
noch ein behelfon:use {
// x ist die ID des Textcontainers
s2:msgbox "Quiz", "x";
/*
y ist die ID des Button-Aussehens, z die des Textcontainers mit dem Script, beui dem man ein Item kriegt, n das mit dem Abbruch
*/
s2:button 1, "Antwort 1", y, z;
button 2, "Antwort 2", y, n;
}
s2:store ItemID, "unit", 1; s2:closemenu;
closemenu; msg "Haha, noob, daneben!";
dialogue einfacher geht.
timer 0,1,1,"gelerntemagie";
on:gelerntemagie {
	player_weapon 264;
	}
scantarget [Reichweite] - prüft auf was/wohin man zeigt. mit Reichweite kann eine maximale Entfernung festgelegt werden (so können weit entfernte Ziele ausgeschlossen werden). Wenn etwas erfasst wurde, wird 1 zurückgegeben. wenn nichts erfasst wurde 0.
targetclass,
targetid,
targetx,
targety,
targetz - geben alle die entsprechenden von scantarget ermittelten Daten zurück. if (scantarget()){
	if (targetclass()==0){
		if (targety()==0){
			msg "Du zeigst auf Wasser!";
		}else{
			msg "Du zeigst auf den Boden!";
		}
	}
}
scantarget 1 zurück wenn man auf etwas zielt. Und wenn man eine Reichweite angibt auch nur wenn das was man anzielt in Reichweite ist. Sonst gibt es 0 zurück.
targetclass gibt dann die Klasse von dem was du anzielst zurück (z.B. Unit oder Object) und 0 bei boden.
targety wird dann die Höhe von dem angezielten punkt geprüft (bei 0 ist es Wasser weil 0 ist ja die Höhe von der Wasseroberfläche)