22.08.2010, 14:36 | #1 (permalink) |
Fallschirmjäger an zufälligem Punkt abspringen lassen
Hallo Leute,
ich bins mal wieder Währe super wenn sich jemand mal mein Script anschauen könnte. Irgendwie funktioniert das nicht (nicht schimpfen ist noch sqs ). Ich würde gerne in meiner Mission eine Einheit KSK Soldaten an einem Punkt abspringen lassen der zuvor per Zufallsgenerator ausgelost wurde. Wenn das Flugzeug die Dropzone erreicht hat, sollen die Einheiten in kurzem Abstand hintereinander abspringen und das Flugzeug wegfliegen und bei [0,0,0] gelöscht werden. Auf der Karte befindet sich: 6x Heli H (invisible) = d1,d2,d3,d4,d5,dropzone 1x C130 (fliegend) = plane 2x Piloten (this movein.....) pilot1,pilot2 10 x KSK Einheiten (this movein....) ksk1,ksk2,...-ksk10 Die Heli Hs d1-d5 wurden an die verschiedenen Absprungpunkte gesetzt. PHP-Code:
__________________
Langsam ist präzise.....und präzise ist schnell.... http://www.astore.de http://www.astore-shop.de http://www.voodoo-puppe.net Geändert von todyoungblood (22.08.2010 um 14:43 Uhr). |
|
22.08.2010, 17:08 | #2 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Init von einer beliebigen Einheit
Code:
null=[dropzone,Pilot1,Pilot2,plane] execVM "drop.sqf"; Code:
private ["_drop","_start","_pilot1","_pilot2","_plane"]; _drop = _this select 0; _pilot1 = _this select 1; _pilot2 = _this select 2; _plane = _this select 3; _start = random 5; if (_start<1) then {_drop setPos getPos d1}; if (_start<2) then {_drop setPos getPos d2}; if (_start<3) then {_drop setPos getPos d3}; if (_start<4) then {_drop setPos getPos d4}; if (_start<5) then {_drop setPos getPos d5}; Edit: du musst dann lediglich noch ein Helicopter H mit den Namen drop2 erstellen, dort wird dann das Flugzeug und die Piloten gelöscht Geändert von Rockhount (22.08.2010 um 17:32 Uhr). |
22.08.2010, 17:11 | #3 (permalink) |
Registriert seit: 11.03.2005
Ort: HH
Alter: 53
Beiträge: 1.930
|
Ich kann kein SQS...
Was passiert denn bislang? So wie ich das sehe ist der erste Fehler, dass Du mehr Leute aus dem Flieger abspringen lässt als da sind. _j = count _aunits macht 10 Einheiten Dein Loop durchläuft aber 11mal.... |
22.08.2010, 18:20 | #4 (permalink) |
Registriert seit: 20.06.2009
Alter: 52
Beiträge: 158
|
Hallo
@Rockhount dürfte ich dieses Script für eine Mission nutzen ?
__________________
http://dessau-rosslau.square7.ch/ |
22.08.2010, 18:55 | #6 (permalink) |
Registriert seit: 20.06.2009
Alter: 52
Beiträge: 158
|
ich Frage lieber mal nach...
in sqf bin ich nicht so bewandert, in sqs ists ja nicht schwer. ein Deutsches sqf Tutorial wäre nicht schlecht Danke
__________________
http://dessau-rosslau.square7.ch/ Geändert von TraX (22.08.2010 um 18:58 Uhr). |
22.08.2010, 20:34 | #7 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Verbesserte Version:
Code:
private ["_drop","_start","_pilot1","_pilot2","_plane"]; _drop = _this select 0; _pilot1 = _this select 1; _pilot2 = _this select 2; _plane = _this select 3; _start = random 5; _pilot1 moveInDriver _plane; _pilot2 moveInCargo [_plane, 1] ksk1 moveInCargo [_plane, 4]; ksk2 moveInCargo [_plane, 5]; ksk3 moveInCargo [_plane, 6]; ksk4 moveInCargo [_plane, 7]; ksk5 moveInCargo [_plane, 8]; ksk6 moveInCargo [_plane, 9]; ksk7 moveInCargo [_plane, 10]; ksk8 moveInCargo [_plane, 11]; ksk9 moveInCargo [_plane, 12]; ksk10 moveInCargo [_plane, 13]; if (_start==0) then {_drop setPos getPos d1}; if (_start==1) then {_drop setPos getPos d2}; if (_start==2) then {_drop setPos getPos d3}; if (_start==3) then {_drop setPos getPos d4}; if (_start==4) then {_drop setPos getPos d5}; |
23.08.2010, 12:45 | #8 (permalink) |
Rockhount Du bist mein sqf Held
Dank Dir werds gleich mal ausprobieren. Gruß Tod
__________________
Langsam ist präzise.....und präzise ist schnell.... http://www.astore.de http://www.astore-shop.de http://www.voodoo-puppe.net |
|
23.08.2010, 12:56 | #9 (permalink) |
Hast Du mir vieleicht auch ein SQF Tutorial wo mans lernen kann?
SQS is ja nich mehr so zeitgemäß
__________________
Langsam ist präzise.....und präzise ist schnell.... http://www.astore.de http://www.astore-shop.de http://www.voodoo-puppe.net |
|
23.08.2010, 13:55 | #10 (permalink) |
Hab es gerade getestet.....aber irgendwie funktioniert das nicht.
Komischerweise steigen nur die Piloten ein und fliegen dann im Kreis. Das Heli H dropzone hast Du in drop umbenannt oder? Vieleicht kannst Du Dir ja mal die Missionsdatei anschauen. Gruß Tod
__________________
Langsam ist präzise.....und präzise ist schnell.... http://www.astore.de http://www.astore-shop.de http://www.voodoo-puppe.net |
|
23.08.2010, 15:10 | #11 (permalink) |
Registriert seit: 16.07.2010
Beiträge: 305
|
Soweit bin ich bis jetzt gekommen:
Code:
private ["_drop","_start","_pilot1","_pilot2","_plane"]; _drop = _this select 0; _pilot1 = _this select 1; _pilot2 = _this select 2; _plane = _this select 3; _start = round(random 4); publicVariable "_start"; _pilot1 moveInDriver _plane; _pilot2 moveInCargo [_plane, 3]; ksk1 moveInCargo [_plane, 4]; ksk2 moveInCargo [_plane, 5]; ksk3 moveInCargo [_plane, 6]; ksk4 moveInCargo [_plane, 7]; ksk5 moveInCargo [_plane, 8]; ksk6 moveInCargo [_plane, 9]; ksk7 moveInCargo [_plane, 10]; ksk8 moveInCargo [_plane, 11]; ksk9 moveInCargo [_plane, 12]; ksk10 moveInCargo [_plane, 13]; if (_start == 0) then {_drop setPos [getPos d1 select 0, getPos d1 select 1, 0]}; if (_start == 1) then {_drop setPos [getPos d2 select 0, getPos d2 select 1, 0]}; if (_start == 2) then {_drop setPos [getPos d3 select 0, getPos d3 select 1, 0]}; if (_start == 3) then {_drop setPos [getPos d4 select 0, getPos d4 select 1, 0]}; if (_start == 4) then {_drop setPos [getPos d5 select 0, getPos d5 select 1, 0]}; _pilot action ["gear_up", vehicle _plane]; _plane flyinHeight 150; _plane setSpeedMode "limited"; _pilot doMove getPos _drop; if ((_plane distance _drop) < 500) then { ksk1 action ["EJECT", vehicle _plane]; sleep 0.5; ksk2 action ["EJECT", vehicle _plane]; sleep 0.5; ksk3 action ["EJECT", vehicle _plane]; sleep 0.5; ksk4 action ["EJECT", vehicle _plane]; sleep 0.5; ksk5 action ["EJECT", vehicle _plane]; sleep 0.5; ksk6 action ["EJECT", vehicle _plane]; sleep 0.5; ksk7 action ["EJECT", vehicle _plane]; sleep 0.5; ksk8 action ["EJECT", vehicle _plane]; sleep 0.5; ksk9 action ["EJECT", vehicle _plane]; sleep 0.5; ksk10 action ["EJECT", vehicle _plane]; sleep 2; _plane setSpeedMode "FULL"; _pilot doMove getPos drop2; }; if ((_plane distance drop2) <400) then { deleteVehicle _plane; deleteUnit _pilot1; deleteUnit _pilot2; }; Code:
if (_start == 0) then {_drop setPos [getPos d1 select 0, getPos d1 select 1, 0]}; if (_start == 1) then {_drop setPos [getPos d2 select 0, getPos d2 select 1, 0]}; if (_start == 2) then {_drop setPos [getPos d3 select 0, getPos d3 select 1, 0]}; if (_start == 3) then {_drop setPos [getPos d4 select 0, getPos d4 select 1, 0]}; if (_start == 4) then {_drop setPos [getPos d5 select 0, getPos d5 select 1, 0]}; Code:
if ((_plane distance _drop) < 500) then {...}; |
02.09.2010, 17:39 | #13 (permalink) |
Dank Dir
Bist mit demn Script schon weiter gekommen? Gruß Tod
__________________
Langsam ist präzise.....und präzise ist schnell.... http://www.astore.de http://www.astore-shop.de http://www.voodoo-puppe.net |
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Einheiten abspringen lassen. | comrade91 | Editing & Scripting | 7 | 23.05.2010 08:27 |