>Fällt euch vllt noch eine elegantere Lösung ein, bei der FM_Recharge beim Wert 3 bleiben könnte?
>aber so kommt der Fehler, dass if nicht in einem Parameter enthalten sein darf...
var schaden;
if(!Random(3)) schaden = 1;
DoDmg(schaden,DMG_Melee,i);
DoDmg(Random(3)>1,DMG_Melee,i);
Random(a)<b
mit einer Wahrscheinlichkeit von b/a true, ansonsten false. So gesehen lässt sich das schon recht einfach den eigenen Bedürfnissen anpassen.Random(100)<60
nimmt, hat man eine Wahrscheinlichkeit von 60%bool\*x
Somit hast du manchmal 0, manchmal X Schadenspunkte. Und wenn du mit der Wahrscheinlichkeit zwischen den Werten X und Y wechseln willst, kannst du auch x+bool\*(y-x)
benutzen.>es wird eine Zahl zwischen 1 und 3 generiert.
Random(x)
spuckt eine Zahl zwischen 0 und x-1 aus. In dem Fall also eine Zahl zwischen 0 und 2 (Wenn man einen zufälligen Boolschen Wert haben will, kann man also auch direkt Random(2) benutzen). :)[0,x-1]
bewegt, liegt daran, dass Random() die Zahl zum Schluss mit Modulo auf die von uns durch den Parameter angegebene, handliche Größe runtergerechnet wird. Die wahre engineinterne Zufallszahl bewegt sich im kompletten Bereich, den ein (ich glaube) 32-Bit Integer annehmen kann. Diese wird dann auch weiterverwendet, um die nächste Zufallszahl zu errechnen. Nur das Endergebnis, welches wir nutzen, wird moduliert. Letztendlich ist es ganz praktisch so, denn es erlaubt uns zum Beispiel ein zufälliges Arrayitem über data[Random(GetLength(data))]
zu bekommen.
>AddEffect("HitCheck", this(), 1,1, 0, SHT1,shooter,true);
SHT1
) zeigt an, aus welcher Definition der Effekt geladen wird, ergo musst du nur im Script von SHT1
nach dem HitCheck suchen.>Ich habe im Script der Raketen gesehen, dass dort ein Effekt steht, der vermutlich dafür sorgt, dass Projektile die Raketen zum Explodieren bringen können
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill