black_hawk_mw2_87 74 Posted October 9, 2019 Hello, community. - I want to create a task in the middle of a huge town. The type of the task is not important. - We all know I can simply place enemy units... and even if I use waypoints, they will be very predictable and I will almost always know their possible location and position. - For this reason and in the interest of the dynamic and immersive gameplay I am seeking, I wish to use some kind of a script that would randomly "choose" dynamicaly generated spots and positions and will spawn these groups somewhere around, let's say around the objective in a hidden marker area. - In order to achieve this I could probably create and name the groups first and use their tags in the script that is going to spawn them in this area. - The other possible way would be to include units' correct editor names (classifications) and spawn all of the included units, but this seems to be more difficult to accomplish. So, what would you suggest? As always, thank you in advance and cheers! 🙂 Share this post Link to post Share on other sites
wogz187 1086 Posted October 9, 2019 @black_hawk_mw2_87, You need the framework I'm getting ready to release. The mission script would look like, baseMARK3 call MMF_fnc_soldierEAST; eastLead call MMF_fnc_randomWP; player call MMF_fnc_wpTracker; And that's about it. Here's an example of a 3 wave base defense mission, Spoiler if (scene_Type==5) exitWith { if (scene_State==1) exitWith { currentMARK=baseMARK1; player call MMF_fnc_stripITEMS; playIntro=3; []spawn MMF_fnc_intro; spawnState=0; spawnNUM=4; baseMARK1 call MMF_fnc_soldierWEST; baseMARK1 call MMF_fnc_coverTRAP; baseMARK2 call MMF_fnc_soldierEAST; baseAREA2 call MMF_fnc_soldierEAST; scene_state=2; sleep 1; systemChat "Defend the Base!"; sleep 4; systemChat "WAVE 1 INCOMING"; waveNUM=1; }; if (scene_State==2) exitWith { waveNUM=waveNUM+1; if (waveNUM==2) exitWith { baseMARK2 call MMF_fnc_soldierEAST; baseAREA2 call MMF_fnc_soldierEAST; systemChat "Defend the Base!"; systemChat "WAVE 2 INCOMING";}; if (waveNUM==3) exitWith { baseAREA1 call MMF_fnc_soldierWEST; baseMARK1 call MMF_fnc_coverTRAP; baseMARK2 call MMF_fnc_soldierEAST; baseAREA2 call MMF_fnc_soldierEAST; systemChat "Reinforcements inbound!"; systemChat "WAVE 3 INCOMING"; }; if (waveNUM==4) exitWith {"Success!" call BIS_fnc_endMission;}; }; The mission above is contained within a function and can be spawned any time. and a link for the V2 preview. 2 1 Share this post Link to post Share on other sites
johnnyboy 3793 Posted October 9, 2019 4 hours ago, black_hawk_mw2_87 said: - We all know I can simply place enemy units... and even if I use waypoints, they will be very predictable and I will almost always know their possible location and position. EDIT: I just re-read the top post, and I don't think you were asking for a WAVE assault, so if that's true, you can totally ignore my suggestion below! Haha. To achieve all your goals, Wogz's code sounds great. However, it is relatively simple to create a very randomized wave assault mission using editor placed groups, waypoints, and a time-release loop. Like this: Place 6 assault groups around the town and name the groups g1,g2,g3,g4,g5,g6. Create series of waypoints for each group leading them to center of town (or wherever you want them to attack). The first waypoint for each should be close to group's starting position and contain this code in the waypoint: this lockwp true; lockwp true will force units to stop moving and wait until lockwp = false. Make all the intermediate waypoints that move the assault groups to town center have a placement radius of 200 or 300. This will guarantee their exact path differs each run. To start the wave assault, run a script like the following. It could be in your init.sqf or a trigger. assaultGroups = [g1,g2,g3,g4,g5,g6] call BIS_fnc_arrayShuffle; // randomize order of assault groups sleep 30; // Sleep however long you want before starting first group moving { _x lockwp false; // start group moving through their waypoints sleep (100 + random 100); // randomize delay time between starting each wave/group } forEach assaultGroups; I created a mission with this approach where I had assault groups coming by sea to a beach landing, and multiple land groups (infantry, mechanized infantry, and armor). It worked very well and was very re-playable and unpredictable, because : Order in which groups/waves attack is randomized Exact path each group follows is randomized by waypoint placement radius Time between releasing each wave is randomized When group's combat AI takes over, they are reacting to enemy presence and no longer following waypoints. Hope that helps. Good luck. 3 2 Share this post Link to post Share on other sites
wogz187 1086 Posted October 9, 2019 when programmers try to dance, call BIS_fnc_arrayShuffle; Thanks @johnnyboy that's a useful function. 3 Share this post Link to post Share on other sites
black_hawk_mw2_87 74 Posted October 9, 2019 T H A N K Y O U!!! This tutorial and the other idea are really helpful. I am thankful for your response, friends, and I appreciate your help and support. This is important to me and I am thinking to create a huge scenario of a city under siege or may be even a whole campaign on the Polish map Jaslo. It is an incredible map and it is worth it! 🙂 Cheers! 🙂 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 9, 2019 Finally just to be clear , your intention is to create a defend mission ? Or just spawn some units on random in a marker ? Share this post Link to post Share on other sites
black_hawk_mw2_87 74 Posted October 9, 2019 2 minutes ago, GEORGE FLOROS GR said: Finally just to be clear , your intention is to create a defend mission ? Or just spawn some units on random in a marke Thank you for joining the discussion. My intention is to achieve both goals - spawn enemy groups in different and dynamic (random) locations, for example when a trigger is fired, in order to place them on defensive positions. I need them to be at a different place in a marked area, for example within a marker area, but not knowing where they'd appear on my next approach to the objective. This would bring in immersion and different experience every time I play the scenario. 😉 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 9, 2019 This can be done with many ways and there are several spawn scripts about it. Have you ever tried any ? Share this post Link to post Share on other sites
black_hawk_mw2_87 74 Posted October 9, 2019 3 minutes ago, black_hawk_mw2_87 said: Thank you for joining the discussion. My intention is to achieve both goals - spawn enemy groups in different and dynamic (random) locations, for example when a trigger is fired, in order to place them on defensive positions. I need them to be at a different place in a marked area, for example within a marker area, but not knowing where they'd appear on my next approach to the objective. This would bring in immersion and different experience every time I play the scenario. 😉 And may be one more thing. I am not completely sure which way would be easier - set up different enemy groups with prepared waypoints moving in to the objective as a defensive task or simply use some kind of spawning trick. What would you say about this? 😉 2 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 9, 2019 The whole thing is what exacly you want to do , using the editor or using scripts. 2 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 9, 2019 Personally i don't use the 3editor at all. I like to build missions that can be played automatically in any map. 2 Share this post Link to post Share on other sites
black_hawk_mw2_87 74 Posted October 9, 2019 4 minutes ago, GEORGE FLOROS GR said: This can be done with many ways and there are several spawn scripts about it. Have you ever tried any ? To be honest - I think I haven't. I have tried different ideas, but not very successfully. I have a script where the first prepared group is completely wiped out and when this condition is checked, the same type of units (the exact same group) spawns on the same position and follows the already existing waypoints, but this location should be at least 200m away from the player, according to this concrete and specific script. 1 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 9, 2019 2 minutes ago, black_hawk_mw2_87 said: according to this concrete and specific script. You should add your script in a spoiler ( code ) to have a check. I remember that wogz added a script about creating enemy zones , maybe i posted something as well. I have also create some similar scripts , but to be honest i was about to tell you about EOS or Dac script or Pierre's MGI modules etc. 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 9, 2019 I found in my files the +GF_Zone_Spawner.Stratis.zip if you want to have a check . [ SP/MP ] Expires in: 29 days 21:56:16 | Size: 19.7 KB | 10.10.19 2 Share this post Link to post Share on other sites
black_hawk_mw2_87 74 Posted October 10, 2019 6 hours ago, GEORGE FLOROS GR said: I found in my files the +GF_Zone_Spawner.Stratis.zip if you want to have a check . [ SP/MP ] Expires in: 29 days 21:56:16 | Size: 19.7 KB | 10.10.19 Thank you very much again! I will give it a shot, dude! 🙂 It seems to me I need to make a lot of changes as I intend to use these spawning forces for defense. I tested the scenario this morning and it looks quite intriguing. 🙂 Cheers! 🙂 1 Share this post Link to post Share on other sites
wogz187 1086 Posted October 10, 2019 @black_hawk_mw2_87, Quote spawning forces for defense With the MMF framework you can create a friendly base with services like repair, heal and arsenal simply by placing the blue arrow named baseMARK1. From there you can call configurable groups for defense with waypoints, pin the units in place to hold a position, call configurable vehicles (including a patrol helicopter and tank) or even animate units with a single script line. We shouldn't have to recreate the function of a "base" each time we sit down to make a new mission. Instead we'll write a shortcut (calling several functions at once with their variables defined) that makes the whole scene appear like magic because then we can just... have fun! 3 Share this post Link to post Share on other sites
GEORGE FLOROS GR 4207 Posted October 11, 2019 19 hours ago, wogz187 said: With the MMF framework -->Following ! 2 Share this post Link to post Share on other sites