Jump to content

Recommended Posts

Posted (edited)

OK, I got the units_firing function working. I tested it out last night in one specific application- I took one of my squad mate's missions and modified it so that all the AI aircraft would announce "Magnum", "Fox 1", "Fox 2", and "Fox 3" with sound and chat messages (the chat message would identify who was speaking as well) every time they fired the corresponding weapon. That was pretty cool I thought... I'm personally going to use that a lot once I get back to actual mission building. I also set up a few function calls and triggers so that if a player fired a weapon in that mission, it would identify them through chat like: "16th Speed: RIFLE!" and the appropriate "RIFLE!" sound file would play. I will probably not do that in normal multiplayer missions, but I think it will be really useful for any mission that will be hosted publicly, since you do not normally have TS3 comms with public players.

 

Anyway, I HOPE to get a new version out this weekend along with the first youtube guide vid or two. I decided that now's the time to rework the tasking system and chat input/output so that it supports coalition-specific tasking, chat, and chat commands, so that's going to delay it for a little while longer. More likely, slmodbeta5 won't be ready till sometime next week.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted (edited)

Ok... so slmod beta 5's code is technically done, except for some bug testing I need to do. When I get done bug testing, I will upload the new code here.

 

Unfortunately, the guides are not done at all. So now I fully know what slmod beta 5 looks like, I can finally get around to making the guides. The guides will be:

1) Full .pdf manual

2) Quick reference guide (basically, just a shorter, abbreviated manual)

3) Example missions

4) Youtube video demonstrations and talk-throughs

 

The videos-I already have a script for the first two, so those will FINALLY be coming within the next couple weeks.

 

Anyway, once the manual and quick reference guide are complete, I will upload the mod on the mod forums, where it belongs, and stop posting here.

 

Anyway, the main changes for this version are these:

 

Revamped all chat input and output functionality (except the old chatIOlib functions)

-msg_out, msg_MGRS, msg_LL, msg_leading all support a new optional variable input, "coa" which is the coalition you want the message to go to.

-New chat command function: chat_cmd. chat_cmd accepts several optional variables including a "coa" arguement, which allows you to specify WHICH coalition must say a certain command. Additionally, it no longer has trouble detecting commands with special characters like "-".

-Revamped Parallel Tasking System- red and blue now have independent task lists. Added the add_red_task, add_blue_task, etc. functions to allow you to specifically add tasks only for one coaltion. The add_task, etc. functions from slmod beta 4 are still there, of course, and these functions add tasks to BOTH coalitions. Additionally, one can now call for a "SHOW TASK LIST" command with either the old command, or the new shortcut, "-stl' OR "-STL". One can get an update on a task with either the old command, "TASK # GET UPDATE", or the new short cut, "-st#" OR "-ST#".

 

Entirely new functions:

-rand_flags_on: specify a start flag, a stop flag, and a probability percentage, and this function sets all flags between the start and stop flag to true at the specified probability you input.

 

-rand_flag_choice: specify a start flag, and a stop flag, and this function randomly sets to true ONE and ONLY one flag within this flag range.

 

-num_dead_gt: Specify a large unit list, a number, and a flag number, and the specified flag gets set true of the number of units in the unit list that are dead exceeds the specified number. Good for when you want effectively "group dead more than", but across multiple groups.

 

-units_LOS: This function sets a flag based on the line of sight status between two different sets of units. You can specify a number of optional variables to tweak the behavior and computational demands.

 

-units_firing: Sets a flag when units are firing, you can specify a number of optional input variables to tweak the performance, specify a specific weapon type, and even make the function automatically output a message to the players flying. This function is great when used in conjunction with AI (now, you can make the AI announce "MAGNUM!" when they launch a HARM, for example), you can even make players on servers "announce" when they are dropping bombs or firing missiles (like in Falcon 4).

 

-units_hitting: Sets a flag when one group of units hits another unit in a different group of units, you can specify a number of optional input variables to tweak the behavior of the function, including having the function automatically output a message to the players flying. Great for "BLUE ON BLUE" -type triggers, or even implementing a "Servman lite" directly into the code of your mission.

 

-mapobj_dead_in_zone: plop down a ME zone, and you can detect the number of map objects killed within this zone using this function.

 

-msg_out_w_unit: A potentially useful little function, allows you to output a message where you specify the name of a unit- and that means it's multiplayer name too, so you can make your mission say player's names: example- "DON'T TAKE OFF FROM TAXIWAYS 16th Speed!" or "MISSION TRIGGER LOGIC: You have hit friendly units 3 times 16th Speed, I'm afraid I'm going to have to kill you." :devil_2:

 

