28.04.2012, 10:23 | #1 (permalink) |
Registriert seit: 24.04.2012
Beiträge: 8
|
"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! |
28.04.2012, 18:07 | #2 (permalink) |
Beispiel:
Code:
_typeNr = round (random 3); switch (_typeNr) do { case 0: { //Script 1// [] execVM "script_1.sqf"; }; case 1: { //Script 2// [] execVM "script_2.sqf"; }; case 2: { //script 3// [] execVM "script_3.sqf"; }; case 3: { //script 4// [] execVM "script_4.sqf"; }; };
__________________
Ghost_AUT Geändert von Ghost_Aut (28.04.2012 um 18:11 Uhr). |
|
28.04.2012, 23:14 | #4 (permalink) |
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
PHP-Code:
gruß hoschi |
29.04.2012, 00:18 | #5 (permalink) |
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
|
hoschi's script noch ein bisschen verbessert und formatiert!
Ordentlich Einrücken ist immer toll, Herr Hoschi PHP-Code:
Geändert von TeRp (29.04.2012 um 00:24 Uhr). |
29.04.2012, 19:26 | #7 (permalink) |
Registriert seit: 03.01.2008
Alter: 84
Beiträge: 6.552
|
Du bist wirklich lange raus... so macht das kein Mensch mehr, lol Ich hau noch ne dritte Version rein Code:
if (isnil"c_array") then {c_array = [1,2,3,4]}; if (count c_array > 0) then { _auswahl = c_array select (floor (random (count c_array) - 1)); c_array = c_array - [_auswahl]; execVM format ["script%1.sqf", _auswahl]; };
__________________
In arma everything is made of refined explodium, armored with wet paper towels. Geändert von Xeno (29.04.2012 um 19:35 Uhr). |
29.04.2012, 19:29 | #8 (permalink) |
Registriert seit: 24.04.2012
Beiträge: 8
|
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. 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... |
29.04.2012, 20:09 | #9 (permalink) |
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
floor wird keinesfalls benoetigt. Angenommen der Array hat noch einen Wert, dann wird mit meiner methode Code:
_zaehler = ((count c_array)-1); _auswahl = c_array select (round (random _zaehler)); 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 |
29.04.2012, 21:03 | #11 (permalink) |
Registriert seit: 02.04.2003
Ort: San Francisco
Beiträge: 1.919
|
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 So, genug Offtopic von mir Ontopic: Gut das der Xeno immer ncoh ArmAaaAaa scriptet und diese Kacksprache super beherrscht Geändert von TeRp (29.04.2012 um 21:12 Uhr). |
30.04.2012, 17:08 | #14 (permalink) |
Registriert seit: 26.11.2006
Ort: Kiel, S-H
Alter: 57
Beiträge: 3.013
|
lt. BIKI hat BIS inzwischen da Hand angelegt, so das nie der Maximalwert erreicht werden kann. Ich kann mich nur zu gut daran erinnern das es mal anders war, aber mittlerweile heisst es:
__________________
Nur ein Beispiel das zeigt wie BI "support" definiert: https://feedback.bistudio.com/T75547 |
01.05.2012, 16:59 | #17 (permalink) |
Registriert seit: 01.07.2006
Ort: Kabul
Alter: 39
Beiträge: 2.666
|
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 |
02.05.2012, 10:32 | #18 (permalink) |
Registriert seit: 24.04.2012
Beiträge: 8
|
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.
|
Stichworte |
case, fall & zufall, möglichkeiten, random, zufall, zufällig |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Hilfe bei SLI-Problem | Bcook | Technische Fragen & Probleme | 13 | 20.02.2011 14:38 |
Neuling brauch Hilfe | Joghurt | Multiplayer Community | 1 | 02.11.2010 22:42 |
Brauche Hilfe bei meiner Cornershot | Don Schächter | Mods & Addons | 21 | 02.10.2010 14:57 |
Hilfe, Anfänger | TH1984 | Community | 15 | 01.09.2010 18:21 |
Brauche Hilfe mit meinem ersten Addon | Don Schächter | Mods & Addons | 11 | 08.07.2010 21:17 |