Login

Benutzername:  Passwort:    Registrieren |  Passwort vergessen

Thread

Assault Mission Studio » ArmA2 (OA) Editing » Scripting Ecke
ArmA2 Functions

Wer ist hier? 2 Gäste
Drucke Thread

07.07.2009 22:22 ArmA2 Functions | Bearbeitet von Imutep 13.07.2009 17:39
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Eine der wertvollsten neuen Features in ArmA2 sind die vielen BIS Functions, mit denen man nicht nur Einheiten oder Fahrzeuge spawnen kann, sondern auch dutzende anderer sehr nützliche Dinge in Aktion bringen kann. Man kann durch alle Dokus der BIS Functions Ingame scrollen anhand einer spezial Dialog Box.

Wichtig! Um die Functions in ArmA2 nutzen zu können, müsst ihr immer das Funktionsmanager Modul auf der Karte platziert haben. (Nicht synchronisieren)

Zum Start der Functions-Help Dialog Box folgenden Befehl in die init.sqf schreiben.

Download Script  Script
waituntil {!isnil "bis_fnc_init"};
[] call BIS_fnc_help;



Auf der Karte noch das Funktionsmanager Modul platzieren. (nicht synchronisieren)

i17.photobucket.com/albums/b60/Imutep/AMS%20Forum/bis_fnc-img.jpg

Detailierte Infos im BIKI
Liste aller BIS functions im BIKI

Ich werde diesen Thread immer auf den neuesten Stand bringen und so gut es geht alle nützlichen Functions auflisten. Fühlt euch frei und postet euch bekannte Functions ! ;-)
i17.photobucket.com/albums/b60/Imutep/Banners/arrow_banner_03.jpg
 
  x 1
Offline
07.07.2009 23:07 RE: ArmA2 Functions | Bearbeitet von Imutep 18.07.2010 16:09
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
SpawnGroup Function
Diese Function ermöglicht das spawnen von Gruppen, welches man in verschiedenen Versionen realisieren kann.

File: spawnGroup.sqf
Author: Joris-Jan van 't Land

Description:
Function which handles the spawning of a dynamic group of characters.
The composition of the group can be passed to the function.
Alternatively a number can be passed and the function will spawn that
amount of characters with a random type.

Parameter(s):
_this select 0: the group's starting position (Array)
_this select 1: the group's side (Side)
_this select 2: can be three different types:
- list of character types (Array)
- amount of characters (Number)
- CfgGroups entry (Config)
_this select 3: (optional) list of relative positions (Array)
_this select 4: (optional) list of ranks (Array)
_this select 5: (optional) skill range (Array)
_this select 6: (optional) ammunition count range (Array)
_this select 7: (optional) randomization controls (Array)
0: amount of mandatory units (Number)
1: spawn chance for the remaining units (Number)
_this select 8: (optional) azimuth (Number)

Returns:
The group (Group)


Liste von Soldaten:
Download Script  Script

_units = ["GUE_Soldier_CO", "GUE_Soldier_MG", "GUE_Soldier_1", "GUE_Soldier_2", "GUE_Soldier_3", "GUE_Soldier_GL"];
_newGroup = [getMarkerPos "NameMarker", Resistance, _units, [], ["CORPORAL", "PRIVATE"],[0.4,0.6,0.3]] call BIS_fnc_spawnGroup;




Vorgegebene Anzahl an Einheiten:
Download Script  Script
_group = [getMarkerPos "NameMarker", West, 9,[], ["CORPORAL", "PRIVATE"],[0.4,0.6,0.3]] call BIS_fnc_spawnGroup;


 
Offline
07.07.2009 23:13 RE: ArmA2 Functions | Bearbeitet von Imutep 12.07.2009 22:53
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
SpawnVehicle Function
Diese Function ermöglicht das spawnen von Fahrzeugen samt Crew.

File: spawnVehicle.sqf
Author: Joris-Jan van 't Land

Description:
Function to spawn a certain vehicle type with all crew (including turrets).
The vehicle can either become part of an existing group or create a new group.

Parameter(s):
_this select 0: desired position (Array).
_this select 1: desired azimuth (Number).
_this select 2: type of the vehicle (String).
_this select 3: side or existing group (Side or Group).

Returns:
Array:
0: new vehicle (Object).
1: all crew (Array of Objects).
2: vehicle's group (Group).


