Briefing - Missionsziele später anzeigen
Eine frage zum Briefing.
Ich habe mein Briefing soweit fertig und es funktioniert auch alles, bis auf die tatsache das ich nicht gleich alle Ziele von beginn an anzeigen möchte. Im Briefing Tutorial von AMS steht da folgendes: Briefing Tutorial [0.9] | AMS Downloadarchiv - Assault Mission Studio Code:
[] spawn { Ich habe meine missionsziele task1,task2,task3 usw. genannt. Auf der Karte gibt es dann "leere" marker mit namen obj1,obj2 usw. als Missionsziel Marker für das Briefing. Das beispiel oben verstehe ich so das wenn obj3 nicht mehr aktiv ist dann wird task 3 angezeigt ?! oder steh ich gerade total auf dem schlauch. Bräuchte mal einen stupps in die richtige richtung. |
obj3_active ist eine simple selbst definierte Variable, die erstellt wird, wenn das Missionszziel davor erledigt wurde.
Beispiel: Shilka ist Missionsziel 2 und wurde zerstört, dann wird zB mittels player setVariable ["obj3_active",true,true]; der nächste Task aktiviert. :rolleyes: |
Also wenn ich nun z.b. über einen auslöser
player setVariable ["obj1_active",true,true]; Deine zeile in der Initzeile ausführe, passiert leider das gleiche wie vorher.Das missionsziel wird zwar nicht angezeigt, leider aber auch nicht aktiv geschaltet. das nächste missionsziel ist dann " any" der eintrag in meiner briefing.sqf sieht folgendermaßen dazu aus: Code:
[] spawn { |
Änder mal:
Code:
waitUntil {!(isNil "obj1_active")}; Code:
waitUntil {player getVariable "obj1_active"}; :rolleyes: |
Danke , das schien die lösung gewesen zu sein.
Hat mir sehr geholfen..... damit ist meine Mission eigentlich fertig. Naja muss den text im Briefing nochmal bisschen ausbauen. :daumen: |
es hätte auch gereicht die variable ganz einfach im gewünschten moment zu definieren...
also Code:
obj1_active = true; |
Hallo,
Hab da auch n Problem, und zwar: Die Methode von Buliwyf versteckt zwar im Briefing die späteren Missionsziele, aber sobald diese aktiviert werden, gibt's in der Hinweismeldung nur "any" :( Bei der"waitUntil {!(isNil "obj1_active")}"-Methode wird die Meldung beim Aufruf für das neue Missionsziel zwar richtig angezeigt, aber leider sind die "versteckten" Missionsziele ab Beginn der Mission unter "Aufgaben" bereits zu sehen :motz: Hab mal den Auszug meiner Briefing.sqf angehängt. Hat da jemand bitte nen Tipp für mich? THX _diary6 = player createDiaryRecord ["Diary", ["bla", "bla"]]; _diary5 = player createDiaryRecord ["Diary", ["bla", "bla"]]; _diary4 = player createDiaryRecord ["Diary", ["bla", "bla"]]; _diary3 = player createDiaryRecord ["Diary", ["bla", "bla"]]; _diary2 = player createDiaryRecord ["Diary", ["bla", "bla"]]; _diary1 = player createDiaryRecord ["Diary", ["bla", "bla"]]; task4 = player createSimpleTask ["Fallujah sauber halten"]; task4 setSimpleTaskDescription ["Halten Sie die Stellung...", "Fallujah sauber halten", "Fallujah"]; player setCurrentTask task4; [] spawn { waitUntil {!(isNil "obj2_active")}; task3 = player createSimpleTask ["Im Nachschublager..."]; task3 setSimpleTaskDescription ["Unser nordwestlich...", "Situation Nachschublager klären", "Nachschublager"]; }; [] spawn { waitUntil {!(isNil "obj1_active")}; task2 = player createSimpleTask ["Brücke..."]; task2 setSimpleTaskDescription ["Ein feindliches...", "Brücke verminen", "Minen"]; }; player setCurrentTask task2; task1 = player createSimpleTask ["Zu unserer Hauptbasis ..."]; task1 setSimpleTaskDescription ["Sie werden...", "Fahren Sie zu unserer Hauptbasis", "obj4"]; player setCurrentTask task1; exit; Die "Nebenmissionen werden derzeit folgendermaßen aufgerufen: Bei nem bestimmten WP ist die Zeile "obj1_active = true". Auf der Karte ist ein Auslöser (Name: obj1_active, L X B jeweils 0, aktivierung KEINER, Bei Aktivierung: task2 setTaskState "CREATED"; [objNull, ObjNull, task2, "CREATED"] execVM "CA\Modules\MP\data\scriptCommands\taskHint.sq f" |
exit; hat in einer SQF-Datei nix verloren... da gehts schonmal los... und Leerzeichen zwischen "sq f" auch nicht...
:p |
ja, die Hint Zeile hab ich ausm Netz kopiert, meine passt ;)
aber danke für den Hinweis mit dem exit ^^ Funzt aber trotzdem noch ned richtig :( |
Code:
[] spawn { any wird angezeigt weil task2 da noch nicht definiert ist bzw. sind die ziele in der anderen methode zu sehen weil die var obj1_active offensichtlich schon definiert wurde, also nicht mehr nil ist. achte darauf diese variable nicht zu definieren (z.b. in der init mit false oder sowas in der art) und deine player setCurrentTask taskx; nach jedem spawn {} sind nicht nur überflüssig sondern auch falsch. wenn dann nur in den code. mfg p.s.: wenn das für den mp sein soll dann achte darauf das alle clienten die briefing.sqf ausführen und die vars wie obj1_active auch public gemacht und auch JIP's mitgeteilt werden. p.p.s.: eigentlich ist in dem briefing tutorial alles bis ins detail beschrieben. |
Is für ne SP Mini Kampangne ^^
Also Könnte ich im obj1_active Auslöser obj1_active = false definieren? Thx |
Wenn du die Variable undefiniert machen willst, dann mit: obj1_active = nil
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr. |
Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias