From 92e03522db5ffa0933a6376d2aced762c5fb26b6 Mon Sep 17 00:00:00 2001 From: kaltokri Date: Mon, 18 Dec 2023 16:21:32 +0100 Subject: [PATCH] Finished beginner section --- docs/beginner/ask-for-help.md | 77 ++++++++++++++++++ docs/beginner/demo-missions.md | 49 ++++++++++- docs/beginner/hello-world-build.md | 13 ++- docs/beginner/problems.md | 46 +++++++++++ docs/beginner/tipps-and-tricks.md | 4 +- docs/images/beginner/discord-fomat-logs.png | Bin 0 -> 3707 bytes .../beginner/discord-multi-line-code.png | Bin 0 -> 7504 bytes .../beginner/discord-single-line-code.png | Bin 0 -> 3348 bytes 8 files changed, 183 insertions(+), 6 deletions(-) create mode 100644 docs/beginner/ask-for-help.md create mode 100644 docs/beginner/problems.md create mode 100644 docs/images/beginner/discord-fomat-logs.png create mode 100644 docs/images/beginner/discord-multi-line-code.png create mode 100644 docs/images/beginner/discord-single-line-code.png diff --git a/docs/beginner/ask-for-help.md b/docs/beginner/ask-for-help.md new file mode 100644 index 000000000..bf8a9c8f6 --- /dev/null +++ b/docs/beginner/ask-for-help.md @@ -0,0 +1,77 @@ +--- +parent: Beginner +nav_order: 06 +--- +# How to ask for help +{: .no_toc } + +1. Table of contents +{:toc} + +After you have tried to solve the problem on your own, you can also get help +from the community. + +{: .highlight } +> But it is important to follow certain rules! Read them below. + +## Communities + +There are two ways to communicate with the community. +The fastest way is to use Discord: + +- {:target="_blank"} + +But if you don't like Discord, you are able to post in the DCS forum. +Check out the MOOSE thread here: + +- + +## How to post requests + +MOOSE is a community project and support is community based. + +Please remember when posting a question: + +- Before posting anything follow the [troubleshooting steps]. +- **Read your logs**. + +A post should contain the following: + +1. A describtion what you expected to happen and what actually happened. + - Do not use vague words this stuff is hard to help with! Be specific. + +2. Describe what happens instead. + - The less detail you offer, the less chance you can be helped. + - Don’t say it doesn’t work. Or is it broken. Say what it actually does. + +3. Post your code in Discord as formatted code: + + - Wrap a single line of code in backticks \` like this: + + ![discord-single-line-code.png](../images/beginner/discord-single-line-code.png) + + - Multiple lines of code should be posted like this: + + ![discord-multi-line-code.png](../images/beginner/discord-multi-line-code.png) + +- Post your log lines with the error or warning messages. Format them like this: + + ![discord-fomat-logs.png](../images/beginner/discord-fomat-logs.png) + +- Some complex problems need the mission (.miz file) also. + + - But post your mission only when requested. + - Try to simplify your mission if it is complex! + +There are people in the Discord and in the forum, who spend their free time to +help you.
+It is your responsibility to make their "work" as easy as possible. + +Welcome to MOOSE and good luck! + +## Next step + +Last but not least some [tipps and tricks]. + +[troubleshooting steps]: problems.md +[tipps and tricks]: tipps-and-tricks.md diff --git a/docs/beginner/demo-missions.md b/docs/beginner/demo-missions.md index 073ae42fd..b5e3eea1b 100644 --- a/docs/beginner/demo-missions.md +++ b/docs/beginner/demo-missions.md @@ -9,5 +9,50 @@ nav_order: 04 1. Table of contents {:toc} -{: .warning } -> THIS DOCUMENT IS STILL WORK IN PROGRESS! +The best way to get compftable with a Moose class is to try the demo missions of +the class you want to learn. The Moose team created a lot of demo missions for +most of the classes. + +## Download demo missions + +Go to the repository [MOOSE_MISSIONS]{:target="_blank"}, search the folder of +the class, download the mission (`.miz`) and rum them. + +## Read the mission script + +In the same folder a `.lua` file with the same name is placed which is the +included mission script. You can watch these mission scripts easily online at +GitHub to understand what is happening in the mission. + +## Read documentation + +Next step is to read the [documentation]{:target="_blank"} of the class to +understand the code of the demo mission. + +{: .note } +> The documentation is quite long and might be confusing for beginners. +> Start by looking at the description at the top of the documentation of a +> class. It often contains examples and explanations.

