Armed-Assault.de Twitter
Antwort
 
Themen-Optionen Ansicht
Alt 31.08.2009, 13:28   #1 (permalink)
Newbie
 
Registriert seit: 22.08.2009
Beiträge: 29
Standard Fallschirmspringer anfordern

Ich möchte mir ein script schreiben mit dem ich einen trupp falschirmspringer anfordern kann.

Die Theorie hirzu schaut wie folgt aus.

ini.sqs
Code:
callParaTroopers = compile preprocessFile "callParaTroop.sqf";
paraTroopsJump = compile preprocessFile "ParaTroopsJump.sqf";

_spawnPos = [0,0,1000];
_vehicle = "vehicleName";
_groupArray = ["soldier0", "soldier1", "soldier2", "soldier3"];

onMapSingleClick "paraGroup = call [_spawnPos, _pos, _vehicle, _groupArray] callParaTroopers;";
callParaTroop.sqf

Code:
_spawnPoint     = _this select 0;
_jumpPoint    = _this select 1;
_vehicleType    = _this select 2;
_soldiers    = _this select 3;

_newGroup = createGroup west;

_vehicle = _vehicleType createVehicle[_spawnPoint];
_waypoint = _vehicle addWaypoint[_jumpPoint,0];
  _waypoint select 0 setWaypointType "MOVE";
  _waypoint select 0 setWaypointSpeed "LIMITED";
_waypoint = _vehicle addWaypoint[[0, 0, 0],0];
  _waypoint select 1 setWaypointType "SCRIPTED";
  _waypoint select 1 setWaypointScript "call [waypointAttachedVehicle [_this, 1]] paraTroopsJump;";
/*waypointAttachedVehicle sollte irgendwie das fahrzeug zurück geben*/
_waypoint = _vehicle addWaypoint[_spawnPoint,0];
  waypoint select 2 setWaypointType "MOVE";
  _waypoint select 2 setWaypointSpeed "FULL";
_waypoint = _vehicle addWaypoint[[0, 0, 0],0];
  _waypoint select 3 setWaypointType "SCRIPTED";
  _waypoint select 3 setWaypointScript "deleteVehicle waypointAttachedVehicle [_this, 1];";

for "_index" from 0 to count _soldiers do 
{
  _tempSold = _soldiers select _index createUnit[[0,0,0], _newGroup];
  _tempSold moveInCargo _vehicle;
};
_newGroup; //keine ahnung wie man einen wert zurück gibt
ParaTroopsJump.sqf
Code:
_vehicle = _this select 0;
_soldiers = _vehicle assignedCargo;

{sleep random 1; _x moveOut;} foreach _soldiers;
könnte das so funktionieren.
kann es leider momentan nicht testen.
geht mir eigentlich nur mal darum ob das von der logik her so funktionieren würde, oder ob ich es anders machen muss.

edit:
ok das
_waypoint select 1 setWaypointScript "call [waypointAttachedVehicle [_this, 1]] paraTroopsJump;";
ist blödsinn

aber das sollte funktionieren

_waypoint select 1 setWaypointScript "call [this] paraTroopsJump;";

Geändert von bigbigmek (31.08.2009 um 15:05 Uhr).
bigbigmek ist offline   Mit Zitat antworten
Alt 31.08.2009, 23:02   #2 (permalink)
Newbie
 
Registriert seit: 22.08.2009
Beiträge: 29
Standard

ok habs leider heute nichtmehr hinbekommen stehe aber kurz davor.

hier mal meine resultate.

init (funktioniert)
Code:
 
 
callParaTroopers = compile preprocessFile "callParaTroop.sqf";
 
_spawnPos = [600,600,600];
_vehicle = "C130J";
groupArray = ["USMC_Soldier", "USMC_Soldier", "USMC_Soldier", "USMC_Soldier"];
onMapSingleClick {hint 'onMapSingleClick'; paraGroup = [[1500,1500, 800], _pos, "C130J", groupArray] call callParaTroopers;}
_waypoint = player addWaypoint[[600,600,0],0];
  _waypoint select 0 setWaypointType "MOVE";
player flyInHeight _spawnPoint select 2;
callParaTroop (funktioniert bis auf das waypointscript)
Code:
 