Oh yes, I also added the beginnings of a debug messaging system... I can't do anything about Lua that someone writes and fails to compile, but if your Lua function call does compile but feeds the wrong variable type to a slmod function, slmod should catch it and give you a chat message warning telling you that you @##$ed up.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted (edited)
Wow, Speed. I am officially going to slow down on my latest project that I can incorporate some of this awesomeness.

 

Thanks... I didn't want to exactly mention it earlier... some people are sensitive about others touching their missions, but you seemed ok with it... so I took Op Gridiron and, as part of testing the mod, made it so that if any one of the players hits one of the UH-60s or Navy SEALs with any weapon, the mission will scream "BLUE ON BLUE! BLUE ON BLUE!" at you and announce over chat which dumb$% is responsible :D As soon as I get done testing this slmod version and upload it, I can let you have this version of the mission just in case you want to see how I did it exactly. It doesn't really add anything to the mission, of course, unless someone is daft enough to fire on friendlies. It was just a test I made.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted
Thanks... I didn't want to exactly mention it earlier... some people are sensitive about others touching their missions, but you seemed ok with it... so I took Op Gridiron and, as part of testing the mod, made it so that if any one of the players hits one of the UH-60s or Navy SEALs with any weapon, the mission will scream "BLUE ON BLUE! BLUE ON BLUE!" at you and announce over chat which dumb$% is responsible :D As soon as I get done testing this slmod version and upload it, I can let you have this version of the mission just in case you want to see how I did it exactly. It doesn't really add anything to the mission, of course, unless someone is daft enough to fire on friendlies. It was just a test I made.

 

Ya, that is really cool functionality. Can't wait to work with it!

Posted

The only problem with unscripted messages such as Blue on Blue I've found is that if an important mission message is triggered and half a second later an unscripted one is activated then it will overlay/replace your important mission message, which is lost.

 

Now its possible to avoid this by setting say a mission msg flag. So my question is, using your slmod script (which I really need to look at soon) do I have to check my miz flag in trigger rules conditions or is there a facility wthin the slmod function to check a flag for true/false?

 

Good work Speed btw. If only ED would allow your hard work to be incorporated into the DCS code base and modify the ME GUI too, many would be happy.

 

1 other question regarding comms. Where are F10 radio messages and logic stored? It would be a nice tidy solution if we could port this to other clients. I know slmod allows you to use the console to do this already, its just that Tx F10 is tidier and more controllable/flexable.

i7-7700K : 16Gb DDR4 2800 Mhz : Asus Mobo : 2TB HDD : Intel 520 SSD 240gb : RTX 2080ti: Win10 64pro : Dx10 : TrackiR4 : TM Warthog : ASUS ROG SWIFT PG348Q

Posted (edited)
The only problem with unscripted messages such as Blue on Blue I've found is that if an important mission message is triggered and half a second later an unscripted one is activated then it will overlay your important mission message.

I've accounted for this possibility, as you can specify the type of message you want to output. The basic output function in slmod is called "msg_out" (see the slmod beta 4 manual). msg_out and all the functions that are derived from it allow you to optionally specify one of four output modes, all of which are various combinations of trigger text and/or chat messages. To cut a long story short, the display_mode "chat" outputs the message as purely chat message(s), avoiding the problem of stepping on top of any trigger text.

 

 

Now its possible to avoid this by setting a mission flag. So my question is, using your slmod script (which I really need to look at soon) do I have to check my miz flag in trigger rules conditions or is there a facility wthin the slmod function to check a flag for true/false?

There is an internal function that can detect flag is true/false (FlagIsTrue), but this is not accessible from the mission scripting environment. The only possible use of such a function in the mission scripting environment would be in your own mission scripting environment-based Lua logic, and you can create a pseudo-FlagIsTrue() by simply setting a Lua variable every time you also set a flag. As of right now, slmod cannot return or set values in the mission scripting environment, as there is no easy path back there that I have yet figured out- besides potentially a dofile based approach. And such an approach as just mentioned would suck anyways.

 

Basically, the slmod functions are designed to be used primarily with trigger logic. Your mission trigger logic does all the "thinking", but slmod can detect conditions or do actions that your mission trigger logic either cannot do, or has a really hard time doing. For example, you might run a slmod function that sets a flag when two units become line of sight with each other- so what happens is that you create one trigger that starts running the line of sight function, and another trigger that detects when the flag operated on by the line of sight function becomes true (and thus, line of sight conditions have been met). What you do with that flag is up to you. What I am doing with it in a mission I am slowly working on is that I use the line of sight condition between groups of friendly M1s and various groups of Russian tanks, and if the line of sight function indicates that the Russian tanks are line of sight and within a certain range, those tank groups get added to the parallel tasking system, one at a time, as the friendly M1s "observe" them.

 

Anyway, that's kinda how the mod works. The functions are either going to do an action, or detect a specified condition, setting a flag. Many functions are capable of displaying messages, but all the message-displaying functions allow you to tailor how you want the message to appear- trigger text, chat text, or two flavors of trigger-text/chat-text combinations.

 

Personally, I have become a fan of a lot of chat message output, as you can always re-read the latest chat messages with the message history.

 

 

But anyway, everything will become much more clear when I start getting the guides completed. In fact, I intend msg_out to be one of the primary subjects of the second guide video.

 

Good work Speed btw. If only ED would allow your hard work to be incorporated into the DCS code base and modify the ME GUI too, many would be happy.

ED's Lua skills still put mine to shame, though I am still learning more at a good clip. What I wish is that ED would make their own functions for us to use. They know and understand a lot more about Lua than I do, and since they have access to the source code, could do much better than me. Furthermore, much of slmod is devoted to getting around problems such as getting events into the net environment without causing a frame rate drop, passing data between different Lua environments, etc. Those problems all disappear for ED. What is 4000 lines of Lua in slmod would probably be MUCH MUCH MUCH less if it could be written into the game's source code, and it would operate much faster, so you could do things I don't dare try for fear of creating a detectable frame rate drop (one of the primary requirements of slmod is to never cause a detectable frame rate drop).

 

1 other question regarding comms. Where are F10 radio messages and logic stored? It would be a nice tidy solution if we could port this to other clients. I know slmod allows you to use the console to do this already, its just that Tx F10 is tidier and more controllable/flexable.

F10 radio options would be great, but I'm afraid that I don't believe it is possible to set them up for clients without source edits. I think this is a limitation in the C source code (probably C++ source code), and that would mean it is not something I can fix. Scripts only run locally on the host's machine, and very little of what happens in scripts makes it out to the clients. That I could even display trigger text on clients was a huge (and welcome) surprise to me.

 

Anyway, the Lua functions to add radio items live in both the mission and server environments... there are two sets of them. The one in the mission environment is naturally the one that gets called by the ADD RADIO ITEM trigger, so we KNOW that one doesn't work on clients. But to be honest, I've never tested the one in the server environment on clients. Still, it seems highly unlikely that the server environment one would work on clients, as of the two of them, the mission environment one would be the much more likely one to work on clients, as that is the one end-users are intended to use.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted (edited)

Anyway, as far as I can tell, there aren't any major bugs with the beta 5 version. So I could hold on to it for a while longer until I get some decent guides completed, but I might as well upload it in case anyone wants an early look.

 

Additionally, I am uploading a work in progress target recognition mission. Though it's mostly done, I am not quite done completely with it, but if you want to verify that slmod is working on your computer, just load up the target recognition mission, fly to the range, shoot some friendlies, and make sure that Arnie yells at you (hint, shoot three friendlies and Arnie gets really mad :))

 

Anyway..

NON-Servman, manual installation:

 

Manual installation:

1) Download these three files:

MissionScripting.lua

slmodbeta5.lua

server.lua

 

2) In C:\Program Files\Eagle Dynamics\DCS A-10C\Scripts, rename "MissionScripting.lua" to "MissionScripting_original.lua". Next, drop the "MissionScripting.lua" file you downloaded here into that same directory.

 

3) Unless, you already have a server_original.lua, rename "server.lua" to "server_original.lua" in C:\Program Files\Eagle Dynamics\DCS A-10C\Scripts\net (NOT C:\Program Files\Eagle Dynamics\DCS A-10C\Scripts!!!!). Next, drop "slmodbeta5.lua" and the new "server.lua" that you just downloaded into that same directory, C:\Program Files\Eagle Dynamics\DCS A-10C\Scripts\net.

 

 

Anyway, no Servman version or Modman packs yet- I'll get to those as I get to the manual. However, if you really, really want to install it on Servman, just install the MissionScripting.lua and slmodbeta5.lua files as instructed for the non-servman version, install the servman_server.lua file from slmodbeta4, and then change the very first line of servman_server.lua from dofile('./Scripts/net/slmodbeta4.lua') to dofile('./Scripts/net/slmodbeta5.lua'). That SHOULD do the trick... I haven't had to make any other changes to server.lua IIRC. But just make sure your server.lua file in Scripts\net is the original, unmodified server.lua file or you will get an error!

 

Anyway... if anything that was made with for an old slmod version stops working with this version, let me know, as that would definitely be a bug.

