Jump to content

Mission Editor Scripts library


Recommended Posts

I'm starting to create a page on the hoggit wiki. Gonna organize it a little differently and list dependencies. Since it is a wiki anyone can edit it, plus there is the ability to revert changes and all that lovely stuff. I doubt malicious intent will be a major issue.

 

Edit: My effort so far http://wiki.hoggit.us/view/Simulator_Scripting_Engine_Documentation

 

 

Awesome!

DCS AJS37 HACKERMAN

 

There will always be bugs. If everything is a priority nothing is.

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Digging in now.

 

This is tits! I'm still no go, on setting up a mission with MIST, without moderate difficulty, but I'm only 24 hrs. in. This thread is making my mouth water though I doubt it's more than a pavlovian response to procrastination. I'm thinking perhaps the witchcraft item will help me debug whatever the trouble seems to be. The idea was to setup some respawning groups for target practice on my local. It seems complicated by the fact that the larger aircraft cannot be in squadrons. I only seem to be able to have one large aircraft per group. I know the hoggit server has a mission with 5 yaks respawning. So, regardless, I'm into this game enough, I want to get better at the ME. As far as MIST, my doctor said MYLANTA. Still if I can work through the initial growing pains, maybe I can sink a few years of my life into it! WOO!

| A-10C | Ka-50 | F-86 | Mig-15 | P-51D |

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • 5 months later...

Would you be able to add my JTAC Auto Lase script to this list?

 

http://forums.eagle.ru/showthread.php?t=141297

 

Thank you for creating the list!

Scripts: Complete Transport And Logistics Deployment - CTLD / CTLD Examples - Lots of example of how to use CTLD

CSAR Script - Downed Pilot Rescue / Dedicated Server Script - Automatically launch DCS Multiplayer server at startup

Range Scoring Script - Get scores and counts hits on targets for gunnery or bombs / SimpleSlotBlock - Multiplayer dynamic Slot Blocking Script

 

Projects: DCS-SimpleRadio Standalone - DCS Radio Integration for All Aircraft - NO TeamSpeak Required! :)

DCS-SimpleRadio Troubleshooting Post / DCS-SimpleRadio Free Support Channel on Discord

Link to comment
Share on other sites

  • 8 months later...

I've added ciribobs script and steve2112. Sorry for taking so long, but I've been super-busy with another project you'll hopefully appreciate more.

DCS AJS37 HACKERMAN

 

There will always be bugs. If everything is a priority nothing is.

Link to comment
Share on other sites

  • 1 year later...
  • 1 year later...

Is there a zip or rar file with them all in it or must they be downloaded one by one?

BlackeyCole 20years usaf

XP-11. Dcs 2.5OB

Acer predator laptop/ i7 7720, 2.4ghz, 32 gb ddr4 ram, 500gb ssd,1tb hdd,nvidia 1080 8gb vram

 

 

New FlightSim Blog at https://blackeysblog.wordpress.com. Go visit it and leave me feedback and or comments so I can make it better. A new post every Friday.

Link to comment
Share on other sites

Many of these are years-old and may not be working any longer. Because each will also have individual instructions from the author and will often require specific naming conventions for units, they may also not be cross compatible...add all this up and you won't find them all in a single .zip because maintaining it would be a nightmare as each item is updated or stops working when the scripting engine changes. There are also things that aren't included or have been updated or combined into other scripts. The functions in CTTS, for example, are now included in CTLD which you can find stickied in this forum.

Note also this thread hasn't been posted in for over a year, and the main post hasn't updated in 1 year and eight months.


Edited by feefifofum
  • Like 1
Link to comment
Share on other sites

  • 1 year later...

Is there any intention to update these so that we know which work and which do not?Will save a lot of other Mission writer's time if we can so if anyone has used any and found they don't work, please list them.

EVGA GTX1080TISC2 Black Hybrid Cooler, Asus Strix X399, Water cooled ThreadRipper 1920X, Dominator 32GB 3200Mhz,NVME Samsung 250/500GB SSDs, Corsair Air 740 case, Acer Predator 34' Gsync curved display + 3x Alienware 23inch 120hz monitors. TM HOTAS, RAZER - Tiamat,Blackwidow, Mamba, Tartarus and Oculus Rift CV1/DK2 + TrackIR5, MFG crosswinds

 

Oh and a very understanding wife.

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
are these scripts still compatible and running for the present DCS world version?

 

 

They are 6 years old .. my guess would be no.

 

For work: iMac mid-2010 of 27" - Core i7 870 - 6 GB DDR3 1333 MHz - ATI HD5670 - SSD 256 GB - HDD 2 TB - macOS High Sierra

For Gaming: 34" Monitor - Ryzen 3600X - 32 GB DDR4 2400 - nVidia GTX1070ti - SSD 1.25 TB - HDD 10 TB - Win10 Pro - TM HOTAS Cougar - Oculus Rift CV1

Mobile: iPad Pro 12.9" of 256 GB

Link to comment
Share on other sites

  • 8 months later...
  • 2 months later...
  • 1 month later...

