HX3 Foren

HX3 Foren (https://hx3.de/)
-   Editing (https://hx3.de/editing-139/)
-   -   Addaction für alle die im Flugzeug sind! (https://hx3.de/editing-139/addaction-fuer-alle-flugzeug-22844/)

SniperIce 21.08.2013 17:00

Addaction für alle die im Flugzeug sind!
 
Guten tag ich habe ein kleines Problemchen und zwar habe ich eine C130J und in deren Initzeite:

HTML-Code:

this addAction ["HALO JUMP", "Halostart.sqf"]
Halostart.sqf:

HTML-Code:

_obj = _this select 0;
_caller = this select 1;       
_id = _this select 2;

// Teleportiert den Spieler 15m unter das Flugzeug
_caller setpos [getpos _caller select 0, getpos _caller select 1,(getpos _caller select 2) -15];       


If (local _caller && isPlayer _caller) then        {
        cutText ["", "BLACK OUT",0.3];
};


[_caller] exec "Halotest\HALO.sqs";


If (local _caller && isPlayer _caller) then        {
        sleep 2;
        cutText ["", "BLACK IN",0.3];
        sleep 0.5;
};

So also in der Vorschau kann ich überall springen wenn ich aber einen Server aufmache und mit anderen Leuten im Flugzeug sitze dann muss jeder zuerst auf den Pilotensitz springen und kann von dort aus dann den Halojump machen. Wenn derjenige NICHT auf dem Pilotensitz geht funzt das Skript zwar auch jedoch wird der Spieler nicht aus dem Flugzeug Teleportiert sondern wieder zurück auf seinen Sitz.

nun habe ich über 6 Stunden verschiedenste varianten getestet und bin mit meinem latein leicht am ende.

Daher die Frage weis einer woran das liegt oder wie ich das beheben kann.
und des weiteren wäre es cool wenn jemand eine lößung dafür hätte wie ich als Pilot via Addaction (player == Pilot) oder sowas (das nur der Pilot das kann) den Halojump für alle freigeben bzw sperren kann die im Flugzeug sitzen.

Hoffe ihr könnt mir weiter helfen denn ich habe einfach nirgends das passende gefunden.

MagicStyle 21.08.2013 23:40

keine Ahnung ob es eine bessere Lösung gibt, aber ich würde einen oder mehrere Auslöser spawnen und an das Flugzeug anheften. Anschließend hat man mit "thislist" ein Array mit allen Spielern die sich im Auslöser befinden und kann jedem Spieler die Aktion mithilfe einer For Each Schleife hinzufügen.

Gruß M.S.

SniperIce 22.08.2013 00:36

naja via trigger könnte ich auf einen befehl zum aktivieren und deaktivieren nehmen das habe ich mir auch schon überlegt und machen müsste ich dann wohl

HTML-Code:

If (Player in list Trigger_name) then player addaction
oder mit

HTML-Code:

_Player = player in list Trigger_name
_player addaction

und beim Trigger als Bedingung z.B. Halo = true und das wiederum könnte ich einrichten durch einen Personal Addaction befehl welcher Halo auf true bzw false setzt.

Lieber wäre mir aber schon wenn es eine andere Möglichkeit die weniger aufwendig ist geben würde bzw zumindest mal eine Erklärung warum es derzeit immer nur vom Pilotensitz ausgeführt werden kann

MagicStyle 22.08.2013 09:35

Ich würde bei Bedingung schreiben:
Code:

player in thislist
Und bei On Activation:
Code:

{ Halojump = _x addAction ["HaloJump","Halostart.sqf"] } foreach thislist ;
Auslöser auf Mehrfach stellen.
Habs nicht getestet aber so oder so ähnlich sollte es eigentlich funktionieren

Edit: Habs getestet, funktioniert leider noch nicht... die Aktion erscheint immer nur bei einem Spieler... und wenn man noch (ceil time %2 != 0) in die Bedinung schreibt, bekommt jeder im Auslöser die Aktion nochmal zusätzlich :nachdenklich: ist also auch nicht die Lösung...

Man müsste es schaffen das für jeden Spieler in der Liste die Aktion nur ein einziges mal durchgeführt wird.

Gruß
MagicStyle

SniperIce 22.08.2013 21:07

naja

1. Ist es ja derzeit so wenn ich dem Flugzeug den Addaction gebe das jeder den befehlt bekommt aber jeder kann ihn nur auf dem Pilotensitz ausführen wenn ich nun wüsste WARUM NUR AUF DEM PILOTENSITZ dann könnte ich es evt umschreiben das es von allen plätzen aus geht.

2. das mit dem trigger werde ich gleich mal mit

HTML-Code:

_Test = _this select 0;

while {true} do
  {waitUntil {vehicle player in list _Test};
vehicle Player addaction ...

testen.

mal sehen ob das Wirkung zeigt aber ich verstehe einfach nicht warum nur vom Pilotensitz aus der Sprung gemacht werden kann. Dort Funzt er dann aber genau so wie er soll.

Nachtrag:

Also mit der Variante bekomme ich zumindest sobald ich den Trigger betrete die Option halojump und beim verlassen wird es wieder weg genommen nun muss ich noch schauen das die abfrage schaut in trigger und in Fahrzeug 1 und dann muss ich es noch mit mehreren Leuten testen

MagicStyle 22.08.2013 22:30

Das mit dem Pilotensitz kann ich dir auch nicht sagen, vielleicht steht es in der halo.sqs ?

SniperIce 22.08.2013 23:05

Dürfte eigentlich nicht denn die halo.SQS wird erst nach dem Absprung ausgeführt mein script sieht so aus

HTML-Code:

_obj = _this select 0;
_caller = _this select 1;       
_id = _this select 2;


_caller setpos [getpos _caller select 0, getpos _caller select 1,(getpos _caller select 2) -15];       


If (local _caller && isPlayer _caller) then        {
        cutText ["", "BLACK OUT",0.3];
};

[_caller] exec "Halotest\HALO.sqs";

If (local _caller && isPlayer _caller) then        {
        sleep 2;
        cutText ["", "BLACK IN",0.3];
        sleep 0.5;
};

Dieses Script wird via Addaction befehl ausgeführt welches bewirkt das der Spieler aus dem Flugzeug raus Teleportiert wird einen Blackout startet und Wärend dieses Black outs startet die halo.sqs und der Blackout geht wieder weg und der spieler befindet sich im freien Haloflug. Also dürfte es nicht mit der Halo.sqs zusammen hängen da diese ja erst ausgeführt wird wenn der Spieler aus dem Flugzeug raus ist.

SniperIce 25.08.2013 14:26

Stand der dinge ist immer noch das es nur vom Pilotensitz aus von allen aufgerufen werden kann.

Jeder der auf einem anderen Sitz als auf dem Pilotensitz sitzt wird wieder ins Flugzeug zurück Teleportiert

daher nun die frage gibt es eine Möglichkeit alle Insassen zu eines bestimmten punkt zu Teleportieren z.B. 15 meter UNTER das Flugzeug oder zu einem Trigger oder sonstiges und zwar AUS DEM FAHRZEUG/FLUGZEUG RAUS.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:57 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