Mitspieler Online

· Gäste: 19

· Mitspieler Online: 1
Rallen

TeamSpeak 3

Gruppe W wird unterstützt von

TeamSpeak Logo

Gruppe W - TS

Login

Benutzername

Passwort



Passwort vergessen?
Um ein neues Passwort anzufordern klicke hier.

Ereignisse

<< Juli 2021 >>
Mo Di Mi Do Fr Sa So
      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  

Social


Thema ansehen

 Thema drucken
[Scriptpakete] MIL Functions
22.12.2019 um 18:45

Top  #1  Beitrag drucken

Miller

Benutzeravatar
Zweiter Sieger!

Hat dem W-ESM Team zum 2. Platz beim ESM MastersCup May 2021 verholfen.

Seiten Administrator


Beiträge: 487

Registriert am: 07.02.15

MIL Functions bietet Scriptlösungen für Missionsbauer, die einige Sachen erleichtern und die Immersion steigern sollen.

Die Scriptpakete dürfen in der vorliegenden Form von jedem Mitglied / Mitspieler von Gruppe W zum Missionsbau bei Gruppe W verwendet werden. Änderungen am Code sind nicht zulässig.

Inhaltsverzeichnis:
  1. MIL Spawn
  2. GreenMag
  3. Fallout
  4. AI
  5. Misc
  6. Consistent Loadout System
  7. Stealth
  8. K9
  9. Electron

Download: Klick Mich!

Setup:
  1. Füge den Ordner "MIL_fnc" deinem Missionsordner hinzu
  2. Ergänze in der "description.ext" den Aufruf "#include "MIL_fnc\CfgFunctions.hpp"" unter "class CfgFunctions"


1. MIL Spawn

Durch die Funktion MIL_fnc_spawnhandler können KI Gruppen gespawnt werden.
KI Gruppen erhalten durch Poppy vorher definierte Loadouts und nach Angaben bestimmte Gesichter und Stimmen.
Die Gruppen können global anhand einer eindeutigen Variable angesprochen werden.

Wichtig:
Füge folgenden Code ans Ende der CfgLoadouts.hpp in deinem Missionsordner ein, jedoch noch bevor die letzte Klammer geschlossen wird:
//include MIL_Spawn Loadouts
   #include "MIL_fnc\spawn\MIL_factions.hpp"


Es sollte nun so aussehen:
Spoiler:

class CfgLoadouts {

//
// Hier stehen viele Klassen
//

//Plt Lead
class W_B_Commanding_Officer_F: CommonRegular {
//Clothing
backpack[] = {"B_RadioBag_01_mtp_F"};

//Weapons
primary[] = {"rhs_weap_m4a1","optic_holosight_blk_f","","",""};
binoculars[] = {"ACE_VectorDay"};

//Mags + items
magazines[] += {"rhs_mag_30Rnd_556x45_M855A1_Stanag_Pull",6,"rhs_mag_30Rnd_556x45_M855A1_Stanag_Pull_Tracer_Red",3};
items[] += {"rhsusf_acc_rvg_blk","ACE_microDAGR","ACRE_PRC117F","ACRE_PRC148"};

//misc
map[] = {"ItemMap"};
gps[] = {"b_EasyTrack_PDA"};
};

//include MIL_Spawn Loadouts
#include "MIL_fnc\spawn\MIL_factions.hpp"
};


Syntax:
[string, number, array, side, string, array, number, string, string, bool, number, array, bool] call MIL_fnc_spawnhandler


Return:
Array - Dieses Array enthält alle erstellten Gruppen

Parameter:
Spoiler:

Parameter(s):

0:
STRING - Präfix für die erstellte Gruppe. Variable für die Gruppe wird wie folgt aussehen: PREFIX_NUMMER.

1:
NUMBER - Anzahl an Gruppen die erstellt werden soll.

2:
ARRAY - Position an der die Gruppe(n) gespawnt werden soll.
Format: [[x1, y1, z1],[x2, y2, z2]].
Jede Gruppe braucht ihrer eigene Position!
Z ist optional.

3:
SIDE - Seite auf der die Gruppe gespawnt werden soll.
Mögliche Werte sind: west, east, independent.

4:
STRING - Fraktion deren Loadouts gewählt werden sollen.
Mögliche Werte sind hier alle Fraktionen die in der Datei "MIL_factions.hpp" definiert sind. Eigene Fraktionen können nach gegebenem Beispiel hinzugefügt werden.
WICHTIG: Es sind möglicherweise nicht alle Einheiten definiert. Einheiten die nicht definiert sind erhalten das Standard Loadout ihrer Seite. (NATO, AAF, CSAT)

5:
ARRAY - Definiert welche Rollen die Soldaten in der Gruppe erhalten.
Format: [[[type], rank],[[type,type2], rank],[type]].
WICHTIG: rank ist optional. Einheiten ohne definierten Rang werden als PRIVATE gespawnt.
Mögliche Werte für type: "rfl", "sql", "tl", "gren", "ar", "dm", "cls", "lat", "at", "exp", "ammocarry", "atspec", "atspecassi", "aaspec", "aaspecassi", "engi", "crew", "officer", "para", "helipilot", "helicrew".
Mögliche Werte für rank: "PRIVATE" oder 1, "CORPORAL" oder 2, "SERGEANT" oder 3, "LIEUTENANT" oder 4, "CAPTAIN" oder 5, "MAJOR" oder 6, "COLONEL" oder 7.

6 (Optional):
NUMBER - Definiert, in welchem Radius um den gegebenen Punkt die Einheiten gespawnt werden.
Default: 2

7 (Optional):
STRING - Definiert, aus welcher Gruppe die Sprache der Einheiten gewählt werden.
Possible values: "silent", "eng_us", "eng_gb", "eng_fr", "greek", "tak", "persian", "czech", "fr", "rus", "chinese", "polish".
Default: "silent"

8 (Optional):
STRING - Definiert, aus welcher Gruppe die Gesichter der Einheiten gewählt werden.
Possible values: "all", "white", "african", "asian", "greek", "persian", "tanoan", "russian", "polish".
Default: "all"

9 (Optional):
BOOL - Dürfen Gesichter mit Tarnschminke hinzugefügt werden?
Default: false

10 (Optional):
NUMBER - Skillwert für alle Einheiten der Gruppen
Default: Your default value

11 (Optional):
ARRAY - Skillwerte für precisionAI Werte. Es wird eine zufällige Zahl zwischen den beiden Werten gewählt.
Format: [LowestPossibleValue, HighestPossibleValue].
Default: Your default value

12 (Optional):
BOOL - Gruppe(n) an den HC übergeben?
Default: false


Beispiel:
Spoiler:

_return = [
   "group_array",
   3,
   [(getMarkerPos "spawn_01"),(getMarkerPos "spawn_02"),(getMarkerPos "spawn_03")],
   independent,
   "militia",
   [
      [["tl"],"SERGEANT"],
      [["ar"],"CORPORAL"],
      [["gren"],"PRIVATE"],
      [["dm"],"PRIVATE"],
      [["rfl"],"PRIVATE"],
      [["rfl"],"PRIVATE"]
   ],
   0,
   "eng_fr",
   "all",
   true,
   0.4,
   [0.1, 0.3],
   true
] call MIL_fnc_spawnhandler;

//_return ist [group_array_1, group_array_2, group_array_3]





2. GreenMag

Obsolet.

3. Fallout

Derzeit im Rewrite


4. AI

MIL_fnc_doFireAt

Lässt eine Einheit/ein Fahrzeug die ausgewählte Waffe abfeuern, bis die Munition alle oder sie ausgeschaltet ist.
Eigentlich für Fahrzeuge konzipiert, mit Fußvolk noch ungetestet.

Syntax:
[vehicle, string, array/string, number, code] call MIL_fnc_doFireAt;


Parameter:
Spoiler:

Parameter(s):
0:
OBJECT - Einheit die schießen soll.

1:
STRING - Weapon Muzzle.

2:
ARRAY, STRING - ARRAY oder Variablenname als String (-> MIL_fnc_createTargetArray). Definiert welche units/vehicles/objects/positions beschossen werden können.

3 (Optional):
NUMBER - Zeit zwischen den Schüssen.
Default: 15

4 (Optional):
CODE - Custom Argument um das Script zu beenden.
Default: {!alive (_this getVariable "params" select 0)}

Beispiel:
Spoiler:
[fia_tank, "cannon_120mm_long", "TANK_ARRAY", 20] call MIL_fnc_doFireAt;



