"case" und "random" hilfe
Hallo,
nachdem ich meine suchmachine nun für stunden (ohne erfolg) zum kochen gebracht hab dachte ich mir poste ich es mal hier und hoffe auf antwort... ich hab mir ein kleines Script zusammengeschustert was auch soweit ganz gut funktioniert (nach Stunden an Arbeit ...). PHP-Code:
Jedoch bin ich jetzt an einem Punkt der meine Kenntnisse bei weitem übersteigt. das obige Script soll nun zufällig eines von 5 Scripten aufrufen. Und das jeweilig ausgewählte Script dann auch niemals wieder aufrufen. ich habe natürlich gegoogelt was das Zeug hält habe mir auch wieder was gebastelt was aber nicht funktioniert. Aber vielleicht gibts euch ne Idee auf was ich eigentlich aus bin. PHP-Code:
Wenn ich hier voll auf dem Holzweg sein sollte sagt es mir. Ich bin ein blutiger anfänger was sqf angeht. schonmal vielen dank! :) |
Beispiel:
Code:
_typeNr = round (random 3); |
Hallo Ghost!
Vielen Dank für deine schnelle Antwort. Funktioniert auch alles hervorragend bis auf eine kleine Sache... Wie stelle ich sicher das das aufgerufene Script nicht noch mal aufgerufen wird? |
PHP-Code:
gruß hoschi |
hoschi's script noch ein bisschen verbessert und formatiert!
Ordentlich Einrücken ist immer toll, Herr Hoschi :D PHP-Code:
|
:daumen:
vielen dank jungs! |
Zitat:
Ich hau noch ne dritte Version rein :p Code:
if (isnil"c_array") then {c_array = [1,2,3,4]}; |
Nochmals danke für die schnellen und super antworten. Beide Scripts funktionieren super jedoch habe ich ein kleines Problem was mich an den rande des Wahnsinns treibt.
PHP-Code:
Wenn Player Bluefor ist und _suspect Opfor dann muss ich _suspect erst verwunden damit die AddAction erscheint. :stupid: Wenn Player Opfor ist und _suspect Opfor habe ich keine Problem. Genauso wenn Player Bluefor ist und _suspect Civi. Macht das für einen für euch einen Sinn? Denn ich bin mit meinem Latein am Ende... |
Zitat:
Angenommen der Array hat noch einen Wert, dann wird mit meiner methode Code:
_zaehler = ((count c_array)-1); Das Skript welches ich oben geschrieben habe, habe ich auch getestet und es funktionierte so wie gewollt auch ohne die werte mit floor abzurunden. gruß hoschi |
Hoschi dein script funktioniert einwandfrei :daumen:
glaube auch nicht das der fehler dort liegt. obwohl ich um ehrlich zu sein keine ahnung hab was da so probleme macht. xeno hast du ne idee? |
Mal so ein kurzer Einwand nebenbei.
Wenn man nur round benutzt hast man unterschiedliche Wahrscheinlichkeiten für das Auftreten der Ereignisse. Insbesondere das erste und letzte Element des Arrays haben eine niedrigere Wahrscheinlichkeit als die restlichen Elemente. Beispiel der Array [0,1,2,3]: Mit round (random (count array - 1)): 0 ergibt sich für random-Werte [0,0.5[ 1 ergibt sich für random-Werte [0.5,1.5[ 2 ergibt sich für Random-Werte [1.5,2.5[ 3 ergibt sich für Random-Werte [2.5,3[ Mit floor (random (count array)): 0 ergibt für [0,1[ 1 ergibt sich für [1,2[ 2 ergibt sich für [2,3[ 3 ergibt sich für [3,4[ Und im Falle, dass sich 4 ergeben sollte (sehr unwahrscheinlich), wird einfach wiederholt bis sich ein anderer Werte ergibt. Das ist das Problem bei Xeno's Script, das letzte Element wird mit allerhöchster Wahrscheinlichkeit zu allerletzt ausgeführt, eben wegen dieses Umgangs mit floor :D So, genug Offtopic von mir :D Ontopic: Gut das der Xeno immer ncoh ArmAaaAaa scriptet und diese Kacksprache super beherrscht :D |
Zitat:
|
keiner ne idee?
|
Zitat:
Ich kann mich nur zu gut daran erinnern das es mal anders war, aber mittlerweile heisst es: Zitat:
|
Zitat:
gruß hoschi |
Liste der Anhänge anzeigen (Anzahl: 1)
hier und nochmal danke! :daumen:
|
Bei der von dir angehaengten Mission kann ich als Blufor Einheit ohne Probleme den actionmenue Eintrag vom Opfor Takistani auswaehlen auch ohne vorher auf ihn feuern zu muessen.
Bitte schildere nochmal genau den Ablauf wann wie das Problem bei dir auftritt. gruß hoschi |
Ich hab mein Spiel gerade mal ohne Mods gestartet und hatte auch keinerlei Probleme. Jetzt blicke ich gar nicht mehr durch. Wenn einer eine Idee hat bzw. ein alternatives Script hätte was aufs gleiche hinausläuft wäre ich sehr dankbar.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:03 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias