Seite 1 von 4

M.I.S.T. - Skriptschnipsel

Verfasst: 13. Mai 2013, 21:13
von JaBoG32_SNAFU
Stand: 3/1/14

Die Aktuelleste Version von Mist ist 3.2:
http://forums.eagle.ru/showpost.php?p=1 ... tcount=324


Es folgen die Links zu interessanten Skripts aus dem ED Forum :

Integrated Air Defense Script
Wie der Name sagt...
http://forums.eagle.ru/showthread.php?t=118175

Detection Script:
Simuliert menschliches Verhalten bei AI AntiAir
http://forums.eagle.ru/showthread.php?t=117424
http://forums.eagle.ru/showthread.php?t=116726


Suppression Fire Script:
Simuliert das AI unter Beschuss versucht auszuweichen, anstatt ohne Beeinflussung weiter zu schiessen
http://forums.eagle.ru/showthread.php?t=107635

Training Range Script
Basierend auf 476th Bombing Range Object Mod und meinem BDU-Bomb Indicator Script, ein Skript, welches Feedback zur Angriffpräzision gibt.
http://forums.eagle.ru/showthread.php?t=116794

AFAC Skript
Ermöglicht mit WP Raketen Ziele zu markieren und diese von AI Fliegern mit 9Line angreifen zu lassen
http://forums.eagle.ru/showthread.php?p ... ost1926208

BDU Bomb Indicator Skript
Gibt die Genauigkeit von BDU Abwürfen wieder
http://forums.eagle.ru/showthread.php?t=109174

ASW Skript
Simuliert Hubschrauber im ASW Einsatz
http://forums.eagle.ru/showthread.php?t=116429

Complete transport script
Komplexeres Skript zur Logistik und Infantrie Einsatz mit Hubschraubern
http://forums.eagle.ru/showthread.php?t=108523

DCS Artillery Enhancement Script
Gibt Artillerie in Kombination mit Spottern ein intelligenteres Verhalten
http://forums.eagle.ru/showthread.php?t=107609

Random Airtraffic
Generiet zufälligen Verkehr in der Luft
http://forums.eagle.ru/showthread.php?t=108476

Dynamic Medevac Script
Hiermit können ausgestiegene Piloten gerettet werden
http://forums.eagle.ru/showthread.php?t=107303

GCI Skript
GCI genutzt in einer Mission, weiß nicht ob auch in andere Missionen übertragbar
http://forums.eagle.ru/showpost.php?p=1845129

Dismount Skript:
Einheiten steigen aus APCs wenn dies halten und steigen wieder ein, wenn dieser losfährt
http://forums.eagle.ru/showpost.php?p=1 ... ostcount=1

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 13. Mai 2013, 21:14
von JaBoG32_SNAFU
Das hier setzt eine Flagge #27 auf true, wenn ein (1) Map-Opjekt in einer Zone "LZ_Tango" Zerstört wurde:

Code: Alles auswählen

mist.flagFunc.mapobjs_dead_zones{ zones = {'LZ_Tango}, flag = 27, req_num = 1 }

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 14. Mai 2013, 20:46
von JaBoG32_SNAFU
Eine andere Methode ohne sich um die IDs kümmern zu müssen eine Infantrie in zufälliger Position in einer Zone "test" dynamisch zu erstellen: (benötigt Mist2.0 und sctv1)

Code: Alles auswählen

local pos = trigger.misc.getZone('test')
local ranpos = {}
 
ranpos.x = pos.point.x + math.random(pos.radius * -1, pos.radius)
ranpos.z = pos.point.z + math.random(pos.radius * -1, pos.radius)
 
local data = {
 
units = {
[1] = {
["x"] = ranpos.x,
["y"] = ranpos.z,
["type"] = "Soldier AK",
["heading"] = 0,
}, -- end of unit 1
 
[2] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[3] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[4] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[5] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[6] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[7] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[8] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier AK",
["heading"] = 0,
},
 
[9] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier RPG",
["heading"] = 0,
},
 
[10] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "Soldier RPG",
["heading"] = 0,
},
 
[11] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "SA-18 Igla-S comm",
["heading"] = 0,
},
 
[12] = {
["x"] = ranpos.x + math.random(5,100),
["y"] = ranpos.z + math.random(5,100),
["type"] = "SA-18 Igla manpad",
["heading"] = 0,
}, -- end of unit 2
 
}, --end of units
} -- end of group table
 
sct.dynAdd ("RUSSIA", "vehicle", data)

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 15. Mai 2013, 08:37
von JaBoG32_Herby
Very nice.