Download Script  Script
[getMarkerPos "NameMarker", Random 360, "HMMWV", West] call BIS_fnc_spawnVehicle;





Möchte man mehrere Fahrzeuge (bis zu 5) spawnwn, so lässt sich das in etwa so realisieren:
Download Script  Script
for "_i" from 1 to 5 do {
    [(getMarkerPos "NameMarker"), Random 360, "HMMWV", West] call BIS_fnc_spawnVehicle;
};





Mehrere Fahrzeuge die einer Gruppe angehören sollen:
Download Script  Script
_grp = createGroup _side;
for "_i" from 1 to 5 do {
    [getMarkerPos "NameMarker", Random 360, "HMMWV", _grp] call BIS_fnc_spawnVehicle;
};





1 Gruppe mit einem zufälligen Fahrzeug, welche in einem bestimmten Bereich patroulliert:
Download Script  Script
_vehicle_types = ["BMP3","BTR90","T72_RU","T90","GAZ_Vodnik","GAZ_Vodnik_HMG"];
_max_dist_between_waypoints = 50;

_grp = createGroup east;
_vec_type = floor (random count _vehicle_types);

for "_i" from 1 to 5 do {
    [getMarkerPos "posvod", random 360, _vehicle_types select random _vec_type, _grp] call BIS_fnc_spawnVehicle;
};

[_grp, (getpos rupos), _max_dist_between_waypoints] call BIS_fnc_taskPatrol;






5 Gruppen mit verschiedenen Fahrzeugen, welche in einem bestimmten Bereich patroullieren:
Download Script  Script
_vehicle_types = ["BMP3","BTR90","T72_RU","T90","GAZ_Vodnik","GAZ_Vodnik_HMG"];
_max_dist_between_waypoints = 50;

for "_i" from 1 to 5 do {
    _vec_type = floor (random count _vehicle_types);
    _grp = createGroup east;
    [getMarkerPos "posvod2", random 360, _vehicle_types select random _vec_type, _grp] call BIS_fnc_spawnVehicle;
    [_grp, (getpos rupos2), _max_dist_between_waypoints] call BIS_fnc_taskPatrol;
};





Ebenso möglich ist auch ein Heli-Geschwader zu spawnen und patroullieren zu lassen.
Download Script  Script
_vehicle_types = ["Ka52Black","Mi17_rockets_RU","Mi24_P","Mi24_V"];
_max_dist_between_waypoints = 1700;

_airgrp = createGroup east;
_vec_type = floor (random count _vehicle_types);

for "_i" from 1 to 3 do {
    [(getpos rupos11), random 360, _vehicle_types select random _vec_type, _airgrp] call BIS_fnc_spawnVehicle;
};

[_airgrp, (getMarkerPos "posvod9"), _max_dist_between_waypoints] call BIS_fnc_taskPatrol;



i17.photobucket.com/albums/b60/Imutep/Banners/arrow_banner_03.jpg
 
Offline
07.07.2009 23:20 RE: ArmA2 Functions | Bearbeitet von Imutep 24.08.2010 22:08
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
TaskDefend Function
Diese Function ermöglicht, dass eine Gruppe eine bestimmte Position bewacht und statische Verteidigungen bemannt bei Feindkontakt. Per zufall ruhen sich vereinzelt Einheiten der Gruppe aus (setzen sich hin), während der Leader mit den restlichen Einheiten die Gegend patroulliert. Bei Feindkontakt schliesst sich die Gruppe zusammen und bekämpft den Gegner.

File: taskDefend.sqf
Author: Joris-Jan van 't Land

Description:
Group will man nearby static defenses and guard the position.

Parameter(s):
_this select 0: group (Group)
_this select 1: defense position (Array)

Returns:
Boolean - success flag


Download Script  Script

_grp = [(getpos rupos), east, 5] call bis_fnc_spawngroup;
[_grp, getMarkerPos "posvod"] call BIS_fnc_taskDefend;



5 steht für die Anzahl von Soldaten der vorgegebenen Seite.


Gruppe mit zufälliger Anzahl an Soldaten:
Download Script  Script
_units = 5 + Random 3;
_grp = [(getMarkerpos "defendpos"),east,_units] call bis_fnc_spawngroup;
[_grp, (getMarkerpos "defendpos")] call BIS_fnc_taskDefend;




Gruppe mit vorgegebenen Einheitsklassen
Als 3. Parameter kannst du ein Array mit Einheitenklassen übergeben.
Download Script  Script
_newGroup = [markerPos "Marker", Resistance, ["GUE_Soldier_CO", "GUE_Soldier_MG", "GUE_Soldier_1", "GUE_Soldier_2", "GUE_Soldier_3", "GUE_Soldier_GL"]] call BIS_fnc_spawnGroup;
[_newGroup, (getMarkerpos "defendpos")] call BIS_fnc_taskDefend;



i17.photobucket.com/albums/b60/Imutep/Banners/arrow_banner_03.jpg
 
Offline
08.07.2009 11:58 RE: ArmA2 Functions
Mitglieder Avatar

Weedburner
ArmA Fan
Editing Freak


Mindestens 3 veröffentlichte Szenarien

Beiträge: 137
Dabei seit: 16.06.09

Verwarnstatus 0
Interesant,ich finde diese Module generell ziemilcih gut.Kann mann eigentlich auch eigene Module schreiben??
Ich mein,die Module sind ja auch alle in einer.pbo,und entpackt bestehen sie auch nur aus Ordnern und Scripten.
 
Offline
12.07.2009 13:31 RE: ArmA2 Functions
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Ja, Module kann man auch selbst erstellen. Wenn man weiss wies geht Smile
Denke mal dass es nicht mehr lange dauern wird bis die ersten Module veröffentlicht werden.
i17.photobucket.com/albums/b60/Imutep/Banners/arrow_banner_03.jpg
 
Offline
12.07.2009 13:40 RE: ArmA2 Functions | Bearbeitet von Imutep 12.07.2009 19:21
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
TaskPatrol Funktion
Lässt eine Gruppe in einem bestimmten Bereich patroullieren. (Ähnlich dem UPS von Kronzky)
Man kann diese Function ganz gut mit der SpawnVehicle Function kombinieren.

File: taskPatrol.sqf
Author: Joris-Jan van 't Land

Description:
Create a random patrol of several waypoints around a given position.

Parameter(s):
_this select 0: the group to which to assign the waypoints (Group)
_this select 1: the position on which to base the patrol (Array)
_this select 2: the maximum distance between waypoints (Number)
_this select 3: (optional) blacklist of areas (Array)
Example: nul = [NameGruppe, getMarkerPos "NameMarker", 100,] call BIS_fn_taskPatrol;

Returns:
Boolean - success flag


Download Script  Script
_grp = [(getpos rupos), east, 5] call bis_fnc_spawngroup;
[_grp, (getMarkerPos "posvod"), 75] call BIS_fnc_taskPatrol;



5 steht für die Anzahl von Soldaten der vorgegebenen Seite.
75 steht für die maximale Distanz zwischen den Wegpunkten.


Möchte man eine zufällige Anzahl an Einheiten der Gruppe, welche ebenfalls patroullieren, dann geht das wie folgt.
Download Script  Script
_units = 2 + Random 3;
_grp = [(getpos rupos),east,_units] call bis_fnc_spawngroup;
[_grp, (getMarkerPos "posvod"), 250] call BIS_fnc_taskPatrol;



Jetzt besteht die gespawnte Gruppe aus mindestens 2 Soldaten, mit zufällig bis zu 5 Soldaten.
i17.photobucket.com/albums/b60/Imutep/Banners/arrow_banner_03.jpg
 
Offline
30.07.2009 05:16 RE: ArmA2 Functions | Bearbeitet von Gohtraw 30.07.2009 05:17
Mitglieder Avatar

Gohtraw
ArmA Fan
Editing Newbie


Beiträge: 22
Dabei seit: 30.07.09

Verwarnstatus 0
Ganz ganz ganz herzlichen Dank für die super tips! Das klappt alles wunderbar - allerdings habe ich leider noch keine Möglichkeit gefunden, die überquellenden Waffen- und Munitionskisten aus den Kompositionen rauszuwerfen oder zumindest zu leeren. Ich will, dass die leute was für ihre Waffen tun müssen und nicht einfach wild drauflos ballern können weil sie genug Munition haben. ;)
 