Hi, here are 2 simple scripts that I want to share : "Vehicles Crews Spawning on BDA Event" and "ARM detection and Alarm State Management for All Air Defenses".

 

I) "Vehicles Crews Spawning on BDA Event" :

 

This script rely on "BDA" event (vehicle gets critical damages, is set on fire, but is not totally destroyed yet) recently added with DCS 2.7. When a "BDA" event occures on the battlefield, the remaining crew can extract itself from the burning vehicle. It consists of 1, 2 or 3 soldiers of different types, with 1 chance out of 7 that a soldier is a stinger/igla manpad. The crew spawns after 10 to 15 seconds around the vehicle (if on land), disperses on a short distance and is able to retaliate.
If a vehicle is directly destroyed when hit, "BDA" event won't happen.
Some soldier unit types are considered as vehicles in DCS (example : air defense VEH for manpads) and can trigger "BDA", and are excluded in my script from "BDA" event check.


2 versions attached : a modern one and a WWII one, + a basic working example if you want to see it in action.


To use it in a mission :
1) create a "mission start" trigger, add latest MIST version with "action"/"run script file".
https://github.com/mrSkortch/MissionScriptingTools/tree/development
or
https://github.com/mrSkortch/MissionScriptingTools/tree/master
2) create a "once" trigger, Time > 1 second in "conditions", add "Vehicles Crews BDA" script in "action"/"run script file".

 

Update V3 (09/24/2021) : correction of surface type. Only spawned on Land type, now also on Road or Runway types.

Update V2 : I got rid off coalitions. In V2 crews countries are the same than critical damaged vehicle's ones. Soldier types match the ones available for the country in mission editor (I guesstimated types for countries that don't have infantry in M.E.).

 

Vehicles-Crews-BDA-modern-v3.lua Vehicles-Crews-BDA-wwii-v3.lua test-Vehicles-Crews-BDA-v2-MIST.miz

 

 

II) "ARM detection and Alarm State Management for All Air Defenses" :

 

I know several others made similar scripts, and MUCH MORE complex ones ! (Grimes' IADS, tigair's Skynet, ...), but I wanted to make this one, with a functionality of its own, very simple but working as I wanted.

 

Logic : when loaded, this script checks all the valid SAM units present in battlefield (SAM units that can detec AntiRadarMissiles with "RADAR_BAND1_FOR_ARM" ability) - with exclusion of few SAM types (SA15 Tor, S300/SA10, and Patriot) for keeping their ability to engage incoming weapon at any time. For exclusion to work, you need to put these SAM types in their own group (because when a unit turns off radar, all units of group also turns off radar if they have one).


1) When a valid SAMunit detects with radar an enemy ARM (of any type - rely on passive radar guidance type), it checks if it's incoming and threatening (heading on it, within margin), and if the valid SAMunit is not already guiding a SAM missile it will engage AlarmState procedure (will turn off radars of its group within 12 to 20 seconds, for a period of 45 to 55 seconds, will then turn on radars and will resume ARM detection within 12 to 20 seconds). The ARM Detection event will stop Detection check for all valid SAMunits of same SAM Site/Group.
An ARM that already overshot the SAM site won't trigger reaction, same if it flies toward an other SAM site.


2) When a valid SAMunit launches and is guiding a SAM missile, any incoming ARM detected after the SAM launch won't trigger AlarmState reaction, to prioritize the guidance of SAM, as long as this SAM is guided. When this SAM explodes, ARM Detection is resumed and the incoming ARM will trigger reaction (unless a new SAM is launched before Detection occures).
Any other guided SAM, following the prioritized one, are considered expandable, and will stop being guided if an AlarmState reaction occures and SAM Site turns off radars.


2 versions attached : a standard one and a "test" one (messages are triggered each time something happens to describe it, for checking purposes) + a basic working example if you want to see it in action.


To use it in a mission :
1) create a "mission start" trigger, add latest MIST version with "action"/"run script file".
https://github.com/mrSkortch/MissionScriptingTools/tree/development
or
https://github.com/mrSkortch/MissionScriptingTools/tree/master
2) create a "once" trigger, Time > 1 second in "conditions", add "ARM detection Alarm State" script in "action"/"run script file".
Optional : 3) if in your mission you dynamically spawn new SAM sites, use the command ValidSAMunits() to rebuild the table of all valid SAMunits.

 

Note : this script uses flags from number 400 up to # of Blue + Red Valid SAM units (as described above).

 

ARM-detection-Alarm-state.lua ARM-detection-Alarm-state-test.lua test-ARM-detection-Alarm-state-Mist.miz


Edited by toutenglisse
update Vehicles Crews BDA v3
  • Like 6
  • Thanks 3
Link to comment
Share on other sites

  • 6 months later...
  • 4 months later...

Hi everyone,

I am using the mist.respawnGroup() function and everything goes right in solo mode.

However using the same with a "client" instead of a "player" I get an error message that seems to indicate that this function doesn't work in MP mode.

So the question is, is there a respawn function that would work in MP ?

Thanks


