28.12.2014, 21:42 | #1 (permalink) |
Registriert seit: 12.05.2014
Beiträge: 68
|
Auslöser
Hey Jungens
ich hätt da mal wieder a problem. Ich hab mir selber ein script geschrieben, das eine a10 mit piloten erzeugt, welcher dann zu punkt a fliegt, dort ne bombe abwirft, weiter zu b und dort aus dem spiel entfernt wird. funktioniert soweit ganz gut bis auf das bomben abwerfen . wollte das mit dem bomben abwerfen elegant lösen, weil die ki doch zu dämlich zum zielen ist, und das per auslöser erledigen. nun zu meinem Problem. so erzeuge ich die bomben im editor Funk-Alpha: Code:
GBU = createvehicle ["Bo_GBU12_LGB", [3677,13395,500], [],0,"FLY"]; GBU setVectorDirAndUp [[0,0,-1],[0,1,0]]; jetzt wollt ich das ganze in ein komplettes script packen und denn auslöser auch selber generieren, nur wird mir dann ein fehler angezeigt es würde eine klammer fehlen. hier mal das komplette script: Code:
BluePilot = createGroup west; "B_Pilot_F" createUnit [ getMarkerPos "a10m", BluePilot,"A10P = this;", 0.8, "CAPTAIN"]; /// a10 = createvehicle ["B_Plane_CAS_01_F", getMarkerPos "a10m", [],0,"Fly"]; /// a10 flyInHeight 750; /// A10P moveindriver a10; /// addSwitchableUnit A10P; ///Wegpunkte wp = (group A10P) addWaypoint [[3700,13400,750],0]; wp setWaypointType "Move"; wp setWaypointSpeed "FULL"; wp setWaypointBehaviour "Aware"; wp setWaypointFormation "LINE"; wp = (group A10P) addWaypoint [[2500,25000,750],0]; wp setWaypointType "Move"; wp setWaypointSpeed "FULL"; wp setWaypointBehaviour "Aware"; wp setWaypointFormation "LINE"; ///Auslöser Bomben _trg = createTrigger ["EmptyDetector",[3700,13400]]; _trg setTriggerArea[500,500,0,false]; _trg setTriggerActivation ["west","present",false]; _trg setTriggerStatements ["this","GBU = createvehicle ["Bo_GBU12_LGB",[3677,13395,500],[],0,"none"]; GBU setVectorDirAndUp [[0,0,-1],[0,1,0]];",""]; ///Auslöser Delete _trg = createTrigger ["EmptyDetector",[2500,25000]]; _trg setTriggerArea[1000,1000,0,false]; _trg setTriggerActivation ["west","present",false]; _trg setTriggerStatements ["this", "deleteVehicle a10;doGetOut A10P;deleteVehicle A10P;",""]; mfg minimal |
28.12.2014, 22:05 | #2 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
So fliegt das ding definitv auch unter Beschuss an
Code:
if (isServer) then { private ["_pil", "_wp1", "_wp2"]; a10 = createvehicle ["B_Plane_CAS_01_F", getMarkerPos "a10m", [],0,"Fly"]; createVehicleCrew a10; _pil = driver a10; a10 setcombatmode "blue"; a10 allowfleeing 0; a10 flyinheight 750; _wp1 = (group A10) addWaypoint [[3700,13400,750],0]; _wp1 setWaypointType "Move"; _wp1 setWaypointSpeed "FULL"; _wp1 setWaypointBehaviour "Aware"; _wp2 = (group A10) addWaypoint [[2500,25000,750],0]; //du hast vorher die Variable WP überschrieben!!! waitUntil {sleep 1; a10 distance (waypointposition _wp1) < 50 || !alive a10}; if (!alive a10) exitWith {}; _GBU = createvehicle ["Bo_GBU12_LGB", [3677,13395,500], [],0,"FLY"]; _GBU setVectorDirAndUp [[0,0,-1],[0,1,0]]; waituntil {sleep 1; a10 distance (waypointposition _wp2) < 50 || !alive a10}; if (!alive a10) exitWith {}; //warum läßt du jemaden aussteigen um sie dann zu löschen?? _pil action ["eject", vehicle (driver a10)]; deleteVehicle _pil; deleteVehicle a10; };
__________________
Bewegende Momente bei ArmA 3 Geändert von Drunken Officer (28.12.2014 um 22:14 Uhr). |
28.12.2014, 22:18 | #3 (permalink) |
Registriert seit: 12.05.2014
Beiträge: 68
|
wie immer is der besoffenste am schnellsten
cool danke für die schnelle hilfe. zu deiner anmerkung ich hätte die Variable WP überschrieben.....es hatt funktioniert vor allem find ich es erstaunlich das es doch relativ einfach ist so was zu bewerkställigen, wenn man weiß wie . hast mir vieleicht en tipp warum meine variante nicht klapt???? nicht das ich deine methode links liegen lass....ich bin nur froh das ich das versteh was ich selber schreib und jetzt wieder was neues was ich erst mal erlernen muss werd dein script morgen mal einbauen. mach mich jetzt ins Bett. in diesem sinne gutz nächtle.... |
28.12.2014, 22:39 | #4 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
script ist aber ungetestet. Aber kommt weg von Triggern. Die fressen Performance. Außerdem hätte dein trigger unter Umständen auch ausgelöst, wenn eine andere blaue Einheit im Bereich ist.
Wenn du das Script laufen lässt, lasse es als parallel laufen, da ja waitUntil verbaut worden ist. Entweder als eigene SQF oder als Spawn-Script laufen lassen. Ist es für MP oder SP gedacht? Dein Fehler könnte der sein: (mit RPT Eintrag kann man besser analysieren) _trg setTriggerStatements ["this","GBU = createvehicle ['Bo_GBU12_LGB',[3677,13395,500],[],0,'none']; GBU setVectorDirAndUp [[0,0,-1],[0,1,0]];",""];
__________________
Bewegende Momente bei ArmA 3 Geändert von Drunken Officer (28.12.2014 um 22:43 Uhr). |
29.12.2014, 00:44 | #6 (permalink) |
Registriert seit: 15.05.2011
Beiträge: 1.109
|
Nein. Da du bereits im Syntax drin bist und dieser mit " und " endet, mußt du im Syntax mit "" "" bzw. ' ' arbeiten. Eine ' ist gleich "" ich hatte das rot markiert. Erstmal im SP arbeiten macht Sinn. So habe ich auch angefangen. Im MP kommt die Lokalität dazu, was im Editor manchmal zu Verwirrung führt. Im Editor bist du Server und Client zugleich. Manche Dinge würden dann nicht funktionieren oder mehrfach ausgeführt werden. z.b. createVehicle. Läßt du das nicht nur durch den Server oder eben durch den Clienten ausführen, so würde jeder Client+Server das Ding erstellen. Oder addAction-Einträge wirken sich z.b. Lokal aus. Setzt du eine Varibale auf true und es soll eine KI angesteuert werden, würde dies im Editor/SP funktionieren. Aber nicht auf einem Dedicatet, weil nur der client, der denn AddAction ausführt die Varibale setzt. Da mußt später mit publicVariableServer etc pp arbeiten. Trigger sind wieder eine Besonderheit für sich. m.M.n. macht es aber Sinn erstmal im SP zu lernen. Da lernt man die Befehl und versteht es später besser´.
__________________
Bewegende Momente bei ArmA 3 Geändert von Drunken Officer (29.12.2014 um 00:47 Uhr). |
30.12.2014, 21:34 | #7 (permalink) |
Registriert seit: 12.05.2014
Beiträge: 68
|
Hey hoo...hab dein Script heut getestet und tada es funktioniert. nicht gleich auf anhieb aber passt und genau so wie ich mir das vorgestellt hab .
dein lösungs vorschlag für mein script hat auch gestimmt, keine fehlermeldung und macht boom. *mirselberaufdieschulterklopf* vielen dank nochmal greetz mini |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Auslöser Bug? Teleport zum MHQ. | JeeperCreeper | Editing & Scripting | 2 | 07.11.2013 17:18 |
Auslöser per kommando aktivieren | McDonalds | Editing & Scripting | 5 | 07.09.2013 17:16 |
Auslöser aktiv. durch West und/oder Civilian | killshot | Editing & Scripting | 4 | 26.09.2012 22:08 |
2 Auslöser arbeiten zusammen | Sol.LrMartyn | Editing & Scripting | 11 | 05.11.2011 19:29 |
Gruppe per Auslöser bewegen | Deep Five-9te | Editing & Scripting | 2 | 07.01.2011 08:46 |