Offline
30.07.2009 17:47 RE: ArmA2 Functions
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Bitte im richtigen Thema posten, für die Compositions haben wir schon einen extra Thread. Da steht auch wie man vereinzelt Objekte ändern oder weglassen kann. Wink
i17.photobucket.com/albums/b60/Imutep/Banners/arrow_banner_03.jpg
 
Offline
30.07.2009 18:33 RE: ArmA2 Functions
Mitglieder Avatar

Gohtraw
ArmA Fan
Editing Newbie


Beiträge: 22
Dabei seit: 30.07.09

Verwarnstatus 0
haha ups sorry - habe momentan meine ganzen firefox tabs voll mit threads aus diesem Forum - und wohl auf den falschen geantwortet ;)
 
Offline
31.07.2009 16:48 RE: ArmA2 Functions | Bearbeitet von ZA Razor91 31.07.2009 16:49
Mitglieder Avatar

ZA Razor91
Mapper
Editing Newbie


Beiträge: 45
Dabei seit: 01.07.09
Herkunft: Berlin
Alter: 19

Verwarnstatus 0


In dem oben genannten Post von mir steht drin, wie man die Compositionen sichtbar in den 2D-Editor bekommt.

Das sollte dir helfen, Gohtraw.

PS: Ist zwar nicht der richtige Thread, aber da Gothraw nur hier gepostet hat, hau ich das hier hinein...
 
Offline
14.09.2009 11:49 RE: ArmA2 Functions
Mitglieder Avatar

Thunder666
ArmA Fan
Editing Newbie


Beiträge: 1
Dabei seit: 14.09.09

Verwarnstatus 0
Hallo zusammen,

versuche gerade per Sekundär Operationen Modul so eine Art Endlosgame für zwischendurch zu erstellen.Leider sind diese Missionen für 3-4 Mann zu dünn und ich wollte versuchen ein bisschen mehr Action in das Gebiet der SO zu bringen mit Hilfe dieser Funnktionen.
Meine Frage, ist es möglich die Postion der erstellten SecOps "auszulesen" und evtl. einem Marker zuzuweisen, so das ich an diesem Marker per Funktion zusätzliche Truppen spawnen lassen kann ?

Danke im voraus. Gruß Thunder
 
Offline
14.09.2009 22:17 RE: ArmA2 Functions
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Hallo Thunder und willkommen.
Nun, soweit ich bis jetzt informiert bin, lässt sich das SOM nur auf eine vorgegbene Entfernung (min, max) definieren. Hab das mal rot hervorgehoben. Genau vorgegebene Positionen sind mir nicht bekannt. Aber du könntest mal hier nachsehn. Evtl gibts da ja schon was neues. Aber pass auf, das SOM Modul ist noch ziemlich Buggy. "trap" funktioniert beispielsweise nicht richtig. Jedenfalls bei mir.

SOM Modul Name = som1:
Initzeile:
Download Script  Script
this setVariable ["settings", [["ambush", "attack_location", "destroy", "rescue", "search", "trap"], "true", ["Razor", ["Razor"], "H.Q.", ["HQ"]], "1", "true", "180", "0.7", [1300, 2000]]];


 
Offline
30.06.2010 22:59 RE: ArmA2 Functions | Bearbeitet von Imutep 30.06.2010 23:00
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Info Text (Laufschrift zu Missionsbeginn)
In Operation Arrowhead wird ja zu Missionsbeginn diese sogenannte Laufschrift mit dynamicBlur eingeblendet. Ein nettes Feature welches man ganz einfach in seine Mission einbauen kann.

Anwendung:
Wie immer zur Sicherheit das Funktionsmanager Modul auf der Karte platzieren.

init.sqf schreiben:
Download Script  Script
if (time < 10) then
{
    titleCut ["", "BLACK FADED", 999];
    [] Spawn {
        waitUntil{!(isNil "BIS_fnc_init")};
      
        // Info text
        [str("Meine Mission") , str(date select 2) + "." + str(date select 1) + "." + str(date select 0), str("Beginnt jetzt")] spawn BIS_fnc_infoText;
       
        sleep 3;
       "dynamicBlur" ppEffectEnable true;   
   "dynamicBlur" ppEffectAdjust [6];   
   "dynamicBlur" ppEffectCommit 0;     
   "dynamicBlur" ppEffectAdjust [0.0]; 
   "dynamicBlur" ppEffectCommit 7;
        titleCut ["", "BLACK IN", 5]
    };
};