MissionScripting.lua

slmodbeta5.lua

server.lua

Target Recognition v3_WIP4.miz

Edited by Speed
  • Like 1

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted

Wow, this looks great, will definately give this a try over the weekend, should make missions more dynamic. I loved the Separitist Aggression map which I believed used similar scripting before the .07 patch broke it.

Posted (edited)

Ok, here's the quick reference guide, I think it's done. Also, I've fixed a few minor bugs and I think I have the "official" release version for now, beta 5.2. I also created the Servman version and the Modman packs. I will be ready to "offically" release it on the Mods and Apps forum tomorrow, once I complete the first guide video. I've gone through like... six takes on the video already, I've compiled two videos already, and was about to load each one to youtube when I discovered some critical flaw... all problems stemming back to @#$*ING @$#$TY desktop recorder software (Cam Studio- Fraps does not work on desktop). I should be able to re-film the flawed segments tomorrow, recompile the video, and upload it to youtube.

 

In the meantime, why not upload what I have? I can just link back to here when I create the thread in Mods and Apps.

 

Anyway, between the video and the quick reference guide, there should be enough to go on to figure out how to work the various functions. The video is a little over 20 mins (so it may have to be broken up into 3 parts dependent on youtube restrictions), but it demonstrates basic Lua types and how to create and call a Slmod function using the mission editor and Notepad++.

 

Over the longer term (several weeks), I should be able to create a "full" manual which will be an expansion of the quick reference guide.

 

Note for the Servman version- make sure you have the original, unmodified server.lua installed.

server.lua

slmodbeta5_2.lua

slmod beta 5 quick reference guide.pdf

slmodbeta5_2 FOR SERVMAN 3_0_1.zip

slmodbeta5_2 NON SERVMAN.zip

servman_server.lua

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted

very nice, thank you

ARMA 3 SUPPORTER

I7 2600K/ P8P67/ 2x 120GB SSD OCZ Agility 3/ 32GB DDR3/ MSI GTX680 Twin Frozr II /WIN 8 Pro 64-bit/ HOTAS WARTHOG™/ TIR5/ G19

Posted

nice speed... i like it when i see news all day on a project :thumbup:

will try with this version if i get -stl to work :joystick:

[sIGPIC][/sIGPIC]

There are two types of fighter pilots - those who have, and those who will execute a magnificent break turn towards a bug on the canopy . . . .

 

http://www.youtube.com/user/schnarrsonvomdach

http://www.twitch.tv/schnarre

https://www.facebook.com/pages/Schnarre-Schnarrson/876084505743788?fref=ts

Posted (edited)

Hello Speed,

like Scropi and Schnarre i'd like to thank you for your work. This mod have great benefit for mission design and testing. It's really clever to use the chat window as a console-like interface to trigger scripts or complete situations.

Looking forward to your planned video guide.

Very nice! Thanx a lot.

yours eumel

Edited by terroreumel
Posted (edited)
;1317601']nice speed... i like it when i see news all day on a project :thumbup:

will try with this version if i get -stl to work :joystick:

 

One of the bugs I fixed in version beta5.2 was that no tasking commands were working until a task was added to the tasking list AFTER someone had already said something in chat. I had missed this one in testing slmod beta 5.0, sorry.

 

Additionally, tonight I hope to start releasing example missions as well, those might be helpful.

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted (edited)

Slmod beta 5.2 appears to be fully compatible with Black Shark 2, and by extension, A-10C patch 1.1.1.0, though, further testing will be required for me to know for sure. All functions I have tested so far appear to work fine, and generally, if the ones I tested didn't work, then none of them should have worked, so I think I am good to keep moving foward :)

 

But I probably WILL have to go back and update my Slmod code to include all the FC 3 aircraft, when I did the relevant coding 2 months ago, I only programmed it to work for Ka-50s and A-10Cs :)

 

After what happened today, for all we know, FC 3 comes out tomorrow!

Edited by Speed

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

Posted

Mods and Apps topic:

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

 

This is my last post in here, unless someone asks a question, and if you do want to ask a question, I'd rather you ask it in the above thread than in here. But it doesn't really matter I guess...

Intelligent discourse can only begin with the honest admission of your own fallibility.

Member of the Virtual Tactical Air Group: http://vtacticalairgroup.com/

Lua scripts and mods:

MIssion Scripting Tools (Mist): http://forums.eagle.ru/showthread.php?t=98616

Slmod version 7.0 for DCS: World: http://forums.eagle.ru/showthread.php?t=80979

Now includes remote server administration tools for kicking, banning, loading missions, etc.

  • Recently Browsing   0 members

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