Wir müssen über die neuen Funktionen mal diskutieren.

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 16. Mai 2013, 08:16
von JaBoG32_SNAFU
Können wir machen, allerdings bin ich gerade erst dabei, einzusteigen. Mal sehen wie weit ich komme.

Hier poste ich nur die einfachen Sachen, bei denen ich weiß, das und wie sie funktionieren. Da in den MIST und SCT Guides nur wenige brauchbare Beispiele dabei sind, dachte ich liste hier mal ein paar auf.

Hier noch ein kurzer Befehl, mit dem man im ME existierende Gruppen "SnakeDoc" in eine zufällige position in er Zone "LZ Tango" versetzen kann. Die 1 ist eine Boolean die für "Dispers=true" steht und 10 ist der Verteilungsradius in der Gruppe in m. Allerdings kann man anschließend diese Einheiten nicht mehr mit einer ME erstellten Moving Zone, Flare ode Smoke verknüpfen und muß die ebenfalls per Skript erstellen. Dies funktioniert auch nicht mit Client-Einheiten. Diese werden zwar versetzt, die Client fliegt aber aus dem Cockpit.

Code: Alles auswählen

sct.teleportInZone ("SnakeDoc", "LZ Tango", 1, 10)

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 16. Mai 2013, 08:56
von JaBoG32_Herby
Was verbirgt sich hinter SCT?

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 16. Mai 2013, 09:12
von JaBoG32_SNAFU
Das ist eine Skript Ergänzung zu MIST von Grimes erstellt.


MIST: http://forums.eagle.ru/showpost.php?p=1 ... tcount=132
SCT: http://forums.eagle.ru/showthread.php?t=106234

Benötigt MIST2.0, wird aber wohl später in MIST integriert werden.

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 16. Mai 2013, 17:02
von JaBoG32_SNAFU
Noch eine MIST Funktionion, die eine Flagge auf eine Moving unit setzt, funktioniert scheinbar aber auch nur mit Einheiten, die im ME gesetzt wurden und nicht bei Einheiten die dynamisch mit Skript erzeugt wurden:

Code: Alles auswählen

mist.flagFunc.units_in_moving_zones
{ 
	units = {'[g]Viper 1', '[g]Viper 2', '[g]Viper 3', '[g]Viper 4', 'Viper test' }, --Einheiten bei denen Flagge getriggert wird
	zone_units = {'test1'}, --Einheit auf die Zone gesetzt wird
	flag = 900, --Flagge die auf true gesetzt wird
	radius = 100, --Zonenradius
 } 

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 16. Mai 2013, 17:05
von JaBoG32_SNAFU
Noch eine MIST Funktionion, die eine Flagge bei Sichtkontakt zwischen 2 Einheiten setzt, funktioniert scheinbar aber auch nur mit Einheiten, die im ME gesetzt wurden und nicht bei Einheiten die dynamisch mit Skript erzeugt wurden:

Code: Alles auswählen

mist.flagFunc.units_LOS
{ 
unitset1 = {'test1'}, --1te Einheit
altoffset1 = 1.8, --Höhenversatzt des Sichtpunktes 1te Einheit
unitset2 = {'Viper 1', 'Viper 2', 'Viper 3', 'Viper 4', 'Viper test'}, --2te Einheiten zu der 1te Sichtkontakt hat
altoffset2 = 3,  -- Höhenversatz 2te Einheit
flag = 901, -- Flagge die auf true gesetzt wird
radius = 500, --Radius ab wann
interval = 3 --Intervall in dem geprüft wird
} 

Re: M.I.S.T. - Skriptschnipsel

Verfasst: 18. Mai 2013, 16:50
von JaBoG32_SNAFU
Hier noch eine MIST Funktion, getestet und funktioniert. Diese Funktion läßt eine Gruppe zu einer Punkt gehen, mit definierter zufälliger Abweichung falls gewünscht:

Code: Alles auswählen

--local heli = Unit.getByName('test') --unit to which group shall move,
--local helipos = heli:getPosition().p
--alternative if group shall move to zone
local zone = trigger.misc.getZone('test')	
local zonepos = zone:getPosition().p
							
local getin = 
			{
			group = Group.getByName('pickup'),--group to go
			--point = {y = helipos.y, x = helipos.x, z = helipos.z},
			point = {y = zonepos.y, x = zonepos.x, z = zonepos.z},
			radius = 1, --radius of random points around point
			form = "Diamond",
			speed = 10,
			disableRoads = 1
			}
mist.groupToRandomPoint(getin)