Die grün hervorgehobenen Texte im Script könnt ihr nach belieben anpassen.
 
Offline
30.06.2010 23:10 RE: ArmA2 Functions | Bearbeitet von Imutep 30.06.2010 23:12
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Loading Screen
In den OA Missionen wird ja während des Ladens der Mission ein sogenannter Loading Screen eingeblendet. Auch ein nettes Feature welches mit wenigen Handgriffen zu realisieren ist.


Anwendung:
  1. Wie bei allen Functions, immer zur Sicherheit das Funktionsmanager Modul auf der Karte platzieren.
  2. Im Missionsordner einen neuen Ordner img erstellen.
  3. Ein beliebiges Lade Bild erstellen mit der Grösse 2048x1024 Pixel. Als .paa Format speichern. Müsste allerdings auch als .jpg funktionieren. Screen in den entsprechenden img Ordner ablegen.
  4. Description.ext schreiben



description.ext:
Download Script  Script
loadScreen = "img\loading02_goodMorning_CO.paa";

// ======================
// Loading screen related
// ======================

class RscText
{
   type = 0;
   idc = -1;
   x = 0;
   y = 0;
   h = 0.037;
   w = 0.3;
   style = 0x100;
   font = Zeppelin32;
   SizeEx = 0.03921;
   colorText[] = {1,1,1,1};
   colorBackground[] = {0, 0, 0, 0};
   linespacing = 1;
   shadow = 0;
};

class RscActiveText
{
   access=0;
   type=11;
   style=2;
   h=0.050000;
   w=0.150000;
   font="TahomaB";
   sizeEx=0.040000;
   color[]={1,1,1,1};
   colorActive[]={1,0.500000,0,1};
   soundEnter[]={"",0.100000,1};
   soundPush[]={"",0.100000,1};
   soundClick[]={"",0.100000,1};
   soundEscape[]={"",0.100000,1};
   text="";
   default=0;
   shadow = 0;
};

class RscPicture
{
   access=0;
   type=0;
   idc=-1;
   style=48;
   colorBackground[]={0,0,0,0};
   colorText[]={1,1,1,1};
   font="TahomaB";
   sizeEx=0;
   lineSpacing=0;
   text="";
   shadow = 0;
};

class RscLoadingText : RscText
{
   style = 2;
   x = 0.323532;
   y = 0.666672;
   w = 0.352944;
   h = 0.039216;
   sizeEx = 0.03921;
   colorText[] = {0.543,0.5742,0.4102,1.0};
};

class RscProgress
{
   x = 0.344;
   y = 0.619;
   w = 0.313726;
   h = 0.0261438;
   texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
   colorFrame[] = {0,0,0,0};
   colorBar[] = {1,1,1,1};
   shadow = 2;
};

class RscLoadScreen1_CE
{
   idd = -1;
   duration = 10e10;
   fadein = 0;
   fadeout = 0;
   name = "Loading Screen";

   class ControlsBackground
   {
      class Loading_BG : RscText
      {
         x = safezoneX;
         y = safezoneY;
         w = safezoneW;
         h = safezoneH;
         text = "";
         colorText[] = {0,0,0,0};
         colorBackground[] = {0,0,0,1};
      };
      class Loading_CE2 : RscText
      {
         //style = 48;
         style = 48 + 0x800; // Keep aspect ratio
         x = safezoneX;
         y = safezoneY;
         w = safezoneW;
         h = safezoneH;
         text = "img\Name des Bildes.paa";
      };
   };
   class controls
   {
      class Title1 : RscLoadingText
      {
         x = safezoneX;
         y = safezoneY;
         w = safezoneW;
         h = safezoneH/6;
         text = Was immer da auch stehen soll...;
         colorText[] = {1,1,0.8,1};
         shadow = 2;
      };
      class CA_Progress : RscProgress
      {
         idc = 104;
         type = 8;
         style = 0;
         x = safezoneX + safezoneW/2 - 0.25;
         y = safezoneY + safezoneH/9;
         w = 0.5;
         h = 0.025;
         texture = "\ca\ui\data\loadscreen_progressbar_ca.paa";
         shadow = 2;
      };
   };
};




