Jump to content

MOOSE - Mission Object Oriented Scripting Framework


Recommended Posts

Looks like Moose is not for you. Just move on.

 

Nice job expanding the community. Given your response, and the following posted on the discord thread I would expect this project is about dead.

 

NOTE: Currently it is advisable to use the development branch build of moose.lua due to the dev team not being able to create a proper release in a long while

Link to comment
Share on other sites

Nice job expanding the community. Given your response, and the following posted on the discord thread I would expect this project is about dead.

 

Well, if you do not appreciate hundreds of hours of our spare time going to docs and YT vids (or are not able to find those), my suggestion to move on (silently) still stands.

 

Lots of people can do this - even total scripting noobs, which get help on our discord. It's just a matter of "how" you ask (plus a minimum of effort from your side).

 

Your conclusion that the project is "dead" is also wrong. It's just not for people who ask impolitely.

A warrior's mission is to foster the success of others.

i7-8700K | Asus RTX 2080Ti Strix OC | 32 GB Ram 3200 MHz DDR-4 | Asus Maximus Hero X | Samung EVO 960 Pro SSD | VKB Gunfighter Pro | MFG Crosswind | Rift S

RAT - On the Range - Rescue Helo - Recovery Tanker - Warehouse - Airboss

Link to comment
Share on other sites

Well, if you do not appreciate hundreds of hours of our spare time going to docs and YT vids (or are not able to find those), my suggestion to move on (silently) still stands.

 

Lots of people can do this - even total scripting noobs, which get help on our discord. It's just a matter of "how" you ask (plus a minimum of effort from your side).

 

Your conclusion that the project is "dead" is also wrong. It's just not for people who ask impolitely.

 

I did spend a great deal of time on the interweb and even watched the tutorials on youtube for dummies posted by FlightControl that are now two years old. However, they don't work for the install. I went online to the libraries and spent even more time reading the documentation that was up to two years old on the configuration of Moose.

 

While I did take note of the 33 videos you posted and marked them for follow on after learning moose and lua, they do not address getting the application framework setup and working.

 

There is was nothing about my question that was impolite, maybe very forward and on point for a person that spent a consiterable amount of time trying to get it setup, but not impolite.

 

Your answer is lazy and typical these days.

Link to comment
Share on other sites

@Majinbot

 

Alright, I see now, thanks.

 

I haven't tried the new ME functionality yet, seems pretty useful.

 

 

 

@HawkeyeDavid

 

