16.08.2012, 19:12 | #21 (permalink) |
Registriert seit: 19.10.2009
Beiträge: 3
|
Grüße,
ich greif das Thema mal wieder auf! Wir haben auch einen Übungsplatz bei dem ich die Pistolen und Gewehrschiessbahnen mit dem Script von Vienna umgebaut hab. (mit der Utes-Beispielmission) Das funktioniert auch ohne Probleme! Ich möcht nun aber für die Mg-Bahn ganze Zielgruppen aufklappen lassen! Das Script über mir scheint ja dafür wie geschaffen! Nur leider hab ich es nicht zum laufen bekommen, da ich auch nicht wirklich viel Ahnung von der Scriptsprache habe! Weiß nicht was ich wo in die Zielscheiben oder den Auslöser reinschreiben muss, damit das ganze funktioniert! Vielleicht kann mir da ja jemand helfen!? danke schon mal im vorraus... |
20.08.2012, 16:37 | #22 (permalink) |
Registriert seit: 19.10.2009
Beiträge: 3
|
MG-20script.utes.rar
Hier die Testmission für Vienna. Dort hab ich versucht dein Script und auch das von Clawhammer zum laufen zu bekommen! Beides leider ohne Erfolg! Zum Verständnis was ich machen wollte! Einmal sollte eine Gruppe von vier Zielen gleichzeitig aufklappen, 6 Sekunden oben bleiben und dann entweder abklappen oder halt, wenn getroffen, auch gezählt werden! Das andere ist dein Script, bei dem 4 Zielgruppen a vier Zielscheiben zufällig aufklappen. Jede Gruppe zusammen! Auch hier sollten die Treffer gezählt werden. Beide Scripts sollen durch das betreten des Auslösers augelöst werden1 danke auch jetzt schon wieder im Vorraus! |
21.08.2012, 14:25 | #23 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
Du verwendest dieses Skript (beachte die fetten Texte):
gruppe_1.sqf Code:
/** * Zielscheibe steuern * * Aufruf in der Initialisieurngszeile jeder Scheibe der Gruppe: * temp = this execVM "Gruppe_1.sqf" * * Verwendet 2 globale Variable die für jede Gruppe eine anders Skript * und andere "laufende" Nummern haben müssen * * Scheiben_1_auf true stellt die Scheiben auf. * Ist beim Spielstart auf false zu initialisieren. * * Scheiben_1_treffer für das Speichern der Treffer der Gruppe. * Ist beim Spielstart auf 0 zu initialisieren. **/ private ["_scheibe","_zeit"]; _scheibe = _this; _scheibe animate["terc", 1]; //Scheibe beim Start umlegen //Dauerschleife sleep 3; while {true}do { waituntil {Scheiben_1_auf}; //Warten auf Aufstellbefehl _zeit = time + 6; //Scheibe 6 Sekunden sichtbar (mindestens 4) _scheibe animate["terc", 0]; //Scheibe aufrichten sleep 2; //Warten auf Zeitablauf oder Treffer waituntil {time > _zeit or _scheibe animationPhase "terc" > 0.2}; //Trefferabfrage if (_scheibe animationPhase "terc" > 0.2) then { Scheiben_1_treffer = Scheiben_1_treffer + 1 }; //Scheibe 3 Sekunden lang umlegen for "_i" from 1 to 30 do { _scheibe animate["terc", 1]; //Scheibe umlegen sleep 0.1 }; Scheiben_1_auf = false } Für eine weitere Gruppe musst du das Skript kopieren und z.B. den Namen gruppe_2.sqf geben. Im skript musst du dann alle Variable Scheiben_1_auf auf Scheiben_2_auf und Scheiben_1_treffer auf Scheiben_2_treffer ändern. In die Initialisierungszeile der Scheiben der 2. Gruppe ist dann auch das Skript "Gruppe_2.sqf" aufzurufen. Aufgeklappt werden die Scheiben mit den Variablen (Scheiben_1_auf, Scheiben_2_auf usw.), indem man eine solche Variable auf true setzt. Das kann beliebig wiederholt werden. Das Ergebnis ist dann den Variablen (Scheiben_1_treffer, Scheiben_2_treffer usw.) zu entnehmen. Die Zeit, wie lange die Scheiben sichtbar sind, kann in den Skripten in der Zeile _zeit = time + 6; //Scheibe 6 Sekunden sichtbar (mindestens 4) eingestellt werden. Du kannst beliebig viele solche Sktipte erstellen und so ein Skript nur einer einzelnen Scheibe zuweisen. Das zufällige Aufstellen erfolgt dann z.B. so über einen Bereichs-Auslöser: Du hast drei Skripte mit den Variablen Scheiben_1_auf, Scheiben_2_auf und Scheiben_3_auf. In den Auslöser in "Bei Akt." reinkopieren: Code:
temp = [] spawn { private ["_skripte","_ScheibenWahl"]; _skripte = 3; titleText [ "Feuer frei!","plain down"]; for "_i" from 1 to (random 4)+5 do { _ScheibenWahl = format["Scheiben_%1_auf = true",floor(random _skripte)+1]; call compile _ScheibenWahl; sleep ((random 2)+4) }; titleText [ "F E U E R E I N S T E L L E N !","plain down"] } Im Anhang ein Beispiel mit drei Skripten. Diese Lösung ist einfach zu erweitern. |
21.08.2012, 17:32 | #24 (permalink) |
Registriert seit: 19.10.2009
Beiträge: 3
|
Danke erstmal Vienna für die Mühe und die Zeit um mir zu helfen! Ich merk echt das ich noch null Plan davon hab! Aber mit der Mission seh ich schon etwas klarer! Hab eigentlich nur eine Bitte, wenn es möglich wäre sollte sich die Trefferanzeige erst beim betreten des Auslösers zeigen und sie sollte sich auch wieder nullen! Bei dir zählt sie einfach bei Neuaktivierung weiter! Vielleicht kannst du mir das mal an nur einer Gruppe, ohne Text (Feuer frei usw.) zeigen?!
Falls nicht, trotzdem danke! Freu mich immer über Hilfe und macht Spaß so langsam dahinter zu steigen! |
21.08.2012, 21:16 | #25 (permalink) |
Registriert seit: 12.07.2004
Ort: Wien
Beiträge: 1.917
|
In diesem Beispiel kannst mit Funkbefehlen die Anzeige ein- und ausschalten und den Trefferstand auf 0 zurücksetzen.
Sieh dir die Inhalte der Auslöser an. Damit kannst du rumprobieren und z.B. die Textausgaben ändern oder neue Abfolgen zusammenstellen. |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|