Als Anhang eine Beispielmission wie das ganze dann ingame mit Loading Screen und Info Text aussieht.

Angehängte Dateien:
loading_example.rar [950.11Kb / 122 Downloads]

 
Offline
02.07.2010 01:17 RE: ArmA2 Functions
Mitglieder Avatar

Clayman
Bad Guy
Editing Held


3 veröffentlichte Addons/Mods3 veröffentlichte Szenarien

Beiträge: 278
Dabei seit: 26.06.09
Herkunft: Bremen, Germany
Alter: 30

Verwarnstatus 0
BIS_fnc_UnitCapture und BIS_fnc_UnitPlay

In OA gibt es die Möglichkeit, Bewegungen von Fahr- und Flugzeugen aufzuzeichnen und von KI Einheiten wiedergeben zu lassen. Dazu werden die Funktionen BIS_fnc_UnitCapture (zum aufzeichnen) und BIS_fnc_UnitPlay (zum wiedergeben) verwendet.
Wer die OA Kampagne gespielt hat, wird vielleicht in der Mission Coltan Blues die perfekte Landung des Littlebirds bemerkt haben. Diese wurde mit diesen Funktionen erstellt.


Auf den ersten Blick sieht das ganze recht kompliziert aus, aber wenn man den Dreh erstmal raus hat, ist's gar nicht so wild. Hier eine Schritt für Schritt Anleitung:

1. Ein beliebiges Flugzeug als Spielereinheit platzieren, plane benennen und auf 'Fliegend' stellen.

2. Funktionsmanager Modul platzieren.

3. Auslöser erstellen:
Download Script  Script
Achse a/b: 0
Aktivierung: Funk Juliet
Bei Akt: null = [plane, 120, 30, true, 10] spawn BIS_fnc_UnitCapture;



plane ist der Name des Flugzeugs
120 ist die Dauer, wie lange aufgezeichnet wird (120 Sekunden = 2 Minuten)
30 sind die Frames pro Sekunde
true legt fest, ob die Benutzung der Waffen mit aufgezeichnet werden soll
10 kein Plan^^

4. Mission starten, Funk Juliet (0-0-0), 2 Minuten lang coole Flugmanöver durchführen.
Ist die Zeit abgelaufen, erscheine eine Hint Meldung und das Spiel stoppt.

5. F1 drücken (kopiert die aufgezeichneten Daten in die Zwischenablage, kann ein paar Sekunden dauern, ein Hint erscheint wenn fertig) und Mission beenden.

6. Per Alt-Tab das Spiel verlassen, Missionsordner öffnen und eine neue Datei data.sqf erstellen. Folgendes Eintragen:
Download Script  Script
_result = *Hier mit Strg+V die Daten einfügen*;
_result



Die aufgezeichneten Daten sind ein Array mit einer ganzen Menge an Zahlen.

7. data.sqf speichern und zurück ins Spiel.

8. Ein KI Flugzeug erstellen, plane1 benennen und auf Fliegend stellen.

9. In die Initzeile:
Download Script  Script
PlaybackData = compile preprocessFile "data.sqf"




10. Einen neuen Auslöser erstellen:
Download Script  Script
Achse a/b: 0
Aktivierung: Funk India
Bei Akt: Data = [] call PlaybackData; null = [plane1, Data] spawn BIS_fnc_UnitPlay;




11. Mission starten, Funk India (0-0-9) und der KI bei coolen Flugmanövern zusehen.






Beispiel-Mission

Ich hab eine kleine Beispiel Mission erstellt, um die Benutzung etwas zu veranschaulichen.

Download: AirShow.Takistan.rar


Anleitung:
Wie oben beschrieben Mission im Editor öffnen, auf Vorschau gehen, 0-0-0 drücken und zwei Minuten lang fliegen. Hint Meldung erscheint, F1 drücken, auf Bestätigung warten und per Alt-Tab zum Missionsordner wechseln. Die data.sqf ist bereits Vorhanden, hier einfach die gespeicherten Daten einfügen:
Download Script  Script
_result = [];
_result



Achtung: Die (rot markierten) Klammern müssen vorher entfernt werden!
Anschließend wieder in den Editor und nochmal auf Vorschau gehen. Diesmal 0-0-9 drücken und die Show genießen. ;-)