MIL_fnc_doSuppress

Lässt eine Einheit/ein Fahrzeug ein Ziel so lange unterdrücken, bis die Munition alle ist oder der in Param 2 angegebene Code wahr wird. Das Ziel des Unterdrückungsfeuers wechselt zwischen den Feuerstößen.

Syntax:
[vehicle, array/string, code] call MIL_fnc_doSuppress;


Parameter:
Spoiler:

Parameter(s):
0:
OBJECT - Einheit die schießen soll.

1:
ARRAY, STRING - ARRAY oder Variablen String (-> MIL_fnc_createTargetArray). Definiert welche units/vehicles/objects/positions beschossen werden soll.

2 (Optional):
CODE - Custom Argument um das Script zu beenden.
Default: {!alive (_this getVariable "params" select 0)}

Beispiel:
Spoiler:
[abdera_m2_hill, "M2_HILL_ARRAY"] call MIL_fnc_doSuppress;



MIL_fnc_knowstuff

Ein aufwendigeres Reveal script zum Nachteil der Spieler mit Auswahlmöglichkeiten für Reichweite, Sichtlinie, ...

Syntax:
[vehicle/group/unit, number, array, number, boolean, boolean, string] call MIL_fnc_knowstuff;


Parameter:
Spoiler:

Parameter(s):
0:
OBJECT/GROUP/UNIT - Wer erhält die Informationen?