+> Then search for the function names and look at the description of the +> functions and its parameters. + +## Make small changes to the script + +Download the `.lua` file, change the parameters to suit your needs in +[Notepad++]{:target="_blank"}, add it to the mission and rerun the mission. +Observe what happens and adapt the code. + +If you want to use more functions combine them all up. + +{: .note } +> But it is wise to do this in small steps. So it is easier to find errors. + +## Next step + +If the mission shows not the expected behaviour take a look at section +[problems]. + +[MOOSE_MISSIONS]: https://github.com/FlightControl-Master/MOOSE_MISSIONS/tree/develop +[documentation]: https://flightcontrol-master.github.io/MOOSE_DOCS_DEVELOP/Documentation/index.html +[Notepad++]: https://notepad-plus-plus.org/downloads/ +[problems]: problems.md diff --git a/docs/beginner/hello-world-build.md b/docs/beginner/hello-world-build.md index 1f7509abd..5227a295d 100644 --- a/docs/beginner/hello-world-build.md +++ b/docs/beginner/hello-world-build.md @@ -144,9 +144,16 @@ have create everything on your own. - Change the text a little bit, like `Hello Dude! ...` and save the file. - Run the mission again. - The text will not be changed in the mission. Why? - The mission editor copies the script into the mission file when you add it. - Ever change on the script file on your hard disk is not recognized by mission editor. - You have to add the file after each change again. + +{: .important } +The mission editor copies the script into the mission file when you add it. +Every change on the script file on your hard disk is not recognized by mission +editor. **You have to add the file after each change again!** + +There is also another method available to dynamically load mission scripts. +But this method has some brawbacks and will be explained in the advanced section. + +Now we add the mission script again: - On the left side of the `TRIGGERS` dialog click on `Load Mission Script`. - On the right side under `ACTIONS` you need to add the script again: diff --git a/docs/beginner/problems.md b/docs/beginner/problems.md new file mode 100644 index 000000000..ebc71077a --- /dev/null +++ b/docs/beginner/problems.md @@ -0,0 +1,46 @@ +--- +parent: Beginner +nav_order: 05 +--- + +# Problems +{: .no_toc } + +1. Table of contents +{:toc} + +## Something went wrong + +If the mission shows not the expected behaviour do the following steps: + +1. Double check if you added the changed mission script to the mission again! +1. Check if the triggers are configured as requested in the last sections. + +## Read the logs + +The DCS log is a super important and useful log for the entire of DCS World. +All scripting and other errors are recorded here. It is the one stop shop for +things that occurred in your mission. It will tell you if there was a mistake. + +1. Open the file `dcs.log` in the `Logs` subfolder in your DCS + [Saved Games folder]. + +1. Search for the following line: `*** MOOSE INCLUDE END ***` + - If it is included in the log, Moose was loaded. + - If the line is not in the log check the triggers again! + +1. Search for lines with `SCRIPTING` and `WARNING` or `ERROR` and read them. + - This might help to find your error. + + {: .note } + > You will find a lot of warning and error lines in the log which are not + > related to `SCRIPTING`. They are related to stuff from Eagle Dynamics or + > Third Parties and you have to ignore them. EA does the same. ;o) + +## Next step + +If you don't find the error and/or don't understand the messages in the log file +you can [ask for help]. + +[Saved Games folder]: tipps-and-tricks.md#find-the-saved-games-folder +[ask for help]: ask-for-help.md diff --git a/docs/beginner/tipps-and-tricks.md b/docs/beginner/tipps-and-tricks.md index 3ea1bd781..f97615318 100644 --- a/docs/beginner/tipps-and-tricks.md +++ b/docs/beginner/tipps-and-tricks.md @@ -33,7 +33,9 @@ This folder can be found in your userprofile as subfolder of `Saved Games`. The easiest way to find it, is to open search and paste the text below into it and press Enter: -```%userprofile%\Saved Games``` +``` +%userprofile%\Saved Games +``` {: .note } > The text will work even if your Windows is installed with another language, diff --git a/docs/images/beginner/discord-fomat-logs.png b/docs/images/beginner/discord-fomat-logs.png new file mode 100644 index 0000000000000000000000000000000000000000..a78cecce32599f9709776ccb16bb65994a502244 GIT binary patch literal 3707 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 LF)1^;7xg~?o4y`h literal 0 HcmV?d00001 diff --git a/docs/images/beginner/discord-single-line-code.png b/docs/images/beginner/discord-single-line-code.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1e7dafd246d268c3c6180354ab9fc7588b0248 GIT binary patch literal 3348 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 WI$N$HGUY!Rg&TH`w$v+L(f literal 0 HcmV?d00001