Angehängte Dateien:
airshow.rar [116.64Kb / 20 Downloads]

 
Offline
02.07.2010 10:50 RE: ArmA2 Functions
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
Das ist genial Clay, danke für die Anleitung. Top
Hab aber gelesen dass das im MOment nur mit Lufteinheiten funktioniert und man sehr vorsichtig damit sein soll, da es sehr auf die Performance gehn kann wenn man zu viel davon in einer Mission einbaut. Also nicht übertreiben! ^^
 
Offline
02.07.2010 15:00 RE: ArmA2 Functions
Mitglieder Avatar

Stoned Boy

Editing Held


AMS Team und 2nd Root5 veröffentlichte Szenarien

Beiträge: 278
Dabei seit: 24.06.07
Herkunft: Dresden
Alter: 23
Wie geil, endlich vernünftige Intros machen :-D
www.Schulterglatze.de
 
Offline
05.07.2010 00:26 RE: ArmA2 Functions | Bearbeitet von Imutep 05.07.2010 20:38
Mitglieder Avatar

Imutep
ArmAdeus
Root


AMS Team und Admin10 veröffentlichte SzenarienMehr als 3 veröffentlichte Editingarbeiten

Beiträge: 982
Dabei seit: 19.06.07
Herkunft: München
AAN Function
Mit der AAN Function lässt sich ganz einfach das AAN News Overlay in eine Cutszene einblenden. Wie das ganze aussieht habt ihr ja alle im Intro zu Operation Arrowhead gesehn. Da ist es zwar um Längen aufwendiger gestaltet, aber die abgespeckte Version ist auch was feines.

Anwendung:
  • Wie bei allen Functions, immer das Funktionsmanager Modul auf der Karte platzieren.
  • Unten aufgefürtes Script einfach an die Stelle einbinden, wo das AAN Overlay eingeblendet werden soll.
  • Text anpassen


Code zum einbetten in ein Intro, Outro oder sonstige Cutscene:
Download Script  Script
_header = parsetext "<t size='2.3'>Gruss an Bohemia Interactive</t><br />Dank der AAN Function sind nun AAN Nachrichten einblendbar.";
_line = parsetext " Mir war einfach nur langweilig! Drum dachte ich mir ich versuche mal eine AAN News zu schreiben bevor ich in den Urlaub gehe. Da ist die News...und ich geh jetzt in den Urlaub!. Tschüss!";
nul = [_header,_line] spawn BIS_fnc_AAN;




Und so sieht es dann ingame aus:

i17.photobucket.com/albums/b60/Imutep/AMS%20Forum/aan_news.jpg

Falls es einer drauf hat, das mit Bildeinblendungen noch hinzukriegen, so bite immer her mit der Info. :top:
Hier mal ein Beispiel-Outro Win einer Mission. HAB IN DEM Script den teil der für das AAN Overlay wichtig ist, farblich hervorgehoben.

Angehängte Dateien:
aan-example.rar [5.61Kb / 34 Downloads]

 
Offline
05.07.2010 19:57 RE: ArmA2 Functions
Mitglieder Avatar

Lucas
ArmA Fan
Editing Newbie


Beiträge: 2
Dabei seit: 05.07.10

Verwarnstatus 0
Moin Imutep,

ich lese hier schon seit längerem aufmerksam mit Smile.

Nun zu meinem Problem:

Das Beispiel mit dem BIS_fnc_AAN klappt bei mir nicht so recht :-(.
Wenn es nicht zuviel verlangt ist, könntest Du vielleicht einmal eine Beispielmission zum Download anbieten? Wink.

Oder auch noch weitere Hinweise wären fein.

Lucas
 
Offline
Spring zum Forum:
Forum powered by fusionBoard

Thema verlinken

URL:
BBcode:
HTML:

Ähnliche Themen

Thema Forum Antworten Letzter Beitrag
Arma2 Missionen bei Windows 7 ArmA Diskussion 10 05 September 2010 13:20
Arma2 Opeation Arrowhead ACE2 ArmA Diskussion 8 01 September 2010 18:43
[ArmA2] Roter Stern [Kamp] AMS Release 28 24 August 2010 22:02
ArmA2 Briefings Mission Editing 86 16 August 2010 22:42
[ArmA2] Black Tears [Kamp] AMS Area51 9 16 August 2010 19:38