The main MOOSE developer left the project and dedicated members like Franky and Pikes took over... sacrificing their own free time (nobody is making any money here, and there's a colossal amount of work being done).

 

Tantrums, rants and negativity in general are neither welcome nor fair.

 

Also, if failing to install LDT + MOOSE already triggers you, I agree with Franky that MOOSE and DCS scripting in general might not be suitable for you...

 

You'll find plenty of complex problems when scripting, you'll spend most of the time figuring things out by yourself, trying to make stuff work, fixing bugs, etc., a positive, supportive and self-reliant approach is mandatory.

 

Sure, you can find assistance here, in the documentation, in the MOOSE Discord channel, etc, but those are secondary resources... the main resource must be your resolve, resourcefulness and patience.

 

 

Now, ask again politely, explain the problem and we'll go from there.

Link to comment
Share on other sites

@Majinbot

 

 

 

The main MOOSE developer left the project and dedicated members like Franky and Pikes took over... sacrificing their own free time (nobody is making any money here, and there's a colossal amount of work being done).

 

Tantrums, rants and negativity in general are neither welcome nor fair.

 

Also, if failing to install LDT + MOOSE already triggers you, I agree with Franky that MOOSE and DCS scripting in general might not be suitable for you...

 

You'll find plenty of complex problems when scripting, you'll spend most of the time figuring things out by yourself, trying to make stuff work, fixing bugs, etc., a positive, supportive and self-reliant approach is mandatory.

 

Sure, you can find assistance here, in the documentation, in the MOOSE Discord channel, etc, but those are secondary resources... the main resource must be your resolve, resourcefulness and patience.

 

 

Now, ask again politely, explain the problem and we'll go from there.

 

It is Commendable the work put in by the "keepers" in order to maintain the project "alive" but is also understandable the frustration for people trying to get into scripting.

It is understood that it will be a Self teaching process which in itself could be frustrating, add to that the scarse and dispersed learning material. BUt what makes it nearly impossible to learn is the never ending changing within DCS that makes some of the coding non working/applicable, the Source material obsolete, and whats worse, the fact that you are "learning/applying" code that WILL NOT work and you don't even know it. So, your are doomed even before you start. perhaps it would be a good Idea to delete or mark as OBSOLETE the source materials (videos, websites, posts, etc) that no longer work.

 

because it is one thing spending hours trying to script knowing that the result is directly proportional to your effort. And another is to put all the effort trying to figure out why does it not worked if check 3 times and you did everything right. only to be working with obsolete coding.

 

Worth to note that i am not in any way shape or form diminishing the work and effort of the people in charge. I am just putting my humble opinion out there

Link to comment
Share on other sites

Just now getting started and was trying to download Eclipse. I made the donation and was able to obtain the .exe download, BUT when I opened it, it had several Eclipse options (see attached pic) and I have no idea which one to choose. Or maybe I'm just in the wrong place? A little help would be appreciated!

 

 

HI,

 

were you able to install the LDT correctly? does the intellisense help works for you? I could not make it work

 

Thanks!!

Link to comment
Share on other sites

@Majinbot

 

Alright, I see now, thanks.

 

I haven't tried the new ME functionality yet, seems pretty useful.

 

 

 

@HawkeyeDavid

 

The main MOOSE developer left the project and dedicated members like Franky and Pikes took over... sacrificing their own free time (nobody is making any money here, and there's a colossal amount of work being done).

 

Tantrums, rants and negativity in general are neither welcome nor fair.

 

Also, if failing to install LDT + MOOSE already triggers you, I agree with Franky that MOOSE and DCS scripting in general might not be suitable for you...

 

You'll find plenty of complex problems when scripting, you'll spend most of the time figuring things out by yourself, trying to make stuff work, fixing bugs, etc., a positive, supportive and self-reliant approach is mandatory.

 

Sure, you can find assistance here, in the documentation, in the MOOSE Discord channel, etc, but those are secondary resources... the main resource must be your resolve, resourcefulness and patience.

 

 

Now, ask again politely, explain the problem and we'll go from there.

 

Not triggered in any way or form. I was clear and very concise in what I wrote. I was having issues getting the application installed and configured for use. After spending a great deal of time watching the tutorial online, reading the documentation from a half dozen different areas, all of which is incorrect I turned to the forum. In the very first part of my post I expressed my frustration at the failure of the documentation. What I've stated is factual, the documentation is terrible. It's that simple. I didn't write it in all capitals, I didn't write any derogatory, insulting comment like this sucks or you suck. Take it for what it is and nothing more or less.

Link to comment
Share on other sites

I design a mission. There is a problem with embark soldiers, the function from the editor does not work on humans. The question is whether it could be done using Moose. For example, that in a given zone infantry board a helicopter. Of course without using the radio menu.

 

CC_US = COMMANDCENTER:New( GROUP:FindByName( "US HQ" ), "Chief" )

 

do -- BLUE automatic detection

 

 

NATO_M1 = MISSION

:New( CC_US, "Soldier Transport","Primary","Transport pilots and soldiers", coalition.side.BLUE )

 

end

 

 

do -- NATO Transport Task Engineers

 

NATO_Transport = MISSION

:New( CC_US,

"Transport soldiers",

"Operational",

"Transport soldiers teams to strategical sites. " ..

"Deployment zones have been defined at each Patriot location.",

coalition.side.BLUE )

 

local NATO_HeloSetGroup = SET_GROUP:New():FilterPrefixes( "MEDEVAC" ):FilterStart()

 

local NATO_SetCargo = SET_CARGO:New():FilterTypes( { "Transport Soldiers" } ):FilterStart()

 

 

local SoldiersCargo1 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 1" ), "Transport Soldiers", "Team Alfa", 300 )

--local SoldiersCargo2 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 2" ), "Transport Soldiers", "Team Beta", 300 )

--local SoldiersCargo3 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 3" ), "Transport Soldiers", "Team Gamma", 300 )

--local SoldiersCargo4 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 4" ), "Transport Soldiers", "Team Delta", 300 )

-- local SoldiersCargo5 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 5" ), "Transport Soldiers", "Team Epsilon", 500 )

-- local SoldiersCargo6 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 6" ), "Transport Soldiers", "Team Dzeta", 500 )

-- local SoldiersCargo7 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 7" ), "Transport Soldiers", "Team Eta", 500 )

-- local SoldiersCargo8 = CARGO_GROUP:New( GROUP:FindByName( "Transport infantry 8" ), "Transport Soldiers", "Team Theta", 500 )

 

 

 

local CargoTransportTask = TASK_CARGO_TRANSPORT:New( NATO_Transport, NATO_HeloSetGroup, "Transport soldiers", NATO_SetCargo )

 

 

-- local DeplyoPlace1 = GROUP:FindByName( "SA-15 2" ):SetAIOff()

-- local DeplyoPlace2 = GROUP:FindByName( "SA-15 1" ):SetAIOff()

-- local DeplyoPlace3 = GROUP:FindByName( "Hawk 1" ):SetAIOff()

-- local DeplyoPlace4 = GROUP:FindByName( "Hawk 2" ):SetAIOff()

local DeplyoPlace1 = GROUP:FindByName( "Deploy team alfa" )

--local DeplyoPlace2 = GROUP:FindByName( "Deploy team beta" )

--local DeplyoPlace3 = GROUP:FindByName( "Deploy team gamma" )

--local DeplyoPlace4 = GROUP:FindByName( "Deploy team delta" )

-- local DeplyoPlace5 = GROUP:FindByName( "Speedboat epsilon" )

-- local DeplyoPlace6 = GROUP:FindByName( "Speedboat dzeta" )

-- local DeplyoPlace7 = GROUP:FindByName( "Speedboat eta" )

-- local DeplyoPlace8 = GROUP:FindByName( "Speedboat theta" )

-------------------------------------------Zone-------------------

 

local Zone_DeployPlace1 = ZONE_GROUP:New( "Deploy Team Alfa", DeplyoPlace1, 500 )

--local Zone_DeployPlace2 = ZONE_GROUP:New( "Deploy Team Beta", DeplyoPlace2, 500 )

--local Zone_DeployPlace3 = ZONE_GROUP:New( "Deploy Team Gamma", DeplyoPlace3, 500 )

--local Zone_DeployPlace4 = ZONE_GROUP:New( "Deploy Team Delta", DeplyoPlace4, 500 )

-- local Zone_DeployPlace5 = ZONE_GROUP:New( "Deploy Patriots Team Epsilon", DeplyoPlace5, 500 )

-- local Zone_DeployPlace6 = ZONE_GROUP:New( "Deploy Patriots Team Dzeta", DeplyoPlace6, 500 )

-- local Zone_DeployPlace7 = ZONE_GROUP:New( "Deploy Patriots Team Eta", DeplyoPlace7, 500 )

-- local Zone_DeployPlace8 = ZONE_GROUP:New( "Deploy Patriots Team Theta", DeplyoPlace8, 500 )

 

CargoTransportTask:AddDeployZone( Zone_DeployPlace1 )

--CargoTransportTask:AddDeployZone( Zone_DeployPlace2 )

--CargoTransportTask:AddDeployZone( Zone_DeployPlace3 )

--CargoTransportTask:AddDeployZone( Zone_DeployPlace4 )

-- CargoTransportTask:AddDeployZone( Zone_DeployPlace5 )

-- CargoTransportTask:AddDeployZone( Zone_DeployPlace6 )

-- CargoTransportTask:AddDeployZone( Zone_DeployPlace7 )

-- CargoTransportTask:AddDeployZone( Zone_DeployPlace8 )

 

 

--- OnAfter Transition Handler for Event CargoDeployed.

-- This event will handle after deployment the activation of the soldiers.

-- @function [parent=#TASK_CARGO_TRANSPORT] OnAfterCargoDeployed

-- @param Tasking.Task_CARGO#TASK_CARGO_TRANSPORT self

-- @param #string From The From State string.

-- @param #string Event The Event string.

-- @param #string To The To State string.

-- @param Wrapper.Unit#UNIT TaskUnit The Unit (Client) that Deployed the cargo. You can use this to retrieve the PlayerName etc.

-- @param Core.Cargo#CARGO Cargo The Cargo that got PickedUp by the TaskUnit. You can use this to check Cargo Status.

-- @param Core.Zone#ZONE DeployZone The zone where the Cargo got Deployed or UnBoarded.

function CargoTransportTask:OnAfterCargoDeployed( From, Event, To, TaskUnit, Cargo, DeployZone )

self:E( { From, Event, To, TaskUnit, Cargo, DeployZone } )

 

local DeployZoneName = DeployZone:GetName()

local CargoName = Cargo:GetName()

 

 

CC_US:MessageToCoalition(

string.format( "Infrantry %s ist successfully transported.",

CargoName,

DeployZoneName

)

)

 

-- if DeployZoneName == Zone_DeployPlace1:GetName() then

-- if DeplyoPlace1 and not DeplyoPlace1:IsAlive() then

-- DeplyoPlace1:SetAIOn()

-- trigger.action.outText("SA-15 1 is working!",15)

-- end

-- end

--

-- if DeployZoneName == Zone_DeployPlace2:GetName() then

-- if DeplyoPlace2 and not DeplyoPlace2:IsAlive() then

-- DeplyoPlace2:SetAIOn()

-- trigger.action.outText("SA-15 2 is working!",15)

-- end

-- end

--

-- if DeployZoneName == Zone_DeployPlace3:GetName() then

-- if DeplyoPlace3 and not DeplyoPlace3:IsAlive() then

-- DeplyoPlace3:SetAIOn()

-- trigger.action.outText("HAWK 1 is working!",15)

-- end

-- end

--

-- if DeployZoneName == Zone_DeployPlace4:GetName() then

-- if DeplyoPlace4 and not DeplyoPlace4:IsAlive() then

-- DeplyoPlace4:SetAIOn()

-- trigger.action.outText("HAWK 2 is working!",15)

-- end

-- end

 

-- if DeployZoneName == Zone_DeployPlace1:GetName() then

-- if SoldiersCargo1 and SoldiersCargo1:IsAlive() then

-- SoldiersCargo1:FlareGreen()

-- end

-- end

 

if self:IsAllCargoTransported() then

self:Success()

NATO_Transport:Complete()

end

end

 

end

 

There is a working function but it requires placing additional units.

How to simplify it because we will not be able to fix the "Embark" function.

Specialization A-10C

https://vbw304.pl/

Link to comment
Share on other sites

Install Eclipse LDT on your Windows 64 bit system. This is a free lua editor based on the Eclipse ecosystem. The advantage of LDT is that it greatly enhances your lua development environment with intellisense, better search capabilities etc. You may have to install java first. Ensure you install the 64-bit versions of both Eclipse LDT and java!

Install GITHUB desktop. We use GITHUB desktop to sync the moose repository to your system.

Link the MOOSE repository on GITHUB to your freshly installed GITHUB desktop. Do this by browing to the MOOSE repository at GITHUB, and select the green button Clone or Download -> Open in Desktop.

Specify a local directory on your PC where you want to store the MOOSE repository contents.

Sync the MOOSE repository to a defined local MOOSE directory on your PC using GITHUB desktop (press the sync button).

On your local MOOOSE directory, execute the batch file DCS_Folder_Sync.bat. This will sync the dcs folder in the MOOSE repository from the submodule DCS API.

As a result, you have installed the MOOSE repository on your PC, and it is fully synced.

 

DCS_Folder_Sync.bat is not in the Moose Directory.

 

 

You copy-pasted the "Installation of tools and sync the MOOSE repository" from here , that's not explaining anything.

 

That Github documentation is old and probably obsolete (at least partially), given the myriad of changes that have been made over the years.

 

It was written by FC over two years ago, and I think he's the only one who has permissions to edit it... like I said, he left, so I doubt it'll be updated.

 

A lot of the stuff written on Github you can disregard, follow the

instead (2, 3 and 4, specifically, which I'm guessing you missed)

 

Those steps have always worked for me, to this day.

 

 

BUt what makes it nearly impossible to learn is the never ending changing within DCS that makes some of the coding non working/applicable, the Source material obsolete, and whats worse, the fact that you are "learning/applying" code that WILL NOT work and you don't even know it. So, your are doomed even before you start.

 

Remember the positive mindset that I mentioned in my previous post? Looks like you need some of that too.

 

You're focusing on the negative, blowing it out of proportion, letting it bring you down, don't do that.

 

I learned MOOSE in a matter of weeks/months, without previous coding experience, using the same resources that are available today, so no, it's not impossible by any stretch.

 

Sure, ED sometimes makes changes that affect scripting frameworks like MOOSE, it's unfortunate but that's how things move forward, expand and evolve.

In any case, that doesn't happen nearly as often and it isn't nearly as severe as you're implying, so if that's what's stopping you, don't let it.

 

 

Besides, you can trust that 99% of the methods that you will find in the MOOSE documentation work as intended, regardless.

 

Anyway, bugs, snippets of obsolete/invalid code, etc. can teach you more about scripting than working code, since they force you to find solutions and alternative methods that you wouldn't learn otherwise.

I know I've learned plenty of "hidden" stuff thanks to this, so I recommend that you embrace bugs, errors, etc. instead of fearing them.

 

This isn't Middle Earth, Sauron/Melkor aren't around, there's no ring, nobody is doomed.


Edited by Hardcard
Link to comment
Share on other sites

A bit late to this, but my advice would be not to use LDT if you are starting out and ignore all the LDT setup videos that FlightControl insisted "Developer-contributors" should have. Just download the dev moose.lua from the static link that i'm forever linking to people and use Notepad++ to make a script, go download sample missions and bookmark the docs and read them. That is it, anything else for a beginner is going to be a big turnoff. And I sympathise with people finding starting to script frustrating! It nearly made me commit some violence on inanimate objects!

 

I think the issue with starting out is that Flight Control had a view of creating a team of people that were all of his standard of ability, so they could support growing Moose and creating other classes. It happened but to less of an extent than he hoped. I think to date there's only been 23/24 people with commits to moose.lua and realistically only Frank is making cool shit (and still making it, watch this space)

 

The problem folks get is they land on moose and there doesn't seem to be a consistent single entry point. If it were me, I'd enforce an entry point as a single web page to moose with a number of very important single FAQ's, the required links for basic learning and some pointers. It's just too complex the way FC tried to get people into Moose as fully fledged devs. Anyone with prior experience will already be asking the right advanced questions, anyone with no prior experience is left stranded. I still remember what it was like and I argued like hell with Sven over it, but he just produced more videos or blamed Githubs inflexibility or other things.

 

So I sympathise. But.... Moose is 100% alive and kicking and still growing. It's so ingrained in my workflow I have cold sweats imagining a world without it. And, we are super record breaking fast at fixing core issues. During the 2.5.6 Airfield bug from ED we were done in a few hours after ED released it, with a workaround, and reverted that whilst adding in the new airfields to Normandy when fixed, and so fast in fact Frank was telling me to just leave it until ED fixed it, but I pointed out, that we were faster and more agile than ED and we could indeed soften the effects of those ID changes.

 

So if anyone else here wants to say this project is in anyway "words to the effect" of "dead" they can enjoy a large amount of "nope" from me, it's functioning awesomely, it's got way less bugs than DCS and the imperfections it does have are often caused by DCS bugs and workarounds in any respect. We have newcomers to scripting every day to Discord and the amount of people who now have access to scripting for DCS across the community have so greatly increased in the last few years, it's quite astonishing to see so many people cut their teeth on writing code and perhaps enlightening themselves with something challenging, that it warms my heart to think that not everyone in the world is selfish or stupid and there are so many tenacious people out there who want to excel themselves.

But I'm sorry if you find starting out frustrating. It's not easy. Putting scripting into the hands of everyone came with a lot of pain. Especially copy and paste genius' that unravel when you ask them where the DCS log is. That, is the side effect frpm this success and I'm begining to avoid the low quality questions now that are solved with a little bit of effort or reading one's logs.


Edited by Pikey

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

@Pikey

 

Well-said and tactfully done. I started with learning moose 2 years ago and walked away frustrated due to ZERO coding experience and loads of frustrating issues. Forgot about it completely until I came across a mention of Airboss and I resolved to learn it if only out of spite. LOL. I fumbled thru LDT setup and by making mistakes and asking tons of seemingly dumb questions on discord, the dim bulb slowly brightened. Mostly due to the helpful folks over on discord. I've really not gotten much here in the forums and it takes much longer to get a response. Discord was the place to go for help.

 

I'm a moose fan now and hope to continue to see it grow and give back to the group that's been so patient with me. Y'all know who.you are. LOL

 

Markeebo

 

Sent from my SM-G975U1 using Tapatalk

Link to comment
Share on other sites

@Pikey

 

Well-said and tactfully done. I started with learning moose 2 years ago and walked away frustrated due to ZERO coding experience and loads of frustrating issues. Forgot about it completely until I came across a mention of Airboss and I resolved to learn it if only out of spite. LOL. I fumbled thru LDT setup and by making mistakes and asking tons of seemingly dumb questions on discord, the dim bulb slowly brightened. Mostly due to the helpful folks over on discord. I've really not gotten much here in the forums and it takes much longer to get a response. Discord was the place to go for help.

 

I'm a moose fan now and hope to continue to see it grow and give back to the group that's been so patient with me. Y'all know who.you are. LOL

 

Markeebo

 

Sent from my SM-G975U1 using Tapatalk

This is the ultimate 'together' thing, teach ourselves to script together is quite a thing. I came from... ermm, a bit of Autoit scripting and batch files at work, lol. Like most hard to achieve things, it's takes a lot of effort. I spend less than 1% of my time helping the forum and mostly on Discord when it comes to MOOSE, I don't think forums really work as it's so iterative and interactive learning scripting. With Discord people engage in realtime. We haven't encouraged it, but in the last year, we've had a huge surge in general scripting and mission design queries. It's far from optimal but it beats forum threads that go on for weeks. :D

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

Just download the dev moose.lua from the static link that i'm forever linking to people and use Notepad++ to make a script, go download sample missions and bookmark the docs and read them. That is it, anything else for a beginner is going to be a big turnoff.

 

Intellisense was essential for me to learn MOOSE as quickly as I did, I wouldn't have been able to understand Lua / MOOSE nearly as fast without the automatic method suggestions, syntax / structure checks, etc.

 

Notepad++ offers no assistance whatsoever, it lets newbies use invalid syntax and structures without warning them in any way, resulting in invalid scripts that will keep erroring due to the simplest mistakes...

 

That's much more of a turnoff than having to install and set up LDT, which takes 10 minutes.

 

 

The problem folks get is they land on moose and there doesn't seem to be a consistent single entry point. If it were me, I'd enforce an entry point as a single web page to moose with a number of very important single FAQ's, the required links for basic learning and some pointers.

 

I agree 1000%.

 

Since Sven is no longer around, can't we just create a new MOOSE thread that all MOOSE devs have control over?

 

For instance, create a joint MOOSE account here, so all MOOSE devs will be able to update any threads created under it as required, and pass on the torch to new devs in the future.

 

This new thread would contain essential links (Hoggit Wiki, MOOSE documentation, setup videos, Discord) and FAQs, no more links to obsolete Github documentation, obsolete MOOSE versions, etc.

Link to comment
Share on other sites

A new Moose thread is a good suggestion IMO. Re LDT, I began trying to learn Moose scripting with ZERO coding experience and now consider myself a mid-level Moose script user, certainly not a developer. LDT was bit of a pain to install correctly, but I agree with Hardcard that the effort and frustration was worth it in the end. Opposite views are certainly valid.

 

 

My experience in the Moose "community" has been nothing but positive. Pikey, Frank, Hardcard and the other Moose experts who have stepped in, not only to keep Moose relevant, but to build and expand its capabilities merit high praise. All anyone has to do is politely request assistance on the Discord channel and someone jumps in to help, usually within a few minutes. A toast to FC. We miss him and wish him well.

Link to comment
Share on other sites

So, I took time to respond to this as I found it interesting and whilst I agree that LDT is extremely helpful I wanted to add a different point of view that I've seen. This is also about balancing different requirements and objectives from the many different ways people view DCS mission creation. It's not about trying to correct and force my opinions over your valid experiences, though, it's about highlighting one of the key pitfalls that is so easily overlooked when one starts to gain more knowledge and experience. So please take the excited tone as passionate intellectual conversation on how others might view LDT rather than an obnoxious disagreement on your success! :) :)

 

Intellisense was essential for me to learn MOOSE as quickly as I did, I wouldn't have been able to understand Lua / MOOSE nearly as fast without the automatic method suggestions, syntax / structure checks, etc.

 

Notepad++ offers no assistance whatsoever, it lets newbies use invalid syntax and structures without warning them in any way, resulting in invalid scripts that will keep erroring due to the simplest mistakes...

 

That's much more of a turnoff than having to install and set up LDT, which takes 10 minutes.

 

I believe this is the same position from which Sven setup the entry to MOOSE, that people want to go deep, learn how to write Lua eventually, or contribute to code updates and generally go into writing their own scripts from scratch. And I think it misses the larger audience and the people that need more help.

 

A huge amount of people that i listened to, when coming to MOOSE, wanted to use it for very basic respawning, not learn Lua or even fully learn MOOSE. It's a critical failing of the introduction to scripting that they have to jump through so many hoops that are not absolutely required for what they need. In fact (I can't find it now) the GH landing page had three paths: Moose for Contributors, Moose for Developers and Moose for Users, each with a setup path. No one seems to read that and I can't find it so that has to be why! For some reason, people skipped that and went straight into setting up a development environment when they want to do something very basic, usually via the YT channel since that's the most popular medium for instruction.

 

I think what I'm trying to achieve here is championing the dumbasses like myself. If I can do it, anyone can, sort of thing. It's the feeling that, when you meet MOOSE, you assumes everyone is a developer, they know more than you, they went to University and studied computing languages for three years and know all this already. But actually, Moose is for the common man, and that includes... you and you and you.

 

I've seen folks plodding for hours through the LDT setups, getting hung up on LDT errors and getting frustrated and I ask them, "What are you trying to achieve" and many of them have said, 'I am following the videos', and after the 3rd 'why', they say, "I don't know, I just want to respawn a tank". And my heart just sinks.

 

Isn't the primary focus of MOOSE about simplification? Enabling people that haven't a clue about scripting, to bypass the option of using confusing Lua and the SSE, and writing out tables by hand to get a simple few lines of copy and paste? SPAWN:New('tank'):Spawn() Copy and pasting examples is MOOSE's biggest strength, with the mission repsitory, I think anyway. Moose is being consumed by people with less and less care for doing anything complex or time consuming, I'm not saying people are becoming more stupid or trying less than last year, I'm saying that the success of MOOSE has brought people who wouldnt normally have ever thought of trying it, are not developers and not investing the time or effort or bringing any experience, and that success should be anticipated and catered for, because I love that MOOSE reached this far.

 

This is where the majority of newcomers fall over, they look at some of these videos, and after 45minutes they just say, 'screw this, all I want to do is respawn the tanker'! If they actually got over that hurdle, saw some cool spawns, loaded RAT or whatever with minimum effort, they'd be inclined to keep going and maybe invest in setting up LDT properly because they were in positive balance of effort:reward. Or, they can choose not to, because, that's OK too!

 

I'm not saying exclude LDT from your life, don't set it up, or it is worthless, far from it. What I'm saying is that a lot of the times, people don't know they don't need it for what they want to achieve. From my point of view, I didnt set out to learn how to write scripts in Lua, that part came whilst I wasn't watching. What I wanted to do was use MOOSE to make better missions. All it took was the bare minimum and reading through the Spawn docs a few times and trying each thing out and seeing what it did (and dynamic loading, but that is another story).

 

I think Sven failed to anticipate that, from his almighty altitude of knowledge, of how little people give a damn about all that and the majority (that's an assumption) want "take-away scripting". Maybe it's my age or maybe my personal experience or maybe it's my professional Customer Service skills kicking in, or maybe it's because I loved serving beer when I was young, I dunno, I just think the ball was dropped badly from the outset and years later we are reeling from missed opportunites to get more people consuming Moose-burger fast food, and understand that many people just wanted simple, OKplzKthnxBai! :)

 

Side point, NPP does Lua syntax ok enough for your early hello world stuff, I use it for reading scripts all the time, but even LDT with no config does syntax well with error checking, and I write on it but without intellisense. Thats a 5 min install. Asking myself after two years as an amateur hack in Lua: "What tools do I need, which ones save me the most time?"

 

1. A log parser (because you cannot guess errors and you have to help yourself correct mistakes as near to realtime as possible)

2. Dynamic loading of scripts (largest time saver ever, no miz restart)

3. Syntax checking (saves general typos which are saving reloads, but see above)

4. Good workflow, bookmarks, reading the docs, knowing where things are (everyone wants knowledge and experiences injected directly these days)

5. Intellisense (formatting, syntax, arguments, basically inline documentation rather than offline documentation)

 

Some time back, when I didn't know where things were, 4 and 5 were reversed, but I couldnt give up my accumulated knowledge for Intellisense, because relying on LDT appears to be a risky proposition with the way it seems to work. I don't use any of it's advanced features, it's bloated, breaks, not user-friendly and the cause of many cries for help. But more importantly, most importantly, it's way in excess of what is needed for someone to write a few lines right at the start. Sure, go ahead once you wrote a few things and had some success, but let's leave the specific pain of LDT out of the general uptake of Moose/scripting Lua right at the start, because that's the meet and greet no one wants.

 

If people want to progress beyond "Hello World" or SPAWN:New('tank'):Spawn() and then on to either become "handy with Lua" or "Handy with MOOSE", the door is then open and they can put more into the 'effort basket' to get more back. I just think the logical order for learning is to firstly have that instant gratification buzz, the quick win with dopamine shot, and then have the choice to dive deeper and do more. People don't know any better when they come along to be honest, they just follow videos because Sven said so.

 

The simple thing is; many fall right at the start, I've watched the rants, felt the pain and this was always my last ditch advice as they turned their backs. LDT config is the second most painful support issue after the link to static moose.lua being hidden behind the out of date live branch.

 

Of course, people have different use cases. The ones looking for more, often have the experience to skip ahead and ask the right questions. "Normal" folks that want some basic few lines should not be given the LDT nightmare, and I feel quite strongly about that! :)

 

Having said that, I've only provided anecdotal experiences. We don't have an "Exit poll" for Moose or DCS scripting. We won't hear from many of the people that gave up fast again, I think we missed an opportunity, if not to create more scripters for DCS, just to reduce their pain and anguish a bit.

 

(side note, what am I doing about that? Mainly picking up the pieces, cheering folks on, taking as many basic questions as my patience will allow, and every three months asking the same questions on how to refine the mission demos and make the entry point easier and meeting with silence, because let's face it, unravelling Sven's work is as hard as putting it together, it's kind of institutionalised to such an extent that a normal human just thinks, 'screw this, the world will gain more by just daily maintenance than rewriting the book'.)

 

Hope that made sense, if you can see something in this and have any good ideas, there's always time to talk about it on Discord :)

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

I like Hardcards idea of creating a new thread for Moose with a generic account so Moose Devs can get in and Change the OP when needed. Also we might have enough control of github to make changes to startup type docs etc. We need someone to step up and put it together though. Nobody likes to write docs!!!

Link to comment
Share on other sites

@Pikey

 

I get your point.

 

Yes, many people simply want code snippets to do specific stuff (I've actually received some requests of this kind via PM), they're not interested in writing their own scripts, so Notepad++ is enough.

 

You didn't say anything about the shared account + new MOOSE thread suggestion, though.

 

What do you think?

 

 

Guys, we can talk about it on the Discord MOOSE contributor channel, if you want.

 

The new MOOSE thread could offer those 3 paths Pikey mentioned, with updated links and documentation:

 

- Casual users who only want snippets

- Users who want to learn MOOSE / Lua

- Developers

Link to comment
Share on other sites

What is the best way to determine if certain .lua files are working or not? I've successfully used MOOSE on past missions but I am not getting the expected result on the SEAD evasion.lua

 

 

It could be me, I am not a strong coder but most of this I can figure out by looking at snippets. I'm seeing reference to obsolete code here which makes me wonder whether its me or the code.

Link to comment
Share on other sites

@marginal

 

The SEAD evasion code was broken, other members and myself contributed to a fix last year.

 

Could very well be that changes introduced by DCS 2.5.6 broke it again.

I'll run some tests, see if I can come up with a fix.

 

To answer your question, it's all about tracing and monitoring dcs.log for errors.

 

 

UPDATE: I've run a test mission and looks like everything is working as intended. Provide the mission file and script that you're using, the problem is probably there.


Edited by Hardcard
Link to comment
Share on other sites

@marginal

 

I see that your mission is based on an old MOOSE demo mission.

 

Old MOOSE demo missions use an old version of MOOSE, where SAM evasion code is broken, that's the cause of your problem.

 

Make sure that you're using updated MOOSE demo missions for your tests. Updated versions can be downloaded here

 

Alternatively, you can download a more recent version of Moose.lua here


Edited by Hardcard
Link to comment
Share on other sites

Folks I've asked the forum mods about solutions for the thread and then we can go with whatever works for them. I'm not sure they'd like a shared account, but it should be feasible to merge this under a new post, something like that, if I'm guessing right.

 

 

Following that, it's very important we get a greenlight for merging Dev to live branch, then the relevant new thread can highlight this, with correct links and we can nail both our biggest support painpoints in one go. (people using 2018 moose and people being unable to find the right branch and up to date docs etc etc) Should fix a lot of sad people trying to start using a scripting framework to do simple things.

___________________________________________________________________________

SIMPLE SCENERY SAVING * SIMPLE GROUP SAVING * SIMPLE STATIC SAVING *

Link to comment
Share on other sites

  • Recently Browsing   0 members

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