_spawnPoint     = _this select 0;
_jumpPoint    = _this select 1;
_jumpPoint set [2,_spawnPoint select 2];
_vehicleType    = format['%1', _this select 2];
_soldiers    = _this select 3;
_vehicle = createVehicle [_vehicleType, _spawnPoint, [], 0, "FLY"];
_vehicle setPos [getPos _vehicle select 0, getPos _vehicle select 1, _spawnPoint select 2];
_pilotes = createGroup west;
_pilote = _pilotes  createUnit ["USMC_Soldier_Pilot",_spawnPoint ,[], 0, "NONE"];
_pilote moveInDriver _vehicle;
_waypoint = _pilotes addWaypoint[_jumpPoint,0];
 [_pilotes,0]  setWaypointType "MOVE";
 [_pilotes,0] setWaypointSpeed "LIMITED";
 _vehicle flyInHeight  800;
 
_waypoint = _pilotes addWaypoint[[0, 0, 0],0];
  [_pilotes,1] setWaypointType "SCRIPTED";
  [_pilotes,1] setWaypointScript "ParaTroopsJump.sqs [this]";
 
_waypoint = _pilotes addWaypoint[_jumpPoint,0];
 [_pilotes,2]  setWaypointType "MOVE";
 [_pilotes,2] setWaypointSpeed "FULL";
_waypoint = _pilotes addWaypoint[[0, 0, 0],0];
  [_pilotes,3] setWaypointType "SCRIPTED";
  [_pilotes,3] setWaypointScript "deleteVehicle this";
 
_newGroup = createGroup west;
 
for "_i" from 0 to count _soldiers do{_soldier = _newGroup  createUnit ["USMC_Soldier",_jumpPoint ,[], 0, "NONE"]; _soldier moveInCargo _vehicle;};
player moveInCargo _vehicle;
_newGroup;
ParaTroopsJump (-)
Code:
_vehicle = _this select 0;
_soldiers = _vehicle assignedCargo;
for "_i" from 0 to count _soldiers do{ _i _vehicle;};
mein problem irgendwie fliegt er die wegpunkte nicht ab, sondern geht gleich zum letzten
bigbigmek ist offline   Mit Zitat antworten
Alt 01.09.2009, 19:53   #3 (permalink)
Newbie
 
Registriert seit: 22.08.2009
Beiträge: 29
Standard

ok jetzt funktioniert alles bis auf dieses kleine script


Code:
 
_driver = _this select 0;
_vehicle = assignedVehicle _this select 0;
_soldiers =  assignedCargo _vehicle;
hint format [ "driver: %1 vehicle: %2 soldiers: %3" ,_driver , _vehicle,  _soldiers];

for "_i" from 0 to count (_soldiers) do{ _i leaveVehicle _vehicle;};
ich komme einfach nicht drauf warum das nicht funktioniert.

kann mir wer helfen?

achja in _this 0 sollte der pilot stehen

siehe:
[_pilotes,1] setWaypointScript "ParaTroopsJump.sqs [this]";
bigbigmek ist offline   Mit Zitat antworten
Alt 01.09.2009, 23:11   #4 (permalink)
Newbie
 
Registriert seit: 22.08.2009
Beiträge: 29
Standard

EDIT:
script funktioniert jetzt.
kann beliebige viele flugzeuge spawnen lassen welche, brav ihre truppen abwerfen und dann zurücklfiegen und sich anschließend in luft auflösen.
auch wenn es bei 20 flugzeugen zu 12 soldaten schon arg zu ruckeln beginn bei mir.
schaut aber dafür umso cooler aus

ps: schau es mir morgen nochmal durch und poste es dann hier.
bigbigmek ist offline   Mit Zitat antworten
Alt 02.09.2009, 21:06   #5 (permalink)
Newbie
 
Registriert seit: 22.08.2009
Beiträge: 29
Standard

Script ist fertig

hier ist der link zu meinem script.
würde mich freuen wenn es wer testen will.

ParaTroopsScript.zip ... at uploaded.to - Free File Hosting, Free Image Hosting, Free Music Hosting, Free Video Hosting, ...

aufgerufen wird das script wie folgt.


Code:
 
callParaTroopers = compile preprocessFile "callParaTroop.sqf";
 
returnValue= [spawnPosition, JumpPosition, VehicleName, groupArray] call callParaTroopers;
returnValue = ist die soldaten gruppe die erstellt wurde und am festgelegten punkt abspringt.