Edited by CougarFFW04
Link to comment
Share on other sites

  • 3 months later...

Here is a scrit to get some aircraft status info from your AI wingmen, using "F10 other" radio menu : fuel, ammo and damage status.

Works with "Player" slot or "Client" slots, and whatever is your position in the wing.

To use, copy (Ctrl C) and paste (Ctrl V) the script into the text box of a "Do Script" action, on a "mission start" trigger with no condition.

Spoiler
WingmenPath = {}
Wingman = {}
ClientSpawn = {}
function SuppFuel(HumanId, Wingman, WMName)
if Wingman:isExist() == true then
local flightFuel = Unit.getFuel(Wingman)*100
trigger.action.outTextForGroup(HumanId, WMName..' has ' .. math.floor(flightFuel) .. ' % of internal fuel left.', 10)
else
trigger.action.outTextForGroup(HumanId, WMName..' does not exist anymore.', 10)
end
end
function DecWeapons(HumanId, Wingman, WMName)
if Wingman:isExist() == true then
local WeapTable = Unit.getAmmo(Wingman)
if WeapTable ~= nil then
for i = 1, 12 do
if WeapTable[i] and WeapTable[i]["count"] and WeapTable[i]["desc"]["displayName"] then
if i == 1 then
trigger.action.outTextForGroup(HumanId, WMName..' has : ' .. WeapTable[i]["count"] .. ' ' .. WeapTable[i]["desc"]["displayName"] .. '.', 10)
else
trigger.action.outTextForGroup(HumanId, '' .. WeapTable[i]["count"] .. ' ' .. WeapTable[i]["desc"]["displayName"] .. '.', 10)
end
end
end
else
trigger.action.outTextForGroup(HumanId, WMName..' has no ammunition left.', 10)
end
else
trigger.action.outTextForGroup(HumanId, WMName..' does not exist anymore.', 10)
end
end
function DamStat(HumanId, Wingman, WMName)
if Wingman:isExist() == true then
local Life0Points = Unit.getLife0(Wingman)
local LifePoints = Unit.getLife(Wingman)
local PercentLP = math.floor(100*(LifePoints/Life0Points))
trigger.action.outTextForGroup(HumanId, WMName..(PercentLP == 100 and ' status : OK.' or ' is damaged, has '..PercentLP..'% of Life Points left.'), 10)
else
trigger.action.outTextForGroup(HumanId, WMName..' does not exist anymore.', 10)
end
end
function CreateWMMenu(PlayerUnit)
PlayerUnitGrID = PlayerUnit:getGroup():getID()
missionCommands.removeItemForGroup(PlayerUnitGrID, {'Wingmen'})
WingmenPath[PlayerUnitGrID] = missionCommands.addSubMenuForGroup(PlayerUnitGrID, 'Wingmen')
PlayerGrUnits = PlayerUnit:getGroup():getUnits()
Wingman[PlayerUnitGrID] = {}
for i = 1, #PlayerGrUnits do
if PlayerGrUnits[i]:isExist() == true and PlayerGrUnits[i]:getPlayerName() == nil then
Wingman[PlayerUnitGrID][i] = missionCommands.addSubMenuForGroup(PlayerUnitGrID, i == 1 and 'Flight Leader' or 'Wingman n°'..i, WingmenPath[PlayerUnitGrID])
missionCommands.addCommandForGroup(PlayerUnitGrID, 'Declare Fuel', Wingman[PlayerUnitGrID][i], SuppFuel, PlayerUnitGrID, PlayerGrUnits[i], i == 1 and 'Flight Leader' or 'Wingman n°'..i)
missionCommands.addCommandForGroup(PlayerUnitGrID, 'Declare Weapons', Wingman[PlayerUnitGrID][i], DecWeapons, PlayerUnitGrID, PlayerGrUnits[i], i == 1 and 'Flight Leader' or 'Wingman n°'..i)
missionCommands.addCommandForGroup(PlayerUnitGrID, 'Damage Status', Wingman[PlayerUnitGrID][i], DamStat, PlayerUnitGrID, PlayerGrUnits[i], i == 1 and 'Flight Leader' or 'Wingman n°'..i)
end
end
end
local PlayerUnit = world.getPlayer()
if PlayerUnit ~= nil then
timer.scheduleFunction(CreateWMMenu, PlayerUnit, timer.getTime() + 1)
end
function ClientSpawn:onEvent(event)
if event.id == world.event.S_EVENT_PLAYER_ENTER_UNIT then
timer.scheduleFunction(CreateWMMenu, event.initiator, timer.getTime() + 1)
end	
end
world.addEventHandler(ClientSpawn)

 

 


Edited by toutenglisse
script edit
  • Thanks 3
Link to comment
Share on other sites

  • 4 months later...

Hi all... I am just wondering if these ME Scripts still work in the latest DCS version we have as last time this was edited was almost 10 years ago?  actually, cancel thatjust reading more, it appears still current.  2023's mission is to learn lua scripting for ME.


Edited by Semaphore
  • Like 2
Link to comment
Share on other sites

  • 9 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...