PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zufall



Biffi
03.07.2006, 20:42
Hallo ^^

Ich baue grad ein Zufallsscript

Variable = Zufall 1 - 4
Abfrage 1
dann das
ende
Abfrage 2
dann das
ende
usw. bis 4

aber die zufallszahl wird nur einmal bestimmt beim spielstart :(

wie kann die ständig abgefragt werden?

Hab es schon mit einer schleife probiert aber dann hängt das game durchgehend

mfg
Biffi

Caractacus
03.07.2006, 20:54
Parallel Process und dann ein Clear Timer oder so.
Dürfte funktionieren.

Pilo
03.07.2006, 20:55
Damit es nicht hängt musst du in die Schleife einen Wait 0.0 reingeben, oder du machst es als Parallel Process ganz ohne schleife.

EDIT:Mist, zweiter.
Aber ich glaub, er will die Zufallszahl andauernd ändern.

Biffi
03.07.2006, 21:02
Naja mit der schleife und den wait funzt es jetzt halb ^^

Der macht am anfang random aber wenn
er 1mal bedingung = 4 gemacht hat kommt immer nur die bedingung 4

mfg
Biffi

Blutorgie
03.07.2006, 21:44
vielleciht hast du was dazugebaut, welches den wert der zufallsvariable immer schön auf 4 stellt:confused:

Kelven
03.07.2006, 23:28
Es wäre gut wenn du sagst, was genau das Script machen soll. Vielleicht läßt sich das Problem dann einfacher lösen.

Schau auf jeden Fall mal nach, ob du bei der Variable anstelle von Set nicht Plus stehen hast.

Biffi
04.07.2006, 05:28
Mein Code sieht so aus


<>Zykl.
<>Var. ändern :[0021:Zufall]Set, Zufall [1*5]
<>Bedingung:Varbl[0021:Zufall]-1
<>Tab ändern :[0004:Rupie Grün]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-2
<>Tab ändern :[0005:Rupie Blau]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-3
<>Tab ändern :[0006:Rupie Rot]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-4
<>Tab ändern :[0007:Rupie Gold]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-5
<>Tab ändern :[0008:nichts]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:End-Fall
<>
:End-Fall
<>
:End-Fall
<>
:End-Fall
<>
:End-Fall
<>Wrtn: 0,0s
<>
:Zykl. end
<>LABEL: 1Nr
<>Tab ändern :[0003:Busch1]-TAB AN
<>

Mehr ist das nicht ^^

mfg
Biffi

Pilo
04.07.2006, 07:53
Wenn die Schleife das erste mal läuft, wird der Switch entsprechend der zufallsvariablen gesetzt. Da das ganze 60 Mal in der Sekunde neu berechnet wird, sind nach einer unmerklichen zeit alle 4 Switches an.

Dadurch, dass die eventseiten immer von hinten gelesen werden, wird immer die letzte Seite ausgeführt, deren Bedingungen erfüllt sind, in deinem Fall wahrscheinlich die Seite, die den 4. Switch zum Start braucht. Egal ob die anderen auch an sind, oder nicht, wird das ignoriert.

Du kannst entweder die Switches vor dem neuberechnen ausschalten, oder du arbeitest besser ganz ohne Switches und lässt die Eventseite einfach vom Wert der Zufallsvariablen abhängen.

Wenn Events durch diese zufallsberechnung ihre Gestalt ändern, solltest du es natürlich nicht dauernd ändern, dann könntest du das CE auf Call stellen, die Schleife rausgeben und bei jeem Mapwechsel das Zufallsberchnungsevent callen.

Biffi
04.07.2006, 13:07
ok danke werde ich machen ^^

mfg
Biffi

übelster Held
04.07.2006, 19:10
Mein Code sieht so aus


<>Zykl.
<>Var. ändern :[0021:Zufall]Set, Zufall [1*5]
<>Bedingung:Varbl[0021:Zufall]-1
<>Tab ändern :[0004:Rupie Grün]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-2
<>Tab ändern :[0005:Rupie Blau]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-3
<>Tab ändern :[0006:Rupie Rot]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-4
<>Tab ändern :[0007:Rupie Gold]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:Ansonsten
<>Bedingung:Varbl[0021:Zufall]-5
<>Tab ändern :[0008:nichts]-TAB AN
<>Gehe zu Lbl: 1Nr
<>
:End-Fall
<>
:End-Fall
<>
:End-Fall
<>
:End-Fall
<>
:End-Fall
<>Wrtn: 0,0s
<>
:Zykl. end
<>LABEL: 1Nr
<>Tab ändern :[0003:Busch1]-TAB AN
<>

Mehr ist das nicht ^^

mfg
Biffi


ähm... welchen tieferen sinn hat denn die schleife???
die goto labels kann ich ja noch verstehen... ich nehme
mal an, dass der break cycle befehl noch nicht entdeckt wurde, mit
dem man die schleife beendet...^^
aber die schleife ist total überflüssig...
denn.. in jedem fall kommt eine zahl zwischen 1 und 5 raus...
und jeder fall wird abgefragt... und am ende jeder abfrage kommt ein
goto label 1, welcher aus dem cycle hinausführt, dieser somit abgebrochen wird...
willst du damit erreichen, dass der code immer wieder ausgeführt wird???
das geht anders... mach den komischen cycle weg, die labels und
goto labels auch, die sind überflüssig (momentan brauchst du die aber noch, um aus der schleife rauszukommen..)
und tu den übrig gebliebenen code in nen event, welches du mit einen angemessenen wait versiehst und dann auf parallel progress stellst...
und wenn du willst dass immer nur ein switch aktiv ist (vom aktuellen zufallswert abhängig) dann sieht dein code so aus:

<>Var. ändern :[0021:Zufall]Set, Zufall [1*5]
<>Bedingung:Varbl[0021:Zufall]-1
<>Tab ändern :[0004:Rupie Grün]-TAB AN
<>Tab ändern :[0005:Rupie Blau]-TAB Aus
<>Tab ändern :[0006:Rupie Rot]-TAB Aus
<>Tab ändern :[0007:Rupie Gold]-TAB Aus
<>Tab ändern :[0008:nichts]-TAB Aus
:End-Fall
<>
<>Bedingung:Varbl[0021:Zufall]-2
<>Tab ändern :[0005:Rupie Blau]-TAB AN
<>Tab ändern :[0004:Rupie Grün]-TAB Aus
<>Tab ändern :[0006:Rupie Rot]-TAB Aus
<>Tab ändern :[0007:Rupie Gold]-TAB Aus
<>Tab ändern :[0008:nichts]-TAB Aus
:End-Fall
<>
<>Bedingung:Varbl[0021:Zufall]-3
<>Tab ändern :[0006:Rupie Rot]-TAB AN
<>Tab ändern :[0004:Rupie Grün]-TAB Aus
<>Tab ändern :[0005:Rupie Blau]-TAB Aus
<>Tab ändern :[0007:Rupie Gold]-TAB Aus
<>Tab ändern :[0008:nichts]-TAB Aus
:End-Fall
<>
<>Bedingung:Varbl[0021:Zufall]-4
<>Tab ändern :[0007:Rupie Gold]-TAB AN
<>Tab ändern :[0004:Rupie Grün]-TAB Aus
<>Tab ändern :[0006:Rupie Rot]-TAB Aus
<>Tab ändern :[0005:Rupie Blau]-TAB Aus
<>Tab ändern :[0008:nichts]-TAB Aus
:End-Fall
<>
<>Bedingung:Varbl[0021:Zufall]-5
<>Tab ändern :[0008:nichts]-TAB AN
<>Tab ändern :[0004:Rupie Grün]-TAB Aus
<>Tab ändern :[0006:Rupie Rot]-TAB Aus
<>Tab ändern :[0007:Rupie Gold]-TAB Aus
<>Tab ändern :[0005:Rupie Blau]-TAB Aus
:End-Fall
<>
<>Wrtn: 0,0s
<>
:Zykl. end
<>Tab ändern :[0003:Busch1]-TAB AN

und das ganze kommt dann in nen pp-event..
mfg
üH

Biffi
05.07.2006, 11:18
@übelster Held deine methode funzt gar nicht
ist irgendwo bestimmt noch ein fehler drin ^^

mfg
Biffi

Fab4
05.07.2006, 12:18
was willst du denn genau damit bewirken? irgendwie macht das ganze keinen sinn... dass was der übelste held da geschrieben hat ist das einzig wirklich sinnvolle für alle verwendungsmöglichkeiten.
jetzt frage ich mcih aber soll das ein script dafür sein, dass wenn man einen busch umhaut eine bestimmte rupie fallen soll? weil wenn das der fall ist, solltest du imo ehh komplet ohne schleife arbeiten sondern einen common event nehmen, der wenn es soweit ist einfach aufgerufen wird. dann wird auch kein wait von 0.0 gebraucht

Pilo
05.07.2006, 12:30
In Wirklichkeit bräuchte man garkeine Switches, die vari reicht vollkommen.

Ich habs oben schon theoretisch erklärt und da biffi keine konkreten fragen mehr stellt und auch nichts in richtung hilfe, es geht noch immer nicht sagt, geh ich mal davon aus, dass es funktioniert.

Biffi
05.07.2006, 14:34
jupp funzt ja auch ^^

hatte ich vergessen zusagen ^^

aber danke nochmals

mfg
Biffi