spawnPosition = ist die spawn position des vehicles
JumpPosition = ist der punkt wo die falschrimspringer abgeworfen werden.
VehicleName = klassenname des Fahrzeugs
groupArray = array mit klassennamen der soldaten die gespawnt werden sollen.

beispiel:
Code:
groupArray = ["USMC_Soldier", "USMC_Soldier", "USMC_Soldier"];
onMapSingleClick {paraGroup = [[1500,1500, 200], _pos, "C130J", groupArray] call callParaTroopers;}
dieser code erzeugt bei einem mapclick ein flugzeug vom type C130J an position 1500,1500,200 das zu position _pos fliegt und dort 3 soldaten vom type USMC_Soldier abwirft, danach wieder zu position [1500,1500,200] fliegt und dann verschwindet.

bei fragen stehe ich gerne zu verfügung auch anregungen höre ich gerne.
ist mein erstes script ich hoffe es kann jemand damit was anfangen.
bigbigmek ist offline   Mit Zitat antworten
Alt 03.09.2009, 06:56   #6 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

bin echt gespannt ... werd es aufjedenfall am we mal testen.
Vorher habe ich keine zeit ...


EDIT:
Ist das script auch MP fähig ?

Geändert von Anemia (03.09.2009 um 07:17 Uhr).
Anemia ist offline   Mit Zitat antworten
Alt 03.09.2009, 08:46   #7 (permalink)
Newbie
 
Registriert seit: 22.08.2009
Beiträge: 29
Standard

Zitat von Anemia Beitrag anzeigen

bin echt gespannt ... werd es aufjedenfall am we mal testen.
Vorher habe ich keine zeit ...


EDIT:
Ist das script auch MP fähig ?

hmm ich weis nicht, hab mich mit MP nochnicht beschäftigt.
wenns nicht multiplayertauglich ist mach ich so schnell wie möglich mutliplayertauglich.
was müsste ich den da beachten?
ich schau mal die wiki durch vieleicht find ich was.


edit:
schaut kompliziert aus, wenns wo tuts für mp scirpting gibt wäre ich dankbar wenn hier wer die links posten würde oder mir per pn schickt.

ps:
script ist natürlich frei, jeder kann es ändern und verwenden wo er will.
wenn wer angeben möchte das das scirpt von mir ist bin ich natürlich auch nicht beleidigt

editedit:

wichtiger hinwesi hab ich oben vergessen
ParaId=0;
muss vor dem ersten scriptaufruf ausgeführt werden

Geändert von bigbigmek (03.09.2009 um 09:18 Uhr).
bigbigmek ist offline   Mit Zitat antworten
Alt 03.09.2009, 09:43   #8 (permalink)
500 Beiträge
 
Benutzerbild von Anemia
 
Registriert seit: 20.05.2009
Beiträge: 605
Standard

Also damit es MP fähig wird , müssen globale variablen definiert werden, macht man in der Init.

in wievern das nun funktioniert kann ich dir auch nicht sagen. So hab ich es aufjedenfall in meiner Coop Map für die Tasks gemacht , damit die bei allen spielern die später ins spiel kommen .. die "fertigen" tasks auch schon erfüllt sind.

bin mir bei deinem script natürlich nicht sicher ob bzw. welche varibalen du als global definieren musst.


P.s.:
setz doch einfach einen Header in dein Script ... in dem kannst du dann auch die editir möglichkeiten erfassen ... wie z.b.

Code:
 ; Improvised Explosive Device Script
; By Jeevz
; v1.2 12/13/06


; This script will create an explosion of a
; selected size on any object when called
; The arguments are [objectName, explosionPower]
; Explosion Power will be 1 of 4 choices
; Small - Good for Anti-Personnel use
; Medium - Will usually disable a Humvee without killing the occupants
; Large - Will usually destroy a passing humvee and kill or severly injure all occupants, will disable the tracks and possibly engine on M1A1
; Huge - Nothing will survive, I mean... it's HUGE :-)
Anemia ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Artillerie Anfordern Alverio Offizielle Missionen & Kampagnen 8 10.12.2006 16:25
Ari in der Kampagne anfordern... viper-ba Technische Fragen & Probleme 5 06.12.2006 17:58
Fallschirmspringer Hilfe AAsder Editing 9 01.11.2006 10:09
Fallschirmspringer Problem Firefighter15 Editing 10 22.08.2006 17:29
Unterstützung anfordern Syntax Editing 9 26.11.2005 18:11


Kontakt - HX3.de - Archiv - Nach oben

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