HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing & Scripting (https://hx3.de/editing-scripting-167/)
-   -   'Sprechen mit' als Auslöser/Auslöserbereich um Einheit (https://hx3.de/editing-scripting-167/sprechen-ausloeser-ausloeserbereich-um-einheit-20377/)

Tiptoes 10.02.2011 16:51

'Sprechen mit' als Auslöser/Auslöserbereich um Einheit
 
Hiho,

Ich spiele noch nicht so lange arma 2 und in letzter Zeit habe ich angefangen mich etwas mit editing zu beschäftigen. Ich arbeite nah an verschiedenen guides und bis jetzt bin ich über google und diese guides immer ganz gut bei problemen voran gekommen, auch wenn es zum teil länger gedauert hat aber jetzt komme ich nicht mehr so richtig weiter...

Ich hab die Misson mit Basen, checkpoints etc. im editor fertig, jetzt kommen die ganzen auslöser, insbesondere die Aufträge, zum teil gehts gut voran, aber bei einer Sache komme ich nicht weiter. Ich möchte bei einem task der "US Rangers finden" heißt eben, dass wenn ich beim Gruppenführer der Rangers stehe und ihn dann persönlich anspreche, so dass z.b. dieses menü mit "wetter/ort/etc." am rand kommt, der Auftrag abgeschlossen ist - da wusste ich überhaupt nicht, ob es so oder so ähnlich dafür überhaupt ne Möglichkeit gibt, geschweige denn wie man das macht...
Wenn ich was wie "ansprechen" in guides oder google gesucht hab kam halt immer was wie "einheiten in bereich ansprechen";

(Was jetzt kommt habe ich immer während ich rumprobiert habe fortgesetzt:)
Dann beim schreiben der obigen zeilen hatte ich eine idee und wollte es vor dem posten nochmal anderes versuchen, und zwar, dass wenn ich einen gewissen bereich z.b. 5m um den Grpleader der Rangers ("RangerLead") herum betrete, der auslöser1 für den abgeschlossenen Auftrag auslöst.
Ich habe einen zweiten auslöser, den jeder mehrfach im umkreis von 1000m auslöst, erstellt um auslöser1 zu verschieben. Das hieße doch, das die gruppe die ich finden muss, die sich in diesem Bereich bewegt, den auslöser1 dauerhaft per "ausl1 setpos getPos RangerLead" verschiebt, oder? Allerdings löst die Gruppe den auslöser nur einmal aus und verschiebt ihn dann wohl nur beim einen mal mehr oder weniger nur um ein paar Zentimeter. Ich bin durch die ganze Sache noch nicht so ganz durchgestiegen.
Hab dann gedacht: Könnte vielleicht mit so einer skirptschleife funzen - deren arbeitsweise ich aber auch noch nicht ganz verstanden habe. Hab mir das dann in MrMurrays guide durchgelesen etwas an der vorgegebenen if then schleife gefummelt. Skript "task2skript.sqf" erstellt.
Code:

#Start;
~0.5;
If(alive player)Then{ausl1 setpos getPos RangerLead};
hint "verschoben";
goto “Start”;

Mir ist dann aber eingefallen, dass ich mal beim querlesen irgendwo gelesen hab, das goto nur in sqs funktioniert und hab dann eine sqs draus gemacht.

nul = [this] execVM "task2skript.sqs" in die initzeile vom player geschrieben und tada - "preprocessor failed on file ...\task2skript.sqs - error 7.

Jut, hab nachgefortscht - gemerkt aha, logisch, mit exexVM ruft man sqf auf und hab das ganze durch "this exec "task2skript.sqs" ersetzt. Anscheinend verschiebe ich den auslöser nicht oder immernoch nur ein mal.

Fehler gesucht - aufgefallen, dass ich den auslöser nicht ausl1 genannt habe sondern in das textfeld ausl1 geschrieben habe. Geändert - immernoch das gleiche problem.

Der hint "verschoben" kommt zwar, allerdings dachte ich, dass der sich alle 0,5 sekunden erneuern müsste, passiert aber nicht. Irgendwas ist einfach falsch.

Jetzt weiß ich echt nicht mehr weiter. Und mich würd einfach interessieren wie ich den Auftrag ungefähr nach meinen vorstellungen zum laufen bekomme.

Da zwingt sich mir noch eine weitere Frage auf: Der auslöser1 löst nur dann aus, wenn ich den Player mit ihm gruppiert habe, aber nicht über "player in Thislist;". Ich hab dann gedacht, 'funzt vielleicht nicht mit "player"' also hab ich den player "stuffz" genannt und auch im auslöser player durch "stuffz" ersetzt. Klappte aber auch nicht. Muss man da unbedingt gruppieren? Ich möchte wenns geht hinterher nicht zich auslöser mit mir gruppiert haben aus gründen der Üersicht im editor. Kann auch sein, dass ich irgendwo nen fehler hab den ich nicht erkenne.

Würde mich freuen, wenn mir jemand helfen würde. :)

burns 10.02.2011 17:34

Zitat:

Zitat von Tiptoes (Beitrag 356537)
Wenn ich was wie "ansprechen" in guides oder google gesucht hab kam halt immer was wie "einheiten in bereich ansprechen";

Also in der initzeile der Geisel machen wir folgendes:

freehostage1 = this addAction ["Geisel Befreien","sqf\geisel.sqf"];

beliebige Variable über die sich der Addactionmenü Eintrag ansprechen/löschen lässt
beliebiger Text der im Actionmenü erscheint
Pfad zum script im Missionsordner


geisel.sqf
Code:

hostage1 removeAction freehostage1; //actionmenüeintrag wird entfernt
rescue=true; publicVariable "rescue"; //Variable wird wahr geschaltet & danach publiziert


Wo "hostage1" natürlich der Name der zu rettenden Einheit wäre. Wenn du dann quasi in einem anderen Trigger als Condition das "rescue" drin hast, wird dieser Trigger erst nach der Geiselrettung ausgelöst.

Das geisel.sqf lässt sich natürlich auch erweitern, Anschluss der Geisel an die Spielergruppe, gesprochene Texte, Animationen, etc. pp.

Anemia 10.02.2011 18:51

gäbe hier auch ein Script mit demo mission , wie man einheiten retten kann.



Hostage Capture Script (addAction) ArmAScript Examples

Tiptoes 10.02.2011 21:37

Vielen Dank für die Mühe. Hat auf Anhieb super funktioniert. Die Beispielmission werde ich mir auch noch zu gemüte führen.

War erst nur etwas verwirrt warum ihr jetzt mit den Geiseln ankamt, aber dann wars logisch, das das halt ein beispiel ist und ich konnte das gut für meinen Auftrag umsetzen.

Mich würde nun interessenhalber trotzdem noch interessieren, ob man einen Auslöser mit einer Einheit quasi mitziehen kann und was das mit "player in thislist" auf sich hat, ob ich da immer die gruppenlinie ziehen muss.

Anemia 10.02.2011 21:53

also hier hab ich was in der wiki gefunden .... das müsste es doch eigentlich sein. ?!

triggerAttachVehicle - Bohemia Interactive Community

Tiptoes 10.02.2011 22:45

Sieht zumindest schonmal gut aus, werde ich in kürze ausprobieren. Danke dir.
Im ganzen wust der verschiedenen Syntaxen und scripting commands seh ich noch nicht so richtig Land... ;)

Anemia 11.02.2011 07:26

Zitat:

Zitat von Tiptoes (Beitrag 356720)
Sieht zumindest schonmal gut aus, werde ich in kürze ausprobieren. Danke dir.
Im ganzen wust der verschiedenen Syntaxen und scripting commands seh ich noch nicht so richtig Land... ;)


Manchmal hat man halt die richtige idee ... sucht aber nach dem falschen wort :rolleyes:

Triggers - Bohemia Interactive Community

Unten in diesem Beitrag der wiki sind sonst noch so 1 -2 Befehle die dir vielleicht helfen ..... bin mir nicht ganz sicher wo der unterschied zwischen

triggerAttachedVehicle
und
triggerattachvehicle
ist ?!?!?
:oh:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:37 Uhr.

Angetrieben durch vBulletin, Entwicklung von Philipp Dörner & Tobias


SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119