Jump to content
ekroemer

[RELEASE] DZMSHotSpots

Recommended Posts

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: MapMarkers.jpg
  • loot positioned in a house: LootInHouse.jpg
  • trying to sneak onto higher ground: Discovered.jpg
  • and failed, again: ShotAgain.jpg
  • ok, I remembered the free roam camera: a birdview HotSpotBirdview.jpg

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: RoadBlock.jpg
  • and with an armed vehicle: RoadBlockVehicle.jpg

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 ;-)

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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 :-(

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 ;-)
 

Share this post


Link to post
Share on other sites

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!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By JasonTM
      Download the files for DZMS Overpoch 1.0.6.2 Here: https://github.com/worldwidesorrow/DZMS-DayZMissionSystem-Overpoch
       
      This is an update to the DayZ Mission System by Vampire that was updated for DayZ Epoch 1.0.6.1 by ebayShopper: https://github.com/ebayShopper/DZMS-DayZMissionSystem
      This includes adding a few missions from EMS 0.3 by Fuchs:
       
      Updates:
      1. Added a variable in DZMSConfig.sqf to enable the AI to have money in their wallets if ZSC is installed.
      //If you have ZSC installed then you can set this to true to place money in ai wallets. DZMSAICheckWallet = false; 2. Added the Overwatch weapons to the AI and Crate configs.
      3. Expanded the selection of gear and vehicles available to the missions, AI config, and crate spawns.
      4. Created additional crate spawning options.
      5. Changed "UH60Wreck_DZ" to "UH60_ARMY_Wreck_burned_DZ" in minor mission SM4 because of "Cannot create non-ai vehicle UH60Wreck_DZ" error.
      6. Converted the format of a few EMS 0.3 missions and added them to the mission spawning arrays.
      7. There is an issue with the new small ammo boxes and medical crates which is not resolved.

      Here is a list of all of the Major and Minor missions with a few notes.
       
       
      Demo Video
       
       
    • By Grahame
      ARMA3 DayZ Mission System (DZMS)
      This is a purely derivative port of the DayZ Mission System to ARMA3/Epoch. I have added functionality where appropriate (equipping uniforms for example) and stripped and replaced ARMA2 or DayZ/Epoch specific code in this implementation.
      The DayZ Mission System is a very good, lightweight and modular mission system.
      Credits
      There are a lot of people who have contributed to DZMS on A2/DayZ/Epoch. Please check the links below for many of them. Personally they all have my thanks for providing a solid mission system that has been a lot of fun to play in the years I've spent on DayZ/Epoch:
      Download
      Download from GitHub at:
      https://github.com/morgoth0/A3E-DZMS
      Installation Instructions
      If using Vanilla ARMA3/Epoch, and you just want to just try it out simply download and upload the DZMS.pbo in the @EpochHive folder into the @EpochHive/addons folder on your server.
      The source files, including the three config files are located in the DZMS folder on GitHub
      Coming soon
      All the missions included within the latest version of DZMS 1.1 uploaded by @JasonTM will be implemented using CUP Terrains Core for use on maps and servers that support it. A module to support Static weapons at missions More diverse and varied loot tables for custom crates A port of the DZMS Hotspots code for roadblocks and other such interesting things The ability to run multiple major, minor and hotspot missions Better configuration instructions and a mission file design tutorial
    • By Mrjinkzy
      New W.I.C.K.E.D Gaming Overpoch
      W.I.C.K.E.D GAMING PVP /Building Box/bank/AI /Paycheck 
       
      172.106.174.6:2802 https://gyazo.com/8f1c739fe5b0b965db7f3f6df451efc9
    • By TheVampire
      DZMS is a logic and useability rewrite of the DayZChernarus Mission System.
      DZMS should be considered as an "updated" DayZChernarus Mission System.

      Why Use DZMS instead of DayZChernarus MS?
      DZMS has a simple Configuration File, no more digging through code No more junk code! (Anyone who has read add_unit_server will understand) Simple Install! DZMS Requires a single line edit. No more server_cleanup confusion! No more messy mission code! DZMS uses functions for most code. DZMS is rewrote with all maps in mind, not just Chernarus. Hence the Generic Rename. DZMS is completely server sided! No marker files needed in the Mission PBO! No more "Novy Sobor Bug"! Plus, many features have been added!
      Option to save vehicles to the database! If Vehicle Saving is off, Users are warned when entering vehicles! Randomized Crate Loot! No more static crate loot! Adjustable Body Despawn Time! Optional: AI Ran Over have no gear! More!  
      The Current Version is v1.2

      Download Instructions: https://github.com/SMVampire/DZMS-DayZMissionSystem
      Project Tracking: https://github.com/SMVampire/DZMS-DayZMissionSystem/projects
       
      (Note: I have given The Fuchs permission to use DZMS as the base for EMS.)
    • By harcosgoogle
      Hi!
       
      How to add napf map dzms mission System?
  • Advertisement
  • Supporters
  • Discord

×
×
  • Create New...