1 (Optional):
NUMBER - Reveal genauigkeit (1.5 ist nötig um Informationen über die Seite der zu revealenden Seite zu erhalten.
Default: 1

2 (Optional):
ARRAY - Zusätzliche nicht-Spieler-Einheiten/Fahrzeuge über die die Einheit Informationen erhalten soll

3 (Optional):
NUMBER - Maximale Distanz (radius) in der sich die aufzuklärenden Einheiten befinden dürfen.

4 (Optional):
BOOL - Maximale Distanz auch auf Einheiten/Fahrzeuge aus Param 2 anwenden?
Default: false

5 (Optional):
BOOL - Enable(true)/Disable(false) Überprüfung nach direkter Sichtlinie zum Ziel
Default: false

6 (Optional):
STRING ["ATL", "ASL", "2D"] - Auf welche Weise soll die Distanz gemessen werden?
Default: "2D"

Beispiel:
Spoiler:
[OpforGroup_01, 2, [BluforVic_01, BluforVic_02], 2000, true, true, "ATL"] call MIL_fnc_knowstuff;



5. Misc

MIL_fnc_createTargetArray

Erstellt eine Variable mit vorgegebenen Namen mit möglichen Zielen als Inhalt. Zur Nutzung mit mehrfach ausführenden Triggern konzipiert.

Syntax:
[array, string, boolean, vehicle] call MIL_fnc_createTargetArray;


Parameter:
Spoiler:

Parameter(s):
0:
ARRAY - Alle Einheiten die in das Array übertragen werden sollen.
In Zusammenarbeit mit einem Trigger ist thisList empfohlen.

1:
STRING - Name der zu erstellenden Variable

2 (Optional):
BOOL - nach direkter Sichtlinie prüfen?
Default: false

3 (Optional if 2 == false):
OBJECT - Einheit von der die Sichtlinie ausgehen soll.

Beispiel:
Spoiler:
[thisList, "M2_HILL_ARRAY", true, M2_Hill] call MIL_fnc_createTargetArray;



MIL_fnc_ChangeMissionAI

Gibt bereits auf der Karte platzierten Einheiten von NATO, AAF und CSAT Loadouts, Gesichter und Sprachen und bearbeitet ihre Skillwerte. Kann sie ebenso auf den HC verschieben.

Wichtig: Das Script muss dort ausgeführt werden, wo die Einheiten lokal sind. Es empfiehlt sich die Function in der initServer.sqf auszuführen und sämtliches Verschieben auf den HC durch diese Function auszuführen um Lokalitätsprobleme zu vermeiden.

Wichtig:
Füge folgenden Code ans Ende der CfgLoadouts.hpp in deinem Missionsordner ein, jedoch noch bevor die letzte Klammer geschlossen wird:
//include MIL_Spawn Loadouts
   #include "MIL_fnc\spawn\MIL_factions.hpp"


Es sollte nun so aussehen:
Spoiler:

class CfgLoadouts {

//
// Hier stehen viele Klassen
//

//Plt Lead
class W_B_Commanding_Officer_F: CommonRegular {
//Clothing
backpack[] = {"B_RadioBag_01_mtp_F"};

//Weapons
primary[] = {"rhs_weap_m4a1","optic_holosight_blk_f","","",""};
binoculars[] = {"ACE_VectorDay"};

//Mags + items
magazines[] += {"rhs_mag_30Rnd_556x45_M855A1_Stanag_Pull",6,"rhs_mag_30Rnd_556x45_M855A1_Stanag_Pull_Tracer_Red",3};
items[] += {"rhsusf_acc_rvg_blk","ACE_microDAGR","ACRE_PRC117F","ACRE_PRC148"};

//misc
map[] = {"ItemMap"};
gps[] = {"b_EasyTrack_PDA"};
};

//include MIL_Spawn Loadouts
#include "MIL_fnc\spawn\MIL_factions.hpp"
};


Syntax:
[side, string, string, string, boolean, number, array, boolean, array] call MIL_fnc_ChangeMissionAI;


Parameter:
Spoiler:

Parameter(s):
0:
SIDE - Einheiten dieser Seite sind von der Function betroffen. Einheiten die nicht der Hauptfraktion der Seite angehören erhalten keine neue Ausrüstung!

1:
STRING - Fraktion deren Loadouts gewählt werden sollen.
Mögliche Werte sind hier alle Fraktionen die in der Datei "MIL_factions.hpp" definiert sind. Eigene Fraktionen können nach gegebenem Beispiel hinzugefügt werden.
WICHTIG: Es sind möglicherweise nicht alle Einheiten definiert. Einheiten die nicht definiert sind erhalten das Standard Loadout ihrer Seite. (NATO, AAF, CSAT)

2 (Optional):
STRING - Definiert, aus welcher Gruppe die Sprache der Einheiten gewählt werden.
Possible values: "silent", "eng_us", "eng_gb", "eng_fr", "greek", "tak", "persian", "czech", "fr", "rus", "chinese", "polish".
Default: "silent"

3 (Optional):
STRING - Definiert, aus welcher Gruppe die Gesichter der Einheiten gewählt werden.
Possible values: "all", "white", "african", "asian", "greek", "persian", "tanoan", "russian", "polish".
Default: "all"

4 (Optional):
BOOL - Dürfen Gesichter mit Tarnschminke hinzugefügt werden?
Default: false

5 (Optional):
NUMBER - Skillwert für alle Einheiten der Gruppen
Default: Your default value

6 (Optional):
ARRAY - Skillwerte für precisionAI Werte. Es wird eine zufällige Zahl zwischen den beiden Werten gewählt.
Format: [LowestPossibleValue, HighestPossibleValue].
Default: Your default value

7 (Optional):
BOOL - Gruppe(n) an den HC übergeben?
Default: false

8 (Optional):
ARRAY - Gruppen in diesem Array werden nicht an den HC übergeben.
Default: []

Beispiel:
Spoiler:
[east, "fia", "greek", "greek", true, 0.8, [0.1, 0.3], true, [myGroup_01, NoHCGroup_03]] call MIL_fnc_ChangeMissionAI;



MIL_fnc_loadout

Gibt dem angegeben Spieler das Poppy Loadout das für seine Klasse definiert ist. Schneller Fix, sollte Poppy kein Loadout zuweisen.
Nicht nötig wenn MCLS genutzt wird!

Syntax:
[unit] call MIL_fnc_loadout;


Parameter:
Spoiler:

Parameter(s):
0:
UNIT - Einheit die neues Loadout bekommt

Beispiel:
Spoiler:
[player] call MIL_fnc_loadout;




6. Consistent Loadout System

Das MCLS erlaubt den Erhalt des Spielerloadouts im Falle von Abstürzen und technischem Neueinstieg.
Derzeit in unserem Framework verbaut!

7. Stealth

W.I.P.


8. K9

W.I.P.


9. Electron

W.I.P.
Bearbeitet von Miller am 26.04.2020 um 18:43
Zur Kunstgalerie: https://www.dropb...3QZZa?dl=0

Some people can't face the world. That doesn't mean they're weak - just afraid.

"Ich schwitze, mein Kopf tut weh und ich weine." - Mirkuh, Keep talking and Nobody Explodes Level 4-3, 03:13 Uhr, 18.06.2019.

forum.gruppe-w.de/pics/Foren_Signaturen/Miller.pngi.imgur.com/70cvczc.png i.imgur.com/ZERQqGD.png i.imgur.com/5GZjYwm.png
22.12.2019 um 18:46

Top  #2  Beitrag drucken

Miller

Benutzeravatar
Zweiter Sieger!

Hat dem W-ESM Team zum 2. Platz beim ESM MastersCup May 2021 verholfen.

Seiten Administrator


Beiträge: 487

Registriert am: 07.02.15

CHANGELOG:

[06.01.2020]
Spoiler:
Changed:
  • MCLS schützt nun auch bei technischem Instadeath vor Loadoutverlust

[15.02.2020]
Spoiler:
Fixed:
  • MCLS stellt nun nach technischem Direkttod das Loadout korrekt wieder her

[16.02.2020]
Spoiler:
Fixed:
  • MCLS stellt nun nach technischem Direkttod das Loadout korrekt wieder her (Diesmal wirklich. Kleiner Fehler mit Waffenattachments behoben)

[26.04.2020]
Spoiler:
Fixed:
  • MIL_spawn funktioniert wieder korrekt. (Einheiten bleiben nicht auf der Stelle stehen und reagieren nicht)
  • MIL_fnc_ChangeMissionAI verteilt Loadouts nun nacheinander und nicht alle auf einmal. Das sollte Probleme mit der Loadoutverteilung beheben.
  • MIL_fnc_ChangeMissionAI deaktiviert nun kurzzeitig das DynamicSimulation System von BI solange es arbeitet
Bearbeitet von Miller am 26.04.2020 um 18:42
Zur Kunstgalerie: https://www.dropb...3QZZa?dl=0

Some people can't face the world. That doesn't mean they're weak - just afraid.

"Ich schwitze, mein Kopf tut weh und ich weine." - Mirkuh, Keep talking and Nobody Explodes Level 4-3, 03:13 Uhr, 18.06.2019.

forum.gruppe-w.de/pics/Foren_Signaturen/Miller.pngi.imgur.com/70cvczc.png i.imgur.com/ZERQqGD.png i.imgur.com/5GZjYwm.png
16.02.2020 um 01:53

Top  #3  Beitrag drucken

Peer

Benutzeravatar
Rotes Banner, Roter Stern

Hat in der Co42 Hill 3234 erfolgreich die Stellung gehalten.

Moderator


Beiträge: 571

Registriert am: 22.10.16

Sehr Cool Miller! Herzlichen Glückwunsch zum Release!
forum.gruppe-w.de/pics/Foren_Signaturen/Peer.png

"Es gab Phasen da war es garnicht langweilig" - jemand in der NB
26.04.2020 um 18:42

Top  #4  Beitrag drucken

Miller

Benutzeravatar
Zweiter Sieger!

Hat dem W-ESM Team zum 2. Platz beim ESM MastersCup May 2021 verholfen.

Seiten Administrator


Beiträge: 487

Registriert am: 07.02.15

[26.04.2020]
Spoiler:
Fixed:
  • MIL_spawn funktioniert wieder korrekt. (Einheiten bleiben nicht auf der Stelle stehen und reagieren nicht)
  • MIL_fnc_ChangeMissionAI verteilt Loadouts nun nacheinander und nicht alle auf einmal. Das sollte Probleme mit der Loadoutverteilung beheben.
  • MIL_fnc_ChangeMissionAI deaktiviert nun kurzzeitig das DynamicSimulation System von BI solange es arbeitet
Zur Kunstgalerie: https://www.dropb...3QZZa?dl=0

Some people can't face the world. That doesn't mean they're weak - just afraid.

"Ich schwitze, mein Kopf tut weh und ich weine." - Mirkuh, Keep talking and Nobody Explodes Level 4-3, 03:13 Uhr, 18.06.2019.

forum.gruppe-w.de/pics/Foren_Signaturen/Miller.pngi.imgur.com/70cvczc.png i.imgur.com/ZERQqGD.png i.imgur.com/5GZjYwm.png
Springe ins Forum:
Seitenaufbau in 0.46 Sekunden
Serverzeit: 04:18:18 Uhr , 28,372,934 eindeutige Besuche