=SqSq=Civilprotection Posted December 22, 2020 Posted December 22, 2020 2 hours ago, IRRE_Genius said: Very Nice Works ! - which condition was use to capture or loose a zone ? - Wath is the impact on the SPS / tick delay ? Thanks Currently, ownership of a hex is tied to a flag which can be owned by either Germany or Russia. However, the ownership or capture condition can be anything the mission maker wants. In the above demo, I used a behavior MCU to force the flags back and forth between German and Russian ownership. The impact on the SPS / tick delay is zero-- at least from what I have tested. Now it is not perfect, and I have had to make some compromises. In a future post I will go over things such as: What is good about that, what is bad, where to use them, how they are constructed, etc. For now, they have a minimal impact on the server and/or the client while the mission is running. 1
=SqSq=Civilprotection Posted December 28, 2020 Posted December 28, 2020 So I am almost ready to release the moving frontline system to the community. But before I do, I need to explain one or two of the basic systems that go into each individual hex. In this post I will talk about the basic logic that resides within every wall of every hex. So I'm sure you are all aware that to have a continuous frontline, a mission maker must link several icon MCUs all in the same direction. Similarly, for circles and hexagons, all of the frontlines must be linked consistently-- either clockwise or counterclockwise. However, when we start to place hexes next to one another, there starts to be an issue of direction. At every border between hexes, the arrows are pointed in counter directions. So, what is needed is a more adaptable wall. This^ is basically that more flexible wall. It is essentially a really thin diamond. the top and bottom icon MCUs are anchor points, and are always active. The two middle icon MCUs dictate the direction of the line. When the left icon is activated and the right icon is deactivated, then the line direction will be up. When the right icon is activated and the left icon is activated then the line direction will be down. And just as importantly, when both of the icons are deactivated, then no line is drawn at all. This covers the four ownership possibilities needed for the whole system to work. Team A is on the left and team B is on the right => up arrow, Team A is on the right and team team B is on the left => down arrow, team A is on the left and right => no arrow, and team B is on the left and right => no arrow. Not super hard stuff right. and of course, each wall of the hex must have this dynamic wall system. Now that you have seen the easy example, let us compare it to a wall from the actual module. *note that the anchor points are out of the frame I am hoping to have the hex fully released before the new year with usage instructions and everything. I just want to repeat that I am looking for testers to help me in multiplayer, so if anyone has the time and the inclination... I hope the above^ was an interesting read. Until next time, Cheers! 2 2
IRRE_Genius Posted December 28, 2020 Posted December 28, 2020 I can try to test 10 hours ago, =SqSq=Civilprotection said: So I am almost ready to release the moving frontline system to the community. But before I do, I need to explain one or two of the basic systems that go into each individual hex. In this post I will talk about the basic logic that resides within every wall of every hex. So I'm sure you are all aware that to have a continuous frontline, a mission maker must link several icon MCUs all in the same direction. Similarly, for circles and hexagons, all of the frontlines must be linked consistently-- either clockwise or counterclockwise. However, when we start to place hexes next to one another, there starts to be an issue of direction. At every border between hexes, the arrows are pointed in counter directions. So, what is needed is a more adaptable wall. This^ is basically that more flexible wall. It is essentially a really thin diamond. the top and bottom icon MCUs are anchor points, and are always active. The two middle icon MCUs dictate the direction of the line. When the left icon is activated and the right icon is deactivated, then the line direction will be up. When the right icon is activated and the left icon is activated then the line direction will be down. And just as importantly, when both of the icons are deactivated, then no line is drawn at all. This covers the four ownership possibilities needed for the whole system to work. Team A is on the left and team B is on the right => up arrow, Team A is on the right and team team B is on the left => down arrow, team A is on the left and right => no arrow, and team B is on the left and right => no arrow. Not super hard stuff right. and of course, each wall of the hex must have this dynamic wall system. Now that you have seen the easy example, let us compare it to a wall from the actual module. *note that the anchor points are out of the frame I am hoping to have the hex fully released before the new year with usage instructions and everything. I just want to repeat that I am looking for testers to help me in multiplayer, so if anyone has the time and the inclination... I hope the above^ was an interesting read. Until next time, Cheers! I can try to test, maybe a specific post will be more relevant ?
=SqSq=Civilprotection Posted December 28, 2020 Posted December 28, 2020 4 hours ago, IRRE_Genius said: I can try to test, maybe a specific post will be more relevant ? Thank you so much for your offer to help. I could use it, but I am very close to releasing the whole system. I might even get it out later today. I could use you help for that if you are up for it. And you are right I think-- a specific post probably will be more relevant. Once everything is ready I will make a post with all the sexy interesting details, and then link it back here. Cheers!
=SqSq=Civilprotection Posted December 29, 2020 Posted December 29, 2020 (edited) UPDATE: The latest version can be found here: Alright. I don' think that I am going to be more ready right now. This is the hex It operates based off a central flag which can be owned by either Germany or Russia. When captured, the flag sends a German or Russian output signal to the surrounding walls. In theory, these hexes can be tiled infinitely to make a moving frontline, and I'm going to show you all the basic steps to do just that. First, line up two or more hexes. The hexes must share a wall, so it is necessary to delete on of the walls, and then stitch to two hexes together. Next, we align the two hexes and link them together. Make sure to be consistent in linking the icons to one another in a clockwise system for each wall, and make sure to link the German output to the German input, as well as link the Russian output to the Russian input. A standard frontline may be connected to the frontline at any point along the perimeter of the grid. The one condition is that a special 'exception wall' must be used around the west side of the perimeter linking to the north and south tails as shown below (red is standard, green is the exception). Important things to know: 1) The flag in the center of the hex should always start as USSR. It should never be Neutral, or become Neutral. Doing so can crash the game. 2) If you want a hex to start under the control of another faction, there is a group close to flag in the center of the hex. Inside there is a behavior MCU which can manually switch ownership of the flag to another faction. You should only ever set this to German. If you want Russia to start with ownership, then disconnect the module from the flag. 3) The hexes are very complicated and contain a large number of MCUs. This means that mission file sizes can become excessively huge very quickly. I can't recommend using more than 50 hexes in a mission. Personally the most I have used is about 40. If you want to cover more ground past that, you can resize the hex to however large you want. That said, there is no performance hit once a player is playing a mission or has connected to a server running the mission. Score system: So at the center of each hex beside the flag, there are two score reports (one for Germany and one for Russia). Each reports one point per minute for whichever team controls the flag. Make note of the timers "+1" for both German and Russian in every hex. They need to all be linked to a master score counting bin. This is the Master score counter, and is the central win condition for the match. The first team to score X number of points wins. All of the German +1 counters should be linked to the German input, and all of the Russian +1 counters should be linked to the Russian input. The input counters will fill up 8 times before one side is declared the victor. Adjust the size of the input counter to adjust the point requirements for victory. The default is 25 points, which means that the first team to reach 200 points will win the match. Now this is a lot of information I know, and I have had to gloss over quite a few things. I have made a tutorial video that will hopefully clear up any confusion. You can view that here: https://drive.google.com/file/d/1FpXFu9p8obLn4to1HNFrCcruqLLHHzej/view?usp=sharing You can get access to all the files I have covered in this video by downloading this .zip file. Hex 1.2 Pack.zip I want to repeat my request for multiplayer testers. I run a small server for practice and testing. If anyone is interested in helping me refine this or any other systems or has any questions on how to set up the hex grid, you can DM me here, or you can jump on the Squid Squad discord and talk to me there. Discord Link: https://discord.gg/qyJdcxc Lastly, this has been the product of several months of R&D. I would ask that anyone who uses this system in their missions credits me in some way. Bit of a selfish note I know, but I think you all understand. I think that this grid system really has potential to shake up the multiplayer seen and make tank use more than a novelty. At the very least, I hope the above was an interesting read. Thank you all for your time, Cheers! Edited July 6, 2023 by =SqSq=Civilprotection 3 1
IckyATLAS Posted January 3, 2021 Posted January 3, 2021 (edited) After having posted my test on the ships maximum and relative speeds here some additional help. For those of you who want to set up ship convoys that move consistently in column, here are 4 convoys that you can use as a template and then adapt and modify as you please. Two convoys are German and two Soviet. The convoy ships will become disabled if the player is further by a distance over 25'000 meters, and they will become enabled when the distance to the player is less than 20'000 mt. This test distance is made to avoid to load too much the CPU resources when the player is outside the region of interest containing the convoy. The test is made with the Trigger Proximity MCU which is ideal when measuring distance between two moving objects. Otherwise for fixed object Check Zone is a better choice. Each convoy is made from 7 individual independent ships, and each ship has its own waypoints. Two of the ships are escort ships like Torpedo-Boats, , Destroyer and Submarines, and the other five are Cargo and/or Tanker ships. There are three waypoints already defined for each ship. The priority setting on all waypoints is Medium. There are two type of convoys: one type contains tankers that are slower, and has a target speed of 16 kph. The second has only Cargo Ships and hence is a little faster at 18 kph. There is a target speed defined and each ship has its own speed defined so that all will the ships will move at the same speed according to a global convoy target speed. (New Edited 03-01-20) Changes: I have replaced the initial files by an updated one. I have just changed the Start and Stop text mentions to Enable and Disable which makes things less confusing. When you disable a ship you also stop it, but as it also disappears, so it is better to use the new mentions. Additions: I have added for each type of convoy two additional files which have the -S or the -M extension in their filename. S stands for Single and M for Multiple. You have for each convoy type a Zip file that includes the three versions. Depending on what kind of mission or action you need to have you can use the most adapted version. The convoy ship spacing is of about 730 meters which was the standard spacing in WWII Atlantic Convoy fleets. You are free to change this as you wish. Multiple is the same version as for the group file name with no extension. Each ship is enabled or disabled individually. The only difference is here that all the proximity triggers are active from start. This kind of logic my impact distances (longer or shorter) between ships, as they will start moving only when they appear, the others having already started to move. So if there is a long time between the appearance of each ship depending on the case the impact on distances may become visible. Single means that all the convoy is disabled or enabled (appears on the map or disappears) as a one unique entity even if each ship is still independent. The enabling or disabling of the whole convoy depends on anyone of the ships triggering the corresponding Proximity MCU. I have put a Total Counter MCU (default value 1) that you can use if you want to be more restrictive like having more than one ship to trigger before having the convoy be enabled or disabled. If you have a short convoy with ships near to each other like Landboats etc. then it is more realistic to have the whole convoy be enabled or not in one shot, hence the use of the Single version here. If you have a very long convoy extending over say many kilometers like 7 kilometers and you will meet him by the front then the Multiple version may be better suited. Again all this is to minimize resources used. Comments: You may have noticed that theses convoy file have a logic that is based on the fact that the triggering entity (Player plane or whatever else) starts at the beginning of the game inside the 25'000 mt zone detection limit to trigger the disabling of a given ship of the convoy. For this reason only the Trigger Proximity MCU to disable the ship is active at the start of the game. The convoy at the start of the game has each ship already enabled. This is mandatory to have the proximity triggers work properly (see explanations further down ***). As long as the triggering entity does not leave the 25'000 mt area around the ship which means that, as long as the ship is not disabled a first time by the corresponding active Trigger Proximity MCU, the other Trigger Proximity MCU to enable the ship will remain inactive and will not use any CPU resource. If you start the game with the triggering entity already outside the 25'000 mt perimeter then the ship will be disabled and the Trigger Proximity MCU to enable the ship when the triggering entity will be inside the 20'000 mt limit will be activated. This may seem a lot to spare some CPU resource and this works only in one case (triggering entity inside the 25'000 mt area around the ship) but when you have very large and complex mission everything to try to reduce time dilation due to CPU load is welcome. Convoy (1) : German ToCaTaSu means : Torpedo-boat - Cargo Ship - Tanker Ship - Submarine ToCaTaSu-M Multiple ToCaTaSu-S Single Target speed: 16 kph Spacing between ships ~730mt Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 1 Torpedo-boat 38, 1 Submarine 2b Utility ships: 3 Cargo Ships, 2 Tanker Ships German ToCaTaSu -S -M Convoys.zip Convoy (2) : German ToCa means : Torpedo-boat - Cargo Ship ToCa-M Multiple ToCa-S Single Target speed: 18 kph Spacing between ships ~730mt Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 2 Torpedo-boat 38 Utility ships: 5 Cargo Ships German ToCa -S -M Convoys.zip Convoy (3) : Soviet DeCaTaSu means : Destroyer - Cargo Ship - Tanker Ship - Submarine Target speed: 16 kph Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 1 Destroyer Type 7, 1 Submarine 10Sh Utility ships: 3 Cargo Ships, 2 Tanker Ships Soviet DeCaTaSu -S -M Convoy.zip Convoy (4) : Soviet DeCa means : Destroyer - Cargo Ship Target speed: 18 kph Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 2 Destroyer Type 7 Utility ships: 5 Cargo Ships Soviet DeCa -S -M Convoys.zip The group that you will be able to download is complete with all the parameters pre-setted and is operational immediately. To have it working properly you must Object Link all the Start and Stop proximity triggers of each Ship to either the Player Plane or whatever other object is according to your mission used to activate the convoy. You can from these templates easily make new combinations, change ships add waypoints etc. You can change the enabling and disabling distances, convoy ship mix, speeds etc. If you want to have all ships enabled and disabled at the same time you have to be careful because is you convoy gets attacked and the ship you use as a the reference my be sunk, then it will not work. This is why here each ship is an independent entity managed separately. If you create a convoy where all ships are the same then it is easy because all speeds become the same. Otherwise you need to check with my relative speed post. Have fun. (***) When you use Trigger Proximity MCU measuring a distance between two moving entities, then at the beginning of the game the two objects must be enabled. In this way the object links are activated between the entities and the Proximity MCU. Then they can be disabled and enabled again the Proximity MCUs will work. If you have disabled entities at the beginning of the game then the object links are not made and even if you enable later on the entity the proximity trigger linked to it will not work. At least this is what I have seen in my tests. To avoid any problem I always have my ships enabled by default at the beginning of the mission and then activate the first waypoint, and after that disable them immediately (total around five seconds). Edited January 3, 2021 by IckyATLAS 3 5
Beebop Posted January 3, 2021 Posted January 3, 2021 +1000! Thanks! Not only for sharing the groups but for the work put into them.
IckyATLAS Posted January 3, 2021 Posted January 3, 2021 I have made improvements and completed the post above on convoys. Have a good reading, and have fun. 1 1
LF_Sire Posted January 31, 2021 Posted January 31, 2021 (edited) Hello, I want to share a simple Map Scoreboard as shown: 1) Copy next code on a .TXT archive. 2) Rename archive to Scoreboard.group Instructions: a. Place scoreboard on yout prefered position (at least the two icon stacks, what is shown) b. Feed "IN Scoreboard" with whatever you want to count. Enjoy Spoiler Group { Name = "Scoreboard"; Index = 177; Desc = ""; MCU_Icon { Index = 5; Targets = []; Objects = []; XPos = 33860.482; YPos = 138.088; ZPos = 27467.044; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 3; LCDesc = 4; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 6; Targets = []; Objects = []; XPos = 33860.051; YPos = 138.088; ZPos = 27467.348; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 23; LCDesc = 24; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 7; Targets = []; Objects = []; XPos = 33860.546; YPos = 138.088; ZPos = 27467.219; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 25; LCDesc = 26; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 8; Targets = []; Objects = []; XPos = 33859.761; YPos = 138.088; ZPos = 27467.474; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 27; LCDesc = 28; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 9; Targets = []; Objects = []; XPos = 33859.779; YPos = 138.088; ZPos = 27467.313; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 29; LCDesc = 30; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 10; Targets = []; Objects = []; XPos = 33860.807; YPos = 138.088; ZPos = 27466.928; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 31; LCDesc = 32; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 11; Targets = []; Objects = []; XPos = 33859.416; YPos = 138.088; ZPos = 27467.636; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 33; LCDesc = 34; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 12; Targets = []; Objects = []; XPos = 33859.674; YPos = 138.088; ZPos = 27467.102; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 35; LCDesc = 36; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 13; Targets = []; Objects = []; XPos = 33860.139; YPos = 138.088; ZPos = 27467.569; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 37; LCDesc = 38; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 14; Targets = []; Objects = []; XPos = 33859.964; YPos = 138.088; ZPos = 27466.581; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 1; LCName = 39; LCDesc = 40; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Activate { Index = 21; Name = "TA"; Desc = ""; Targets = [14]; Objects = []; XPos = 34089.600; YPos = 135.352; ZPos = 27458.538; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 22; Name = "TA"; Desc = ""; Targets = [5]; Objects = []; XPos = 34114.020; YPos = 135.352; ZPos = 27712.507; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 23; Name = "TA"; Desc = ""; Targets = [6]; Objects = []; XPos = 34114.020; YPos = 135.352; ZPos = 28010.432; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 24; Name = "TA"; Desc = ""; Targets = [7]; Objects = []; XPos = 34114.020; YPos = 135.352; ZPos = 28293.704; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 25; Name = "TA"; Desc = ""; Targets = [8]; Objects = []; XPos = 34123.788; YPos = 135.352; ZPos = 28503.717; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 26; Name = "TA"; Desc = ""; Targets = [9]; Objects = []; XPos = 34123.788; YPos = 135.352; ZPos = 28772.337; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 27; Name = "TA"; Desc = ""; Targets = [10]; Objects = []; XPos = 34143.324; YPos = 135.352; ZPos = 28997.002; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 28; Name = "TA"; Desc = ""; Targets = [11]; Objects = []; XPos = 34148.208; YPos = 135.352; ZPos = 29192.362; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 29; Name = "TA"; Desc = ""; Targets = [12]; Objects = []; XPos = 34138.440; YPos = 135.352; ZPos = 29431.679; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 30; Name = "TA"; Desc = ""; Targets = [13]; Objects = []; XPos = 34162.860; YPos = 135.352; ZPos = 29661.227; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 31; Name = "TD"; Desc = ""; Targets = [14]; Objects = []; XPos = 33605.941; YPos = 130.913; ZPos = 27488.817; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 32; Name = "TD"; Desc = ""; Targets = [5]; Objects = []; XPos = 33606.083; YPos = 130.913; ZPos = 27761.347; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 33; Name = "TD"; Desc = ""; Targets = [6]; Objects = []; XPos = 33606.083; YPos = 130.913; ZPos = 28034.852; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 34; Name = "TD"; Desc = ""; Targets = [7]; Objects = []; XPos = 33630.503; YPos = 130.913; ZPos = 28313.240; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 35; Name = "TD"; Desc = ""; Targets = [8]; Objects = []; XPos = 33625.619; YPos = 130.913; ZPos = 28503.717; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 36; Name = "TD"; Desc = ""; Targets = [9]; Objects = []; XPos = 33659.807; YPos = 130.913; ZPos = 28796.757; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 37; Name = "TD"; Desc = ""; Targets = [10]; Objects = []; XPos = 33640.271; YPos = 130.913; ZPos = 28987.234; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 38; Name = "TD"; Desc = ""; Targets = [11]; Objects = []; XPos = 33630.503; YPos = 130.913; ZPos = 29241.202; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 39; Name = "TD"; Desc = ""; Targets = [12]; Objects = []; XPos = 33645.155; YPos = 130.913; ZPos = 29431.679; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 40; Name = "TD"; Desc = ""; Targets = [13]; Objects = []; XPos = 33645.155; YPos = 130.913; ZPos = 29675.879; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Timer { Index = 41; Name = "0s"; Desc = ""; Targets = [22,31]; Objects = []; XPos = 34476.557; YPos = 150.683; ZPos = 27705.530; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 42; Name = "0s"; Desc = ""; Targets = [23,32]; Objects = []; XPos = 34462.186; YPos = 150.683; ZPos = 27995.834; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 43; Name = "0s"; Desc = ""; Targets = [24,33]; Objects = []; XPos = 34482.306; YPos = 150.683; ZPos = 28277.515; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 44; Name = "0s"; Desc = ""; Targets = [25,34]; Objects = []; XPos = 34490.929; YPos = 150.683; ZPos = 28510.333; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 45; Name = "0s"; Desc = ""; Targets = [26,35]; Objects = []; XPos = 34490.929; YPos = 150.683; ZPos = 28760.396; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 46; Name = "0s"; Desc = ""; Targets = [27,36]; Objects = []; XPos = 34476.557; YPos = 150.683; ZPos = 28998.963; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 47; Name = "0s"; Desc = ""; Targets = [28,37]; Objects = []; XPos = 34488.054; YPos = 150.683; ZPos = 29200.163; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 48; Name = "0s"; Desc = ""; Targets = [29,38]; Objects = []; XPos = 34499.551; YPos = 150.683; ZPos = 29424.358; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 49; Name = "0s"; Desc = ""; Targets = [21,40]; Objects = []; XPos = 34470.808; YPos = 150.683; ZPos = 27438.221; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 50; Name = "0s"; Desc = ""; Targets = [39,30]; Objects = []; XPos = 34494.582; YPos = 150.683; ZPos = 29668.597; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Counter { Index = 19; Name = "Units"; Desc = ""; Targets = [53,54,55,56,57,58,59,60,61,62,63]; Objects = []; XPos = 35350.354; YPos = 132.934; ZPos = 27455.656; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 1; Dropcount = 1; } MCU_Counter { Index = 53; Name = "Trigger Counter"; Desc = ""; Targets = [41,66]; Objects = []; XPos = 34768.506; YPos = 132.934; ZPos = 27694.363; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 1; Dropcount = 1; } MCU_Counter { Index = 55; Name = "Trigger Counter"; Desc = ""; Targets = [42,68]; Objects = []; XPos = 34753.586; YPos = 132.934; ZPos = 27975.341; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 2; Dropcount = 1; } MCU_Counter { Index = 56; Name = "Trigger Counter"; Desc = ""; Targets = [43,70]; Objects = []; XPos = 34761.046; YPos = 132.934; ZPos = 28251.346; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 3; Dropcount = 1; } MCU_Counter { Index = 57; Name = "Trigger Counter"; Desc = ""; Targets = [44,72]; Objects = []; XPos = 34780.938; YPos = 132.934; ZPos = 28532.324; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 4; Dropcount = 1; } MCU_Counter { Index = 58; Name = "Trigger Counter"; Desc = ""; Targets = [45,74]; Objects = []; XPos = 34785.911; YPos = 132.934; ZPos = 28768.545; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 5; Dropcount = 1; } MCU_Counter { Index = 59; Name = "Trigger Counter"; Desc = ""; Targets = [46,76]; Objects = []; XPos = 34775.965; YPos = 132.934; ZPos = 29019.685; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 6; Dropcount = 1; } MCU_Counter { Index = 60; Name = "Trigger Counter"; Desc = ""; Targets = [47,78]; Objects = []; XPos = 34800.831; YPos = 132.934; ZPos = 29228.553; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 7; Dropcount = 1; } MCU_Counter { Index = 61; Name = "Trigger Counter"; Desc = ""; Targets = [48,80]; Objects = []; XPos = 34800.831; YPos = 132.934; ZPos = 29432.449; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 8; Dropcount = 1; } MCU_Counter { Index = 62; Name = "Trigger Counter"; Desc = ""; Targets = [50,82]; Objects = []; XPos = 34803.317; YPos = 132.934; ZPos = 29648.777; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 9; Dropcount = 1; } MCU_Counter { Index = 54; Name = "Trigger Counter"; Desc = ""; Targets = [84,49]; Objects = []; XPos = 34778.452; YPos = 132.934; ZPos = 27420.845; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 10; Dropcount = 1; } MCU_Activate { Index = 84; Name = "TA"; Desc = ""; Targets = [53,55,56,57,58,59,60,61,62]; Objects = []; XPos = 34927.949; YPos = 135.352; ZPos = 27550.070; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Counter { Index = 63; Name = "Tens"; Desc = ""; Targets = [87,88,89,90,91,92,93,94,95,96]; Objects = []; XPos = 33289.050; YPos = 132.934; ZPos = 27421.733; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 10; Dropcount = 1; } MCU_Deactivate { Index = 66; Name = "TD"; Desc = ""; Targets = [53]; Objects = []; XPos = 34677.232; YPos = 130.913; ZPos = 27790.679; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 68; Name = "TD"; Desc = ""; Targets = [55]; Objects = []; XPos = 34694.311; YPos = 130.913; ZPos = 28059.669; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 70; Name = "TD"; Desc = ""; Targets = [56]; Objects = []; XPos = 34707.120; YPos = 130.913; ZPos = 28345.739; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 72; Name = "TD"; Desc = ""; Targets = [57]; Objects = []; XPos = 34724.199; YPos = 130.913; ZPos = 28599.785; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 74; Name = "TD"; Desc = ""; Targets = [58]; Objects = []; XPos = 34724.199; YPos = 130.913; ZPos = 28845.292; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 76; Name = "TD"; Desc = ""; Targets = [59]; Objects = []; XPos = 34722.064; YPos = 130.913; ZPos = 29095.069; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 78; Name = "TD"; Desc = ""; Targets = [60]; Objects = []; XPos = 34728.469; YPos = 130.913; ZPos = 29300.015; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 80; Name = "TD"; Desc = ""; Targets = [61]; Objects = []; XPos = 34717.794; YPos = 130.913; ZPos = 29492.151; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 82; Name = "TD"; Desc = ""; Targets = [62]; Objects = []; XPos = 34728.469; YPos = 130.913; ZPos = 29748.332; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Icon { Index = 106; Targets = []; Objects = []; XPos = 33853.508; YPos = 138.088; ZPos = 26646.025; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 82; LCDesc = 83; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 107; Targets = []; Objects = []; XPos = 33854.450; YPos = 138.088; ZPos = 26651.536; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 84; LCDesc = 85; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 108; Targets = []; Objects = []; XPos = 33857.167; YPos = 138.088; ZPos = 26649.889; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 86; LCDesc = 87; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 109; Targets = []; Objects = []; XPos = 33848.092; YPos = 138.088; ZPos = 26644.975; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 88; LCDesc = 89; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 110; Targets = []; Objects = []; XPos = 33857.051; YPos = 138.088; ZPos = 26651.678; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 90; LCDesc = 91; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 111; Targets = []; Objects = []; XPos = 33852.283; YPos = 138.088; ZPos = 26651.648; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 92; LCDesc = 93; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 112; Targets = []; Objects = []; XPos = 33852.283; YPos = 138.088; ZPos = 26652.196; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 94; LCDesc = 95; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 113; Targets = []; Objects = []; XPos = 33852.283; YPos = 138.088; ZPos = 26652.512; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 96; LCDesc = 97; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 114; Targets = []; Objects = []; XPos = 33856.705; YPos = 138.088; ZPos = 26643.640; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 0; LCName = 98; LCDesc = 99; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Icon { Index = 115; Targets = []; Objects = []; XPos = 33856.705; YPos = 138.088; ZPos = 26649.200; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Enabled = 1; LCName = 100; LCDesc = 101; IconId = 0; RColor = 0; GColor = 0; BColor = 255; LineType = 0; Coalitions = [1, 2, 3, 4]; } MCU_Activate { Index = 116; Name = "TA"; Desc = ""; Targets = [115]; Objects = []; XPos = 32170.563; YPos = 135.352; ZPos = 27479.769; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 117; Name = "TA"; Desc = ""; Targets = [106]; Objects = []; XPos = 32194.983; YPos = 135.352; ZPos = 27733.738; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 118; Name = "TA"; Desc = ""; Targets = [107]; Objects = []; XPos = 32194.983; YPos = 135.352; ZPos = 28031.663; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 119; Name = "TA"; Desc = ""; Targets = [108]; Objects = []; XPos = 32194.983; YPos = 135.352; ZPos = 28314.935; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 120; Name = "TA"; Desc = ""; Targets = [109]; Objects = []; XPos = 32204.751; YPos = 135.352; ZPos = 28524.948; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 121; Name = "TA"; Desc = ""; Targets = [110]; Objects = []; XPos = 32204.751; YPos = 135.352; ZPos = 28793.568; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 122; Name = "TA"; Desc = ""; Targets = [111]; Objects = []; XPos = 32224.287; YPos = 135.352; ZPos = 29018.233; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 123; Name = "TA"; Desc = ""; Targets = [112]; Objects = []; XPos = 32229.171; YPos = 135.352; ZPos = 29213.593; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 124; Name = "TA"; Desc = ""; Targets = [113]; Objects = []; XPos = 32219.403; YPos = 135.352; ZPos = 29452.910; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Activate { Index = 125; Name = "TA"; Desc = ""; Targets = [114]; Objects = []; XPos = 32243.823; YPos = 135.352; ZPos = 29682.458; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 126; Name = "TD"; Desc = ""; Targets = [115]; Objects = []; XPos = 31686.904; YPos = 130.913; ZPos = 27510.048; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 127; Name = "TD"; Desc = ""; Targets = [106]; Objects = []; XPos = 31687.046; YPos = 130.913; ZPos = 27782.578; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 128; Name = "TD"; Desc = ""; Targets = [107]; Objects = []; XPos = 31687.046; YPos = 130.913; ZPos = 28056.083; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 129; Name = "TD"; Desc = ""; Targets = [108]; Objects = []; XPos = 31711.466; YPos = 130.913; ZPos = 28334.471; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 130; Name = "TD"; Desc = ""; Targets = [109]; Objects = []; XPos = 31706.582; YPos = 130.913; ZPos = 28524.948; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 131; Name = "TD"; Desc = ""; Targets = [110]; Objects = []; XPos = 31740.770; YPos = 130.913; ZPos = 28817.988; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 132; Name = "TD"; Desc = ""; Targets = [111]; Objects = []; XPos = 31721.234; YPos = 130.913; ZPos = 29008.465; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 133; Name = "TD"; Desc = ""; Targets = [112]; Objects = []; XPos = 31711.466; YPos = 130.913; ZPos = 29262.433; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 134; Name = "TD"; Desc = ""; Targets = [113]; Objects = []; XPos = 31726.118; YPos = 130.913; ZPos = 29452.910; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 135; Name = "TD"; Desc = ""; Targets = [114]; Objects = []; XPos = 31726.118; YPos = 130.913; ZPos = 29697.110; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Timer { Index = 136; Name = "0s"; Desc = ""; Targets = [117,126]; Objects = []; XPos = 32557.520; YPos = 150.683; ZPos = 27726.761; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 137; Name = "0s"; Desc = ""; Targets = [118,127]; Objects = []; XPos = 32543.149; YPos = 150.683; ZPos = 28017.065; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 138; Name = "0s"; Desc = ""; Targets = [119,128]; Objects = []; XPos = 32563.269; YPos = 150.683; ZPos = 28298.746; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 139; Name = "0s"; Desc = ""; Targets = [120,129]; Objects = []; XPos = 32571.892; YPos = 150.683; ZPos = 28531.564; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 140; Name = "0s"; Desc = ""; Targets = [121,130]; Objects = []; XPos = 32571.892; YPos = 150.683; ZPos = 28781.627; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 141; Name = "0s"; Desc = ""; Targets = [122,131]; Objects = []; XPos = 32557.520; YPos = 150.683; ZPos = 29020.194; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 142; Name = "0s"; Desc = ""; Targets = [123,132]; Objects = []; XPos = 32569.017; YPos = 150.683; ZPos = 29221.394; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 143; Name = "0s"; Desc = ""; Targets = [124,133]; Objects = []; XPos = 32580.514; YPos = 150.683; ZPos = 29445.589; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 144; Name = "0s"; Desc = ""; Targets = [116,135]; Objects = []; XPos = 32551.771; YPos = 150.683; ZPos = 27459.452; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Timer { Index = 145; Name = "0s"; Desc = ""; Targets = [134,125]; Objects = []; XPos = 32575.545; YPos = 150.683; ZPos = 29689.828; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } MCU_Counter { Index = 88; Name = "Trigger Counter"; Desc = ""; Targets = [136,147]; Objects = []; XPos = 32849.469; YPos = 132.934; ZPos = 27715.594; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 1; Dropcount = 1; } MCU_Counter { Index = 89; Name = "Trigger Counter"; Desc = ""; Targets = [137,149]; Objects = []; XPos = 32834.549; YPos = 132.934; ZPos = 27996.572; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 2; Dropcount = 1; } MCU_Counter { Index = 90; Name = "Trigger Counter"; Desc = ""; Targets = [138,151]; Objects = []; XPos = 32842.009; YPos = 132.934; ZPos = 28272.577; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 3; Dropcount = 1; } MCU_Counter { Index = 91; Name = "Trigger Counter"; Desc = ""; Targets = [139,153]; Objects = []; XPos = 32861.901; YPos = 132.934; ZPos = 28553.555; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 4; Dropcount = 1; } MCU_Counter { Index = 92; Name = "Trigger Counter"; Desc = ""; Targets = [140,155]; Objects = []; XPos = 32866.874; YPos = 132.934; ZPos = 28789.776; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 5; Dropcount = 1; } MCU_Counter { Index = 93; Name = "Trigger Counter"; Desc = ""; Targets = [141,157]; Objects = []; XPos = 32856.928; YPos = 132.934; ZPos = 29040.916; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 6; Dropcount = 1; } MCU_Counter { Index = 94; Name = "Trigger Counter"; Desc = ""; Targets = [142,159]; Objects = []; XPos = 32881.794; YPos = 132.934; ZPos = 29249.784; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 7; Dropcount = 1; } MCU_Counter { Index = 95; Name = "Trigger Counter"; Desc = ""; Targets = [143,161]; Objects = []; XPos = 32881.794; YPos = 132.934; ZPos = 29453.680; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 8; Dropcount = 1; } MCU_Counter { Index = 96; Name = "Trigger Counter"; Desc = ""; Targets = [145,163]; Objects = []; XPos = 32884.280; YPos = 132.934; ZPos = 29670.008; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 9; Dropcount = 1; } MCU_Counter { Index = 87; Name = "Trigger Counter"; Desc = ""; Targets = [165,144]; Objects = []; XPos = 32859.415; YPos = 132.934; ZPos = 27442.076; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Counter = 10; Dropcount = 1; } MCU_Activate { Index = 165; Name = "TA"; Desc = ""; Targets = [88,89,90,91,92,93,94,95,96]; Objects = []; XPos = 33008.912; YPos = 135.352; ZPos = 27571.301; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 147; Name = "TD"; Desc = ""; Targets = [88]; Objects = []; XPos = 32758.195; YPos = 130.913; ZPos = 27811.910; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 149; Name = "TD"; Desc = ""; Targets = [89]; Objects = []; XPos = 32775.274; YPos = 130.913; ZPos = 28080.900; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 151; Name = "TD"; Desc = ""; Targets = [90]; Objects = []; XPos = 32788.083; YPos = 130.913; ZPos = 28366.970; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 153; Name = "TD"; Desc = ""; Targets = [91]; Objects = []; XPos = 32805.162; YPos = 130.913; ZPos = 28621.016; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 155; Name = "TD"; Desc = ""; Targets = [92]; Objects = []; XPos = 32805.162; YPos = 130.913; ZPos = 28866.523; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 157; Name = "TD"; Desc = ""; Targets = [93]; Objects = []; XPos = 32803.027; YPos = 130.913; ZPos = 29116.300; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 159; Name = "TD"; Desc = ""; Targets = [94]; Objects = []; XPos = 32809.432; YPos = 130.913; ZPos = 29321.246; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 161; Name = "TD"; Desc = ""; Targets = [95]; Objects = []; XPos = 32798.757; YPos = 130.913; ZPos = 29513.382; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Deactivate { Index = 163; Name = "TD"; Desc = ""; Targets = [96]; Objects = []; XPos = 32809.432; YPos = 130.913; ZPos = 29769.563; XOri = 0.00; YOri = 0.00; ZOri = 0.00; } MCU_Timer { Index = 176; Name = "IN Scoreboard"; Desc = ""; Targets = [19]; Objects = []; XPos = 35534.278; YPos = 127.871; ZPos = 27455.305; XOri = 0.00; YOri = 0.00; ZOri = 0.00; Time = 0; Random = 100; } } Edited January 31, 2021 by LF_Sire 2
=SqSq=Civilprotection Posted January 31, 2021 Posted January 31, 2021 7 hours ago, LF_Sire said: I want to share a simple Map Scoreboard as shown: This looks really useful! Can it also count down?
LF_Sire Posted January 31, 2021 Posted January 31, 2021 43 minutes ago, =SqSq=Civilprotection said: This looks really useful! Can it also count down? It could be done. Just reverse the icons order.
=SqSq=Civilprotection Posted January 31, 2021 Posted January 31, 2021 14 minutes ago, LF_Sire said: It could be done. Just reverse the icons order. Ah, I should clarify: can the module be set up to count up from input (A) and simultaneously to count down by input (B)?
LF_Sire Posted February 1, 2021 Posted February 1, 2021 Ah, I understand. Not as it is. It just adds, not subtracts.
=SqSq=Civilprotection Posted February 2, 2021 Posted February 2, 2021 Well, I look forward to tinkering with it anyway. Thank you for this submission.
Beebop Posted February 11, 2021 Posted February 11, 2021 1 hour ago, meplanes1969 said: You could put say 4 or 5 large ammo explosions together in the same place inside an ammo depot,set it timer just to go off once and get a really big explosion,would be fun Put several 250-750 milliseconds delays between each explosion to get that chain reaction effect. 1
LF_Sire Posted February 13, 2021 Posted February 13, 2021 (edited) A2A Training Range Here you are have an air to air training range for an ordered and controlled air space, i.e. an academy. HOW IT WORKS Control tower is managing the training range. Human planes can ask for 1 agressor or a couple of agressors, randomly spawned at 5.000 meter from tower, N, E, S or W. After 5 minutes round ends, agressors are deleted (if still alive), and control towers restarts listening mode. SEQUENCE - BLUE smoke: tower is listening for flares (maximun distance 2.000m from it) - GREEN smoke: if just one flare is shooted from a plane in a 10s period, blue smoke will change for green and 1 agressor will be spawned. - RED smoke: if TWO flares ar shooted in less than a 10s period, blue will change for red a a couple of agressor will be spwaned. - TmaxtoDelete: Or round time. After 5 minutes, agressors will be deleted (if still alive) and control tower will change to blue status. SET UP 1. Place the group in a suitable area for training. 2. Put attention on the tower position since it's the real center of the group mechanism. 3. Reground-level the three smoke effects [buildings allways reground on group insert, but smokes (and firecamps) allways floats over on default] TUNING 1. You can filter for specific models, countries or even objects to listen for a flare. [Filter is set USSR per default in this group. Delete countrie if you want any] 2. Set TmaxtoDelete timer to your liking [5 minutes on default for this goup] DOWNLOADA2ATrainer.zip Edited February 13, 2021 by LF_Sire 1
Hamaha15 Posted February 21, 2021 Posted February 21, 2021 (edited) Lost places – furnishing No-Man’s-Land and adding churches to the Arras map Hello all, I posted two downloadable template files at the FC Missions & Campaigns thread to update the Arras map. One of them contains towns and villages that vanished inside the No-Man’s-Land. The selection is made along the maps and descriptions of Osprey Campaign books covering the WWI Western Front. The extent of devastation can really be sensed if you see the many towns and even larger cities like Albert or Armentières that were absorbed into the moonscape of No-Man’s-Land. The second file provides churches to all existing towns and villages on the map. In a few cases I added Chateaux and extended the villages to better match the prototype. There’s nothing as typical of the countryside in France profonde as the sight of steeples in a distance. And there’s NO French village without one (I found one single exception though on the map). https://forum.il2sturmovik.com/topic/69803-arras-map-updates-for-mission-builders/ Enjoy Edited May 6, 2021 by Hamaha15
jollyjack Posted April 28, 2021 Posted April 28, 2021 On 1/3/2021 at 1:01 AM, IckyATLAS said: After having posted my test on the ships maximum and relative speeds here some additional help. For those of you who want to set up ship convoys that move consistently in column, here are 4 convoys that you can use as a template and then adapt and modify as you please. Two convoys are German and two Soviet. The convoy ships will become disabled if the player is further by a distance over 25'000 meters, and they will become enabled when the distance to the player is less than 20'000 mt. This test distance is made to avoid to load too much the CPU resources when the player is outside the region of interest containing the convoy. The test is made with the Trigger Proximity MCU which is ideal when measuring distance between two moving objects. Otherwise for fixed object Check Zone is a better choice. Each convoy is made from 7 individual independent ships, and each ship has its own waypoints. Two of the ships are escort ships like Torpedo-Boats, , Destroyer and Submarines, and the other five are Cargo and/or Tanker ships. There are three waypoints already defined for each ship. The priority setting on all waypoints is Medium. There are two type of convoys: one type contains tankers that are slower, and has a target speed of 16 kph. The second has only Cargo Ships and hence is a little faster at 18 kph. There is a target speed defined and each ship has its own speed defined so that all will the ships will move at the same speed according to a global convoy target speed. (New Edited 03-01-20) Changes: I have replaced the initial files by an updated one. I have just changed the Start and Stop text mentions to Enable and Disable which makes things less confusing. When you disable a ship you also stop it, but as it also disappears, so it is better to use the new mentions. Additions: I have added for each type of convoy two additional files which have the -S or the -M extension in their filename. S stands for Single and M for Multiple. You have for each convoy type a Zip file that includes the three versions. Depending on what kind of mission or action you need to have you can use the most adapted version. The convoy ship spacing is of about 730 meters which was the standard spacing in WWII Atlantic Convoy fleets. You are free to change this as you wish. Multiple is the same version as for the group file name with no extension. Each ship is enabled or disabled individually. The only difference is here that all the proximity triggers are active from start. This kind of logic my impact distances (longer or shorter) between ships, as they will start moving only when they appear, the others having already started to move. So if there is a long time between the appearance of each ship depending on the case the impact on distances may become visible. Single means that all the convoy is disabled or enabled (appears on the map or disappears) as a one unique entity even if each ship is still independent. The enabling or disabling of the whole convoy depends on anyone of the ships triggering the corresponding Proximity MCU. I have put a Total Counter MCU (default value 1) that you can use if you want to be more restrictive like having more than one ship to trigger before having the convoy be enabled or disabled. If you have a short convoy with ships near to each other like Landboats etc. then it is more realistic to have the whole convoy be enabled or not in one shot, hence the use of the Single version here. If you have a very long convoy extending over say many kilometers like 7 kilometers and you will meet him by the front then the Multiple version may be better suited. Again all this is to minimize resources used. Comments: You may have noticed that theses convoy file have a logic that is based on the fact that the triggering entity (Player plane or whatever else) starts at the beginning of the game inside the 25'000 mt zone detection limit to trigger the disabling of a given ship of the convoy. For this reason only the Trigger Proximity MCU to disable the ship is active at the start of the game. The convoy at the start of the game has each ship already enabled. This is mandatory to have the proximity triggers work properly (see explanations further down ***). As long as the triggering entity does not leave the 25'000 mt area around the ship which means that, as long as the ship is not disabled a first time by the corresponding active Trigger Proximity MCU, the other Trigger Proximity MCU to enable the ship will remain inactive and will not use any CPU resource. If you start the game with the triggering entity already outside the 25'000 mt perimeter then the ship will be disabled and the Trigger Proximity MCU to enable the ship when the triggering entity will be inside the 20'000 mt limit will be activated. This may seem a lot to spare some CPU resource and this works only in one case (triggering entity inside the 25'000 mt area around the ship) but when you have very large and complex mission everything to try to reduce time dilation due to CPU load is welcome. Convoy (1) : German ToCaTaSu means : Torpedo-boat - Cargo Ship - Tanker Ship - Submarine ToCaTaSu-M Multiple ToCaTaSu-S Single Target speed: 16 kph Spacing between ships ~730mt Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 1 Torpedo-boat 38, 1 Submarine 2b Utility ships: 3 Cargo Ships, 2 Tanker Ships German ToCaTaSu -S -M Convoys.zip 11.19 kB · 17 downloads Convoy (2) : German ToCa means : Torpedo-boat - Cargo Ship ToCa-M Multiple ToCa-S Single Target speed: 18 kph Spacing between ships ~730mt Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 2 Torpedo-boat 38 Utility ships: 5 Cargo Ships German ToCa -S -M Convoys.zip 10.75 kB · 13 downloads Convoy (3) : Soviet DeCaTaSu means : Destroyer - Cargo Ship - Tanker Ship - Submarine Target speed: 16 kph Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 1 Destroyer Type 7, 1 Submarine 10Sh Utility ships: 3 Cargo Ships, 2 Tanker Ships Soviet DeCaTaSu -S -M Convoy.zip 11.19 kB · 14 downloads Convoy (4) : Soviet DeCa means : Destroyer - Cargo Ship Target speed: 18 kph Enabling distance: closer by 20'000 mt and less Disabling distance: further by 25'000 mt and more Escort ships: 2 Destroyer Type 7 Utility ships: 5 Cargo Ships Soviet DeCa -S -M Convoys.zip 10.8 kB · 13 downloads The group that you will be able to download is complete with all the parameters pre-setted and is operational immediately. To have it working properly you must Object Link all the Start and Stop proximity triggers of each Ship to either the Player Plane or whatever other object is according to your mission used to activate the convoy. You can from these templates easily make new combinations, change ships add waypoints etc. You can change the enabling and disabling distances, convoy ship mix, speeds etc. If you want to have all ships enabled and disabled at the same time you have to be careful because is you convoy gets attacked and the ship you use as a the reference my be sunk, then it will not work. This is why here each ship is an independent entity managed separately. If you create a convoy where all ships are the same then it is easy because all speeds become the same. Otherwise you need to check with my relative speed post. Have fun. (***) When you use Trigger Proximity MCU measuring a distance between two moving entities, then at the beginning of the game the two objects must be enabled. In this way the object links are activated between the entities and the Proximity MCU. Then they can be disabled and enabled again the Proximity MCUs will work. If you have disabled entities at the beginning of the game then the object links are not made and even if you enable later on the entity the proximity trigger linked to it will not work. At least this is what I have seen in my tests. To avoid any problem I always have my ships enabled by default at the beginning of the mission and then activate the first waypoint, and after that disable them immediately (total around five seconds). Hi Icky, i lifted this for 4 ships out of a QMB mission, used it a few times, maybe it's a bit more simple: - Ship Spawn Group.zip
[DBS]Tx_Tip Posted May 5, 2021 Posted May 5, 2021 AI aborting landing pattern to engage E/A then resuming pattern group. Solves games age old problem of AI becoming passive in landing pattern when airbase is attacked. Enclosed within zip find Example mission and Landing Behavior Group (Stalingrad Map Template). Tips Landing Behavior.zip For Mission viewing: Start Mission. Cycle aircraft view as 3 Yaks enter landing pattern then abort their landing when attacked by Bf109. Yaks resume landing pattern after Bf109 is destroyed. Logic is tied to Airbase flak to activate and deactivate main behavior logic. *Yaks have unlimited ammo in this example to facilitate landing resumption. Fiddling around with the timing when the E/A enters the picture during the Yaks landing pattern. Of Note. The landing aircraft with gear down will engage if not already touched down but initially remains dirtied up. Eventually they will raise gear and continue to engage if given enough space from E/A. Mission Example and Group have a 1 time routine built in. This could be adjusted if desired to fit multiple flights. Additionally the logic flow could be controlled with a Complex Trigger or separate Check Zones to suit your needs. Good luck with your Mission Design Tip 1 1 2
jollyjack Posted August 2, 2021 Posted August 2, 2021 Call me lazy; has anyone made a group file (template) for harbors on the Rheinland map? There are some grounds etc placed on the default Rheinland cities group, but IMO a little sparsely. Here's a group for a German HQ i made up, and used for the Antwerp area. - German HQ JJ.zip
DN308 Posted August 2, 2021 Posted August 2, 2021 I made Ijmuiden Blast furnaces and 1942 harbour. I need to implement it for 1943-44 accuracy I will put it here later, after my trip to Normandy 1
jollyjack Posted August 2, 2021 Posted August 2, 2021 Have fun, BTW in '73 i spent some time on a geological student 'mission' near Cape Griz Nez .... very impressive area.
Hamaha15 Posted August 2, 2021 Posted August 2, 2021 Hi, currently I'm working on adding details to the Netherlands. Aim is to support the Battle of the Scheldt scenarios provided by SYN-Vanders Easy Mission Generator, a potential update and extension of my own Operation Oyster mission as soon as the Mosquito will have been released and possibly Operation Market Garden scenarios with the C-47. A good portion of the work has already been integrated into the EMG. I have added the locks to Ijmuiden harbour but nothing more in that area so far. We may combine our efforts to avoid investing development time twice... I intend to share the whole scenic updates soon after completing the Arnhem, Gent and Antwerp areas. I'm working in parallel on the related map mod that shall come with the scenery templates. Cheers Some WIP pictures: Middelburg, Walcheren Vlissingen, Walcheren Sas-van-Gent, Zeeuwsch-Vlanderen Breskens, Zeeuwsch-Vlanderen, Island of Walcheren and Vlissingen harbour in the background Oosterbeek, Gelderland Wolfheze, hotel and psychiatric hospital, Market Garden landing zone in the background 2 1 2
DN308 Posted August 2, 2021 Posted August 2, 2021 @Hamaha15, Vlissingen interests me a lot I must confess. I already have 3 missions on that site and one on Gent in 1943
jollyjack Posted August 3, 2021 Posted August 3, 2021 (edited) Top Notch ! Just been adding stuff to the Antwerp harbor ... Edited August 3, 2021 by jollyjack
jollyjack Posted August 3, 2021 Posted August 3, 2021 (edited) 12 hours ago, Hamaha15 said: Vlissingen, Walcheren PS i really wonder how you got that Railway Yard (working?) there, i loaded the extra RW_Stations template for Rheinland, nothing on my Flushing area, but a single railway line ... (Those frigging rocksolid trees .... as always messing nice map things up ... ) Edited August 3, 2021 by jollyjack
jollyjack Posted August 3, 2021 Posted August 3, 2021 for blocks and static RW objects yes, but the marshaling yard tracks them selves?
Hamaha15 Posted August 3, 2021 Posted August 3, 2021 (edited) John Henry had a hammer… – laying (dummy) railway tracks with the mission editor tool box And here we go: The Vlissingen/Flushing railyard – like the other ones I’m currently adding to the Rhineland autumn map are custom built according to historical topographic maps and aerial pictures where available. They are for decoration only, no train in BOS would run on them. They don’t work because I didn’t even try to modify the related RailroadPaths-File. The track elements are borrowed from the Velikie-Luki summer map. In attachment you’ll find my custom-made SurfaceTex-File to download. Inside this file you’ll find more other useful elements from different maps pasted to it, which were not initially included in the autumn map. The SurfaceTex-File provides the elements for the surface objects properties dialogue in the ME. Please note that you’d better secure the initial SurfaceTex file as a backup and you have to delete the _Schelde_au suffix to make the modified file work. Tracks are laid down as ‘tapes’ like roads. You have to avoid sharp bends, otherwise the sleepers will be distorted. Regarding the properties, please see the reference pictures. The ratio between Width and V Tile must always be 5.5 to 1 in case you create multi-track layouts. Yes, indeed, at many locations the omnipresent alley trees are a plague because they often spoil the efforts to add detail to the landscape as you can see at Vlissingen station. We have to ignore them which is not too much of a problem from an altitude of 1000 m or above. Cheers SurfaceTex_Rheinland_au_update.zip Properties Single track turnout and properties Double track turnout and properties Edited August 3, 2021 by Hamaha15 1 1 1
jollyjack Posted August 6, 2021 Posted August 6, 2021 (edited) On 8/3/2021 at 7:35 PM, Hamaha15 said: .... Tracks are laid down as ‘tapes’ like roads. You have to avoid sharp bends, otherwise the sleepers will be distorted. Regarding the properties, please see the reference pictures. The ratio between Width and V Tile must always be 5.5 to 1 in case you create multi-track layouts. ... Thanks for your explaining .... there's no SurfaceTex file in my Landscape_Rheinland_au folder, or in the whole graphics folder, but found it in Maps4.GTP. That's probably why i never got it to work with roads as well. Now is there something similar maybe for working heights editing? I have been trying to make the Dutch coast line with dunes, as there are none on the Rheinland map. Never got them saved. Each day almost i pass remains of the Atlantic wall there, and in IL2 a Todt Battery with no dunes looks rather ridiculous. Edited August 6, 2021 by jollyjack
AEthelraedUnraed Posted August 6, 2021 Posted August 6, 2021 2 hours ago, jollyjack said: Thanks for your explaining .... there's no SurfaceTex file in my Landscape_Rheinland_au folder, or in the whole graphics folder, but found it in Maps4.GTP. Doesn't matter, the game will use the packed file. You only need to change it if you want to use additional textures than are already included with the map. If so, you can just use the Add Texture option in the ME. 3 hours ago, jollyjack said: Now is there something similar maybe for working heights editing? I have been trying to make the Dutch coast line with dunes, as there are none on the Rheinland map. Never got them saved. Each day almost i pass remains of the Atlantic wall there, and in IL2 a Todt Battery with no dunes looks rather ridiculous. Nope The heightmaps are locked, so the game will refuse to load a map if you change its heightmap. 1
Beebop Posted August 6, 2021 Posted August 6, 2021 5 hours ago, AEthelraedUnraed said: ...the game will refuse to load a map if you change its heightmap. Yeah, You wouldn't want to flatten the coast of Kuban so land developers could build resorts, golf courses and airports to accommodate the tourist trade now would you?
Jade_Monkey Posted August 14, 2021 Posted August 14, 2021 This should be added to the official game once it's completed. Great job!
blue_max Posted August 14, 2021 Posted August 14, 2021 As a Dutchie and a IL2 fanboy, I fully support this endeavour
SYN_Vander Posted August 14, 2021 Posted August 14, 2021 On 8/6/2021 at 2:16 PM, AEthelraedUnraed said: Doesn't matter, the game will use the packed file. You only need to change it if you want to use additional textures than are already included with the map. If so, you can just use the Add Texture option in the ME. Nope The heightmaps are locked, so the game will refuse to load a map if you change its heightmap. To me this would be the holy grail of mission editing: To be able to alter the terrain (roads, airfields, terrain height, vegetation) and include it in the mission. Which is now actually possible in MS Flight Simulator.
AEthelraedUnraed Posted August 14, 2021 Posted August 14, 2021 1 hour ago, SYN_Vander said: To me this would be the holy grail of mission editing: To be able to alter the terrain (roads, airfields, terrain height, vegetation) and include it in the mission. Which is now actually possible in MS Flight Simulator. Airfields are possible to edit/create right now. Roads too (I think, but my tests weren't too extensive), but there is no editor or documentation (although it's a rather simple system). Vegetation is editable too, but *very* limited: you can just change the tree colour or make them look burnt.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now