mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Merge pull request #152 from VEAF/introduced-scripts-plugins
Introduced LUA scripts plugins
This commit is contained in:
commit
66b659c0af
1
.gitignore
vendored
1
.gitignore
vendored
@ -21,3 +21,4 @@ logs/liberation.log
|
|||||||
qt_ui/logs/liberation.log
|
qt_ui/logs/liberation.log
|
||||||
|
|
||||||
*.psd
|
*.psd
|
||||||
|
resources/scripts/plugins/*
|
||||||
|
|||||||
@ -234,13 +234,41 @@ class Operation:
|
|||||||
if self.game.settings.perf_smoke_gen:
|
if self.game.settings.perf_smoke_gen:
|
||||||
self.visualgen.generate()
|
self.visualgen.generate()
|
||||||
|
|
||||||
# Inject Lua Scripts
|
# Inject Plugins Lua Scripts
|
||||||
load_mist = TriggerStart(comment="Load Mist Lua Framework")
|
listOfPluginsScripts = []
|
||||||
with open("./resources/scripts/mist_4_3_74.lua") as f:
|
try:
|
||||||
load_mist.add_action(DoScript(String(f.read())))
|
with open("./resources/scripts/plugins/__plugins.lst", "r") as a_file:
|
||||||
self.current_mission.triggerrules.triggers.append(load_mist)
|
for line in a_file:
|
||||||
|
name = line.strip()
|
||||||
|
if not name.startswith( '#' ):
|
||||||
|
trigger = TriggerStart(comment="Load " + name)
|
||||||
|
listOfPluginsScripts.append(name)
|
||||||
|
fileref = self.current_mission.map_resource.add_resource_file("./resources/scripts/plugins/" + name)
|
||||||
|
trigger.add_action(DoScriptFile(fileref))
|
||||||
|
self.current_mission.triggerrules.triggers.append(trigger)
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
|
||||||
# Load Ciribob's JTACAutoLase script
|
# Inject Mist Script if not done already in the plugins
|
||||||
|
if not "mist.lua" in listOfPluginsScripts and not "mist_4_3_74.lua" in listOfPluginsScripts: # don't load mist twice
|
||||||
|
trigger = TriggerStart(comment="Load Mist Lua Framework")
|
||||||
|
fileref = self.current_mission.map_resource.add_resource_file("./resources/scripts/mist_4_3_74.lua")
|
||||||
|
trigger.add_action(DoScriptFile(fileref))
|
||||||
|
self.current_mission.triggerrules.triggers.append(trigger)
|
||||||
|
|
||||||
|
# Inject Liberation script
|
||||||
|
load_dcs_libe = TriggerStart(comment="Load DCS Liberation Script")
|
||||||
|
with open("./resources/scripts/dcs_liberation.lua") as f:
|
||||||
|
script = f.read()
|
||||||
|
json_location = "[["+os.path.abspath("resources\\scripts\\json.lua")+"]]"
|
||||||
|
state_location = "[[" + os.path.abspath("state.json") + "]]"
|
||||||
|
script = script.replace("{{json_file_abs_location}}", json_location)
|
||||||
|
script = script.replace("{{debriefing_file_location}}", state_location)
|
||||||
|
load_dcs_libe.add_action(DoScript(String(script)))
|
||||||
|
self.current_mission.triggerrules.triggers.append(load_dcs_libe)
|
||||||
|
|
||||||
|
# Load Ciribob's JTACAutoLase script if not done already in the plugins
|
||||||
|
if not "JTACAutoLase.lua" in listOfPluginsScripts: # don't load JTACAutoLase twice
|
||||||
load_autolase = TriggerStart(comment="Load JTAC script")
|
load_autolase = TriggerStart(comment="Load JTAC script")
|
||||||
with open("./resources/scripts/JTACAutoLase.lua") as f:
|
with open("./resources/scripts/JTACAutoLase.lua") as f:
|
||||||
|
|
||||||
@ -258,16 +286,6 @@ class Operation:
|
|||||||
load_autolase.add_action(DoScript(String(script)))
|
load_autolase.add_action(DoScript(String(script)))
|
||||||
self.current_mission.triggerrules.triggers.append(load_autolase)
|
self.current_mission.triggerrules.triggers.append(load_autolase)
|
||||||
|
|
||||||
load_dcs_libe = TriggerStart(comment="Load DCS Liberation Script")
|
|
||||||
with open("./resources/scripts/dcs_liberation.lua") as f:
|
|
||||||
script = f.read()
|
|
||||||
json_location = "[["+os.path.abspath("resources\\scripts\\json.lua")+"]]"
|
|
||||||
state_location = "[[" + os.path.abspath("state.json") + "]]"
|
|
||||||
script = script.replace("{{json_file_abs_location}}", json_location)
|
|
||||||
script = script.replace("{{debriefing_file_location}}", state_location)
|
|
||||||
load_dcs_libe.add_action(DoScript(String(script)))
|
|
||||||
self.current_mission.triggerrules.triggers.append(load_dcs_libe)
|
|
||||||
|
|
||||||
self.assign_channels_to_flights()
|
self.assign_channels_to_flights()
|
||||||
|
|
||||||
kneeboard_generator = KneeboardGenerator(self.current_mission)
|
kneeboard_generator = KneeboardGenerator(self.current_mission)
|
||||||
|
|||||||
29
resources/scripts/plugins/__plugins.lst.sample
Normal file
29
resources/scripts/plugins/__plugins.lst.sample
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# this is a list of lua scripts that will be injected in the mission, in the same order
|
||||||
|
mist.lua
|
||||||
|
Moose.lua
|
||||||
|
CTLD.lua
|
||||||
|
NIOD.lua
|
||||||
|
WeatherMark.lua
|
||||||
|
veaf.lua
|
||||||
|
dcsUnits.lua
|
||||||
|
# JTACAutoLase is an empty file, only there to disable loading the official script (already included in CTLD)
|
||||||
|
JTACAutoLase.lua
|
||||||
|
veafAssets.lua
|
||||||
|
veafCarrierOperations.lua
|
||||||
|
veafCarrierOperations2.lua
|
||||||
|
veafCasMission.lua
|
||||||
|
veafCombatMission.lua
|
||||||
|
veafCombatZone.lua
|
||||||
|
veafGrass.lua
|
||||||
|
veafInterpreter.lua
|
||||||
|
veafMarkers.lua
|
||||||
|
veafMove.lua
|
||||||
|
veafNamedPoints.lua
|
||||||
|
veafRadio.lua
|
||||||
|
veafRemote.lua
|
||||||
|
veafSecurity.lua
|
||||||
|
veafShortcuts.lua
|
||||||
|
veafSpawn.lua
|
||||||
|
veafTransportMission.lua
|
||||||
|
veafUnits.lua
|
||||||
|
missionConfig.lua
|
||||||
29
resources/scripts/plugins/link.cmd.sample
Normal file
29
resources/scripts/plugins/link.cmd.sample
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
rem this can be used to easily create hardlinks from your plugin development folder
|
||||||
|
|
||||||
|
mklink mist.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\community\mist.lua
|
||||||
|
mklink Moose.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\community\Moose.lua
|
||||||
|
mklink CTLD.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\community\CTLD.lua
|
||||||
|
mklink NIOD.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\community\NIOD.lua
|
||||||
|
mklink WeatherMark.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\community\WeatherMark.lua
|
||||||
|
mklink veaf.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veaf.lua
|
||||||
|
mklink dcsUnits.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\dcsUnits.lua
|
||||||
|
mklink JTACAutoLase.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\JTACAutoLase.lua
|
||||||
|
mklink veafAssets.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafAssets.lua
|
||||||
|
mklink veafCarrierOperations.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafCarrierOperations.lua
|
||||||
|
mklink veafCarrierOperations2.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafCarrierOperations2.lua
|
||||||
|
mklink veafCasMission.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafCasMission.lua
|
||||||
|
mklink veafCombatMission.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafCombatMission.lua
|
||||||
|
mklink veafCombatZone.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafCombatZone.lua
|
||||||
|
mklink veafGrass.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafGrass.lua
|
||||||
|
mklink veafInterpreter.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafInterpreter.lua
|
||||||
|
mklink veafMarkers.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafMarkers.lua
|
||||||
|
mklink veafMove.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafMove.lua
|
||||||
|
mklink veafNamedPoints.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafNamedPoints.lua
|
||||||
|
mklink veafRadio.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafRadio.lua
|
||||||
|
mklink veafRemote.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafRemote.lua
|
||||||
|
mklink veafSecurity.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafSecurity.lua
|
||||||
|
mklink veafShortcuts.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafShortcuts.lua
|
||||||
|
mklink veafSpawn.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafSpawn.lua
|
||||||
|
mklink veafTransportMission.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafTransportMission.lua
|
||||||
|
mklink veafUnits.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\veafUnits.lua
|
||||||
|
mklink missionConfig.lua d:\dev\_VEAF\VEAF-Mission-Creation-Tools\src\scripts\veaf\missionConfig.lua
|
||||||
Loading…
x
Reference in New Issue
Block a user