PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Zufall



Rinober
10.07.2004, 17:35
Hoi alle zusammen!
ich hab da ein kleines Problemchen mit einem Zufallsevent im Maker:
Ich will, dass der Hero eine von insgesamt vier möglichen Tätigkeiten erledigt. Was er macht, soll dabei per Zufall ausgewählt werden. Doch dann kommt mein Problem:
Der Hero vollzieht immer nur die erste Möglichkeit.
Hier das ist der Code im Event; das was der Hero immer macht, habe ich fett geschrieben, das was der Hero nie macht, habe ich kursiv geschrieben:

<>Change Var: Var[x :Variablenname] (Set)-Random(1 to 4)
<>If Var(x:Variablenname) 1
<>Hier passiert dann die erste Möglichkeit
:Else Case
<>If Var (x:Variablenname) 2
<>Hier passiert die zweite Möglichkeit
:Else Case
<>If Var (x:Variablenname) 3
<>Hier passiert die dritte Möglichkeit
:Else Case
<>If Var (x:Variablenname) 4
<>Hier passiert die letzte Möglichkeit
<>
:End Case
<>
:End Case
<>
:End Case
<>
:End Case
<>

Ist da irgendwo ein Fehler oder habe ich was nicht beachtet?
Helft mir bitte
Gruß
Jason

Crazy Com
10.07.2004, 17:52
Probier es mal folgendermaßen:

<>Change Var: Var[x :Variablenname] (Set)-Random(1 to 4)
<>If Var(x:Variablenname) 1
<>Hier passiert dann die erste Möglichkeit
:End Case
<>
<>If Var (x:Variablenname) 2
<>Hier passiert die zweite Möglichkeit
:End Case
<>
<>If Var (x:Variablenname) 3
<>Hier passiert die dritte Möglichkeit
:End Case
<>
<>If Var (x:Variablenname) 4
<>Hier passiert die letzte Möglichkeit
:End Case
<>

Also eben immer ohne else!

ZidaneFFIX
10.07.2004, 18:14
Bitte mal den Code per Bild zeigen.

<>Change Variable: Random 1-4
<>FORK Optn Variable = 1
<>1. Möglichkeit
<>END Case
<>FORK Optn Variable = 2
<>2. Möglichkeit
<>END Case
<>FORK Optn Variable = 3
<>3. Möglichkeit
<>END Case
<>FORK Optn Variable = 4
<>4. Möglichkeit
<>END Case

Auch eine Möglichkeit.

Zidi

Kaat
10.07.2004, 18:56
Nach deiner Schilderung klingt es ganz so, als ob er beim ersten Mal nicht abfragt, ob die Variable gleich 1 ist, sondern größer/gleich. Setz' entweder bei der Fork Condition die Voraussetzung auf Gleich / Equal / Same und nicht auf Above, etc. oder du beginnst bei der Variablen-Abfrage nicht bei 1, sondern bei 4 und zählst runter. Also entweder so:

<>Change Var: Var[x :Variablenname] (Set)-Random(1 to 4)
<>If Var(x:Variablenname) 1, SAME / EQUAL
<>Hier passiert dann die erste Möglichkeit
:Else Case
<>If Var (x:Variablenname) 2, SAME / EQUAL
<>Hier passiert die zweite Möglichkeit
:Else Case
<>If Var (x:Variablenname) 3, SAME / EQUAL
<>Hier passiert die dritte Möglichkeit
:Else Case
<>If Var (x:Variablenname) 4, SAME / EQUAL
<>Hier passiert die letzte Möglichkeit
<>
:End Case
<>
:End Case
<>
:End Case
<>
:End Case
<>

oder

<>Change Var: Var[x :Variablenname] (Set)-Random(1 to 4)
<>If Var(x:Variablenname) 4
<>Hier passiert dann die erste Möglichkeit
:Else Case
<>If Var (x:Variablenname) 3
<>Hier passiert die zweite Möglichkeit
:Else Case
<>If Var (x:Variablenname) 2
<>Hier passiert die dritte Möglichkeit
:Else Case
<>If Var (x:Variablenname) 1
<>Hier passiert die letzte Möglichkeit
<>
:End Case
<>
:End Case
<>
:End Case
<>
:End Case
<>

Dann müsste es eigentlich klappen. Die weiteren Fork Conditions kannst du ruhig im If-Case stehen lassen.

Rinober
10.07.2004, 21:53
danke für die Hilfe!
Jetzt klappts! (mit den End Cases)
Gruß
Jason