ekroemer Posted August 27, 2014 Report Share Posted August 27, 2014 With permission of TheVampire I'm releasing a modification of his DZMS. All credits go to TheVampire. Further thanks to Smitty Jagerman and NigeyS for coordinate contributions. DZMSHotSpots basically is a copy of DZMS, configured to run a permanent treasure hunting mission, incidently creating PvP-HotSpots as well as roadblock ambushes. Download: https://dl.dropboxusercontent.com/u/90098571/DZMSHotSpots/DZMSHotSpots.rar Major Missions: A crate is hidden on the map. Possible locations are marked but players have to search for the correct one. Markers are circles with a question mark in their center. The crate is somewhere in this circle, but not in the center. The map markers will create hotspots for your players to converge and have PvP, typically in a close quarter environment. Each mission starts with a different set of possible locations, thus making lurking at likely positions infeasible. There is always a major mission running. As soon as a mission is finished, a new set of possible locations will be marked on the map and a new crate will be placed. Minor Missions: Roadblocks are created, these are not marked on the map. Some AI are manning the ambush. In the missions "RBFort","RBSandBags","RBTankTraps", a small crate is placed within a static scenery. "RBVehicleArmed" features an armed vehicle as prize. Installation & Configuration: Spoiler You can run DZMSHotSpots alongside DZMS and have to install it the very same way. In DZMS's 1.1Final version I simply replaced all occurrences of "DZMS" by "DZMSHotSpots" and renamed the files accordingly. Center part of the configuration is the list of static locations DZMSHotSpotsConfig.sqf:DZMSHotSpotsStatLocs. Currently coordinates for Chernarus, Napf and Taviana/Tavi-Origins are provided. Also included are Takistan coordinates by Smitty Jagerman and Miroslavl coordinates by NigeyS. With DZMSHotSpotsConfig.sqf:DZMSHotSpotsNumber you define a number of currently used hotspots. Each time a mission starts, <DZMSHotSpotsNumber> locations are chosen from <DZMSHotSpotsStatLocs> and marked on the map. You can define the radius of the map marker circle using DZMSHotSpotsConfig.sqf:DZMSHotSpotsRandR. Default is 50m. A major mission simply places a crate and 6 AI at one of these marker positions. Note that some of the AI may already be dead because they spawn within walls or on roofs. The mission will end once a player is withing 2m of the crate; the crate will despawn within 5 minutes (change with DZMSHotSpotsConfig.sqf:DZMSHotSpotsSceneryDespawnTimer). DZMSHotSpotsConfig.sqf:DZMSRoadBlocksStatLocs is used to define a different set of coordinates for minor mission roadblocks. These positions are not marked on the map, you are meant to be ambushed. A minor mission also places a crate, along with some scenery blocking the road of (in case of "RBVehicleArmed") an armed vehicle randomly chosen from the array DZMSHotSpotsConfig.sqf:DZMSHotSpotsArmedVic. You can change the damage handling using DZMSHotSpotsConfig.sqf:DZMSHotSpotsAIBlood DZMSHotSpotsAIBlood = 0; will continue using the Arma handler, meaning easy to kill AI using a number > 0, e.g. DZMSHotSpotsAIBlood = 12000; will scale the damage dealt to the unit by 8000/DZMSHotSpotsAIBlood. That means that in the example above the unit only takes 8000/12000 = 3/4 of the damage it normally would. using a number < 0 will enable using the DZAI damage handler. If you run DZAI then you should choose a value within the DZAI interval DZAI_unitBloodLevel. Note that DZAI_useHealthSystem needs to be true! Miscellaneous: Spoiler There are 5 predefined major missions DZMSHotSpotsConfig.sqf:DZMSHotSpotsMajorArray that are different only in what type of loot is placed (HSSupply, HSMoney, HSVehAmmo, HSRareAmmo, HSLauncher). There are 4 minor mission for DZMSHotSpotsConfig.sqf:DZMSHotSpotsMinorArray ("RBFort","RBSandBags","RBTankTraps","RBVehicleArmed"). Be sure to adapt the loot to your server's needs. Note that I've already changed the DZMS defaults to my liking, you may want to remove the M240 nest from the supply crate as well as the complete launcher crate mission. The minor mission "RBVehicleArmed" spawns a vehicle with an active gunner who will shoot at you. Naturally for doing this he needs ammo. Any ammo he doesn't spend can be used by the player capturing the vehicle. Map marker creation is done within a modified version of Scripts/DZMSHotSpotsMarkerLoop.sqf. Map marker choice is done by a new function DZMSHotSpotsFunctions.sqf:DZMSHotSpotsGetCooSet As usual, change the interval between missions with DZMSHotSpotsConfig.sqf:DZMSHotSpotsMajorMin|Max. The major mission coordinates provided are scattered around the map, mostly chosen in backyards of houses in small villages but avoiding barns because there people often build bases. Sometimes the locations are within a building. That, however, only works well on the ground floor because crates seem to be placed at z=0. For that reason the missions only use the big USVehicleBox, smaller ones tend to vanish below the floor. To help admins with the definition of new locations, there is a variable DZMSHotSpotsConfig.sqf:DZMSHotSpotsDebug. If set to true, all possible hotspots are marked on the map, not only the <DZMSHotSpotsNumber> locations for the current mission. Minor mission positions are on roads, mostly at crossroads or in sharp bends. In the mission files you could disable the placing of AI completely, thus making the crate location harder to find. The AI can be spotted from the air more easily than the crate itself. If you want, you could simply tweak DZMSHotSpots to place/replace a static crate at a known position at given intervals (instead of only once per server restart) Edit 2014-08-27: Screenshots Spoiler I'm not sure what screenshots can do that my wall of text can not :-) But here you are. Action shots are difficult to make - the admin tool does not hide me from the AI, so there are no pictures of an unalerted AI and the crate in one frame. Sadly I missed the one where I had the crate in view when suddenly a bot ran up behind me and shot me in the head ;-) map markers of potential loot sites: loot positioned in a house: trying to sneak onto higher ground: and failed, again: ok, I remembered the free roam camera: a birdview Nice thing is: the close quarter combat really works: some days ago I actually lobbed a grenade over a wall :-) Edit 2014-09-05: Info about new minor missions (roadblocks) added above. Screenshots: Spoiler roadblock with a circle of H-barriers: and with an armed vehicle: Edit 2014-09-06: changes to map markers and minor mission intervall, see post below. Edit 2014-09-08: Debug mode expanded: Spoiler On DZMSHotSpotsMapDebug = true; green question marks show all possible locations for major missions, that's DZMSHotSpotsStatLocs, green exclamation marks show all possible locations for minor missions, that's DZMSRoadBlocksStatLocs, a red question mark shows the true location of AI&loot for a major mission, a red exclamation mark shows the true location of AI&loot for a minor mission. Note that red markers will be shown at [0 0] before the first major/minor mission starts, red markers will stay at the old position of a cleared mission until the next mission of the same type starts, red&green markers show true positions and should lie within but not in the center of their yellow counterpart's circle. Map marker update is on a 25s cycle, so your update may seem out of date if you jump fast between missions spaced only some seconds. Edit 2014-09-13: optional DZAI damage handler enabled. With permission from Face now the sophisticated DZAI damage handler can be used for DZMSHotspot AI! See post 31 and the installation instructions above for details. Edit 2014-10-10: info about Takistan and Mirislavl coordinate contributions added. Edit 2016-12-16: replaced dropbox links raymix 1 Link to comment Share on other sites More sharing options...
Guest Posted August 27, 2014 Report Share Posted August 27, 2014 screenshots? Link to comment Share on other sites More sharing options...
ekroemer Posted August 27, 2014 Author Report Share Posted August 27, 2014 I've edited the first post for some screenshots. Link to comment Share on other sites More sharing options...
spartan Posted August 31, 2014 Report Share Posted August 31, 2014 Can this be run alongside the normal missions ? Link to comment Share on other sites More sharing options...
ekroemer Posted August 31, 2014 Author Report Share Posted August 31, 2014 Yes, as the Installation & Configuration section says: it's running as a completely independent second instance of DZMS, no interaction, whatsoever. Link to comment Share on other sites More sharing options...
spartan Posted August 31, 2014 Report Share Posted August 31, 2014 Ok, cool, thank you ! Link to comment Share on other sites More sharing options...
Ivory Posted August 31, 2014 Report Share Posted August 31, 2014 i´ve download it and i have some questions :P you only use the Major mission system for the Hotspot event right? why you don´t remove the Minor from the system? :D but create work this is nice Link to comment Share on other sites More sharing options...
ekroemer Posted September 1, 2014 Author Report Share Posted September 1, 2014 Yes, I could have removed the minor mission directory :-) But then, the whole DZMS system still has the internals to handle minor missions and I didn't really want to remove the possibility of running additional minor missions. Who knows - perhaps something that doesn't need map markers, like random roadblocks ;-) Link to comment Share on other sites More sharing options...
ekroemer Posted September 5, 2014 Author Report Share Posted September 5, 2014 OK, I've uploaded an update and added information to the first post. Now there are minor missions, too: roadblock ambushes without map markers. At any time somewhere on the map (on a road, hence roadblock ;-) a group of 4 AI waits for the unprepared traveller, either blocking the road with some static obstacles (sandbag fort, circle of tanktraps or circle of H-barriers), rewarding you with a medic box full of money, or with an armed vehicle (including twitchy gunner) that you can sell/drive/shoot with (vanishing with the next server restart in you keep DZMSHotSpotsSaveVehicles in the default position false). Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 5, 2014 Report Share Posted September 5, 2014 I just downloaded this and it's pretty cool, but I noticed that once you access the loot box, any remaining AI disappear. I tested this on my test server, in god mode. I teleported in and let them try to kill me and after a short period, I went to the box and accessed it. About 5 - 10 seconds later all the AI disappeared. I tested this 3 times. Is this intentional? Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 6, 2014 Report Share Posted September 6, 2014 Any way to change the circle with the ? in it to a marker that covers a specific area so you can't pin point the exact location? Like have a colored circle that covers a radius and the box is someplace in there. Like they use here: Link to comment Share on other sites More sharing options...
ekroemer Posted September 6, 2014 Author Report Share Posted September 6, 2014 AI being deleted: DZMS holds all units tied to a mission in either DZMSUnitsMajor or DZMSUnitsMinor. When a mission is started, all surviving AI from the last mission of the same type (major|minor) are deleted. So I guess you could increase the mission interval DZMSHotSpots(Major|Minor)(Min|Max) from their value of 10s to something greater. Perhaps one should set this value equal to DZMSHotSpotsSceneryDespawnTimer which cares for crate despawn and is set to 300s. But I'm not that comfortable with this solution because of the map markers: at the end of each mission file a new set of map markers is chosen and will be displayed immediately, even if at that moment new crates are not yet spawned. And I'd rather not make the marker display mechanics more complicated than it already is.... You could try to set the time between missions to 60s: time enough to get shot while looting and not enough time for players to search the new locations in vain. Markers: OK, now I got a working solution. First of all: using only circles of a given radius as map marker is not that easy because you only see the marker when zoomed in (no sense in the marker covering the whole village). I therefore mixed both methods: crate is somewhere within the circle and the circle center is marked with the question mark so you can quickly identify it on the map. You set the radius of the circle using DZMSHotSpotsConfig:DZMSHotSpotsRandR I've tested with 50, that makes it astonishingly difficult to locate the crate, with all the fences being in the way ;-) Be aware that the circle area increases with r^2, so doubling the radius makes it 4 times as hard to find the crate. Note that the crate position itself does not change! Only the circle center is randomly chosen within the defined distance to the crate. I cannot randomly choose the crate position because it then would most probably end up inaccessibly somewhere within buildings. Standard DZMS missions do not have this problem because they are spawned in free terrain. Only way around this is to massively increase the array of possible locations - a dozen spots per village would be great ;-) I think the uncertainty of the crate's whereabouts makes the AI despawn problem less severe, so I'll keep the default for major mission intervals at 10s. It's highly unlikely that you can sneak to the crate without being seen by the AI. Minor mission intervals are now 300s, the same as DZMSHotSpotsSceneryDespawnTimer. BTW: I also fixed the Vybor position - the loot had been spawned on the building floor (0.36m) but that apparently was too high :-( Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 6, 2014 Report Share Posted September 6, 2014 What about adding the option not to have the new markers show until the next mission starts? I really don't want missions to be starting immediately after the previous mission. I like having a delay between missions. Link to comment Share on other sites More sharing options...
ekroemer Posted September 6, 2014 Author Report Share Posted September 6, 2014 Hmmm, and this was supposed to be my day off ;-) Between a "}" more and a "then" less than needed this has taken longer than expected, but now it should allow you to define your major mission interval without constraints -> re-download. Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 6, 2014 Report Share Posted September 6, 2014 Awesome. Thank you. Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 7, 2014 Report Share Posted September 7, 2014 Another request - Debug mode, showing which marker the loot is at, and where the roadblocks are, so I can be sure they are working properly when testing. Link to comment Share on other sites More sharing options...
ekroemer Posted September 7, 2014 Author Report Share Posted September 7, 2014 Hmmm, perhaps next weekend, I have to work for a living ;-) But it shouldn't be hard. For debug I'm using Infistar's map icons, shows you the AI as red circles. To clarify: do you mean the one active roadblock or all possible ones? Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 7, 2014 Report Share Posted September 7, 2014 Hmmm, perhaps next weekend, I have to work for a living ;-) But it shouldn't be hard. For debug I'm using Infistar's map icons, shows you the AI as red circles. To clarify: do you mean the one active roadblock or all possible ones? No! No working for you! :) I mean the active roadblock, so I could teleport there and check it to be sure it's ok, and if needed I could tweak the settings for that roadblock. Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 8, 2014 Report Share Posted September 8, 2014 Another feature suggestion: As players reach the markers that have no mission at them, have the marker disappear. This way it's easier to narrow down which marker is the mission. Link to comment Share on other sites More sharing options...
ekroemer Posted September 8, 2014 Author Report Share Posted September 8, 2014 I know you're running a PvE server, there clearing the markers would make sense, representing a combined effort to find the treasure and inform the others about where not to look. However, one of the goals of the mod is to create PvP-hotspots, so it would be a perfectly valid tactic to lay an ambush at a marker, waiting for other players to come, look for treasure. Here a disappearing marker would be counter-productive. But sure, I could make the feature optional. The main problem is: DZMS has a mechanism to look for the 'end of a mission', namely, a player being in the vicinity of the objective coordinate. DZMSWaitMissionComp is called in each mission file and is blocking, meaning the call doesn't return before the condition is met. To implement your suggestion one would have to run this detection on each of the possible crate locations, simultanously. This is equivalent to having a whole bunch of major missions running in parallel and I'm not prepared to delve this deep into a central part of the mission system. I will, however, keep an eye open for more easy ways to achieve the goal. Link to comment Share on other sites More sharing options...
ekroemer Posted September 8, 2014 Author Report Share Posted September 8, 2014 Expanded debug mode as requested. May I go play, now? ;-) Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 8, 2014 Report Share Posted September 8, 2014 Expanded debug mode as requested. May I go play, now? ;-) What files are different that allow me to turn on debug mode? Link to comment Share on other sites More sharing options...
ekroemer Posted September 9, 2014 Author Report Share Posted September 9, 2014 I'm afraid, a whole bunch of them. I had to touch all mission files because the actual loot coordinate is determined there and I needed to forward it as a global variable to the marker loop. The touched files should be: DZMSHotSpots/DZMSHotSpotsConfig.sqf DZMSHotSpots/DZMSHotSpotsInit.sqf DZMSHotSpots/Scripts/DZMSHotSpotsMarkerLoop.sqf DZMSHotSpots/Missions/Major/HSLauncher.sqf DZMSHotSpots/Missions/Major/HSMoney.sqf DZMSHotSpots/Missions/Major/HSRareAmmo.sqf DZMSHotSpots/Missions/Major/HSSupply.sqf DZMSHotSpots/Missions/Major/HSVehicleAmmo.sqf DZMSHotSpots/Missions/Minor/RBTankTraps.sqf DZMSHotSpots/Missions/Minor/RBVehicleArmed.sqf DZMSHotSpots/Missions/Minor/RBSandBags.sqf DZMSHotSpots/Missions/Minor/RBFort.sqf At least nothing defining crate contend or AI in the list ;-) Link to comment Share on other sites More sharing options...
ekroemer Posted September 9, 2014 Author Report Share Posted September 9, 2014 For anyone having to define their own set of coordinates I'll share my admin_start.sqf: private["_xpos", "_ypos", "_zpos"]; _xpos = 0.1*round(10*((getPos player) select 0)); _ypos = 0.1*round(10*((getPos player) select 1)); _zpos = 0.1*round(10*((getPos player) select 2)); diag_log text format ["admin_start: pos = [%1, %2, %3],", _xpos, _ypos, _zpos]; If (and only if) your server is running InfiStar (and you have admin privileges, I suppose), you create a script named admin_start.sqf in your client's (the computer you're playing on ;-) Arma2OA main directory (where the Arma2OA_be.exe resides), put the code above into it, jump/run to a position you like, press ALT-F11, repeat for other positions. Then you open your client arma2oa.rpt (located in something like %userprofile%\AppData\Local\ArmA 2 OA) search for lines containing "admin_start" (using NotePad++ and 'find all in current document' you'll have the whole list in one window) copy them into another file and postprocess. One line will look like admin_start: pos = [11021.00, 12468.30, 0.00], and you'll have to get rid of the string before the '[', and copy the result into DZMSHotSpotsConfig.sqf to form an array e.g. DZMSHotSpots<YOURMAP> and DZMSRoadBlocks<YOURMAP>. Don't forget to get rid of the trailing ',' in the last line of the array and to assign the correct coordinates ala DZMSHotSpotsStatLocs = DZMSHotSpots<YOURMAP>; DZMSRoadBlocksStatLocs = DZMSRoadBlocks<YOURMAP>; If you're doing this for a map not yet covered, please share your result here! Link to comment Share on other sites More sharing options...
BetterDeadThanZed Posted September 9, 2014 Report Share Posted September 9, 2014 I use this: Using the map on the Epoch Hive Tools, I simply find good mission locations, click on the map and get the coordinates. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now