DayZ
60 ratings
Zens Map Enhancement
2
   
Award
Favorite
Favorited
Unfavorite
Type: Mod
Mod Type: Mechanics
File Size
Posted
Updated
1.045 MB
17 May @ 8:42pm
27 Jun @ 8:04pm
11 Change Notes ( view )

Subscribe to download
Zens Map Enhancement

Description
What Is This?

This mod adds a few extra immersive and quality of life features to the vanilla map functionality.

Features include:
- Adding/removing map markers
- Server-side config for adding static markers
- Full server admin config to enable/disable certain features
- Plugin code for admins to add dynamic map markers (eg. missions, quests)
- Uses mostly vanilla code so lightweight, robust & no wipe required to add/remove mod

Config Explanation:

This map adds features to existing vanilla map, so all vanilla map config still applies (eg. anything you tweak in cfggameplay.json will apply to this mod).

A JSON config file will be automatically generated in server_profiles/Zenarchist/ZenMapConfig.json

TakeMapToHandsOnHotkey:
Enable/disable when player presses M the character takes map into hands & opens it

MapsRepairableWithDuctTape:
Enable/disable repairing damaged maps using duct tape

SaveMarkersOntoMapItem:
Enable/disable ability to save markers directly onto map item. If enabled, then map markers can be added to the map item itself - meaning that players can share maps in-game with markers persistent on the map itself, useful for treasure maps, organizing combined activities like raids etc with other players, all in-game. Just be careful marking valuable locations - if you lose your map or get killed other players can see your markers! If disabled then the markers are only saved client-side.

AllowPlayerToDecide:
Enable/disable players being able to choose where the map marker is saved (only works if SaveMarkersOntoMapItem setting is enabled). So if they want to mark treasure maps etc they can, while keeping their personal markers private. A marker added to the map item while this setting is enabled is tagged with a * symbol to differentiate them from private client-side markers.

AllowCopyMapToMap:
Enable/disable the ability to copy one map's markers onto another map item - only works if SaveMarkersOntoMapItem is enabled.

RequirePenToMark:
Enable/disable the requirement of a non-ruined pen in player inventory to be able to edit markers on maps or copy markers if AllowCopyMapToMap setting is enabled. Make sure to enable vanilla pen spawning in types.xml if you turn this on: classnames are Pen_Black, Pen_Blue, Pen_Green, Pen_Red

MaxMarkerCountPerMapItem:
Set the maximum marker limit per map item. Only applies if SaveMarkersOntoMapItem is enabled, to prevent server sync issues if a player goes silly with map markers on their map item. Client-side has no marker limit.

PenMarkerConsumeQuantityPercent:
How much quantity OR health to take from the pen for each map action. If the pen has a quantity bar (eg. you're running my ZenNotes mod) then the pen's quantity will drain. Otherwise its health will drain instead. This is the total % of health/quantity to drain - so 10% = 10 uses of a Pristine pen.

DamageMapOnOpenPercent:
How much to damage the map whenever a player opens it. Disabled by default. Also a % - so 1% would mean 100 opens of a Pristine map before ruined. I recommend enabling MapsRepairableWithDuctTape if you use this setting.

NoPenColors:
The list of usable colors for map markers if a pen is NOT required to mark maps (RequirePenToMark is disabled).

IconFiles:
The list of usable map marker icons, moddable to easily add more markers if desired.

ServerMapMarkers:
A list of static server-side markers for admins who want to add certain POI's to the vanilla map.

Custom plugin code:
To add or remove a map marker using script code, you can do this:

// Generate map markers PluginZenMapMarkers mapPlugin = PluginZenMapMarkers.Cast(GetPlugin(PluginZenMapMarkers)); if (mapPlugin) { mapPlugin.AddMarker(new MapMarker("13154.231445 0.224814 10102.046875", "Berezino Transfer", -65536, GetZenMapConfig().FileToArrayIndex("ZenMap/data/icons/boat.paa"))); mapPlugin.AddMarker(new MapMarker("6501.937500 -0.019806 2191.357422", "Chernogorsk Transfer", -65536, GetZenMapConfig().FileToArrayIndex("ZenMap/data/icons/boat.paa"))); mapPlugin.AddMarker(new MapMarker("8229.091797 471.185577 9031.171875", "Altar Transfer", -65536, GetZenMapConfig().FileToArrayIndex("ZenMap/data/icons/heli.paa"))); } // Remove map markers if (mapPlugin) { mapPlugin.RemoveMarkerByIndex(int index) // use array index (eg. 0 = Berezino marker) mapPlugin.RemoveMarkerByName(string name) // remove by name (eg. "Berezino Transfer") mapPlugin.RemoveMarkerByPosition(vector pos) // remove by vector position (eg. "13154.231445 0.224814 10102.046875") mapPlugin.RemoveMarker(MapMarker marker) // remove by marker itself. } // Interact with map markers if (mapPlugin) { mapPlugin.GetIconIndex("filePath") // get icon index of IconList array in config mapPlugin.GetMapMarkers() // get array<ref MapMarker> of map markers mapPlugin.RemoveAllMarkers(bool removeStaticServerMarkers = false) // remove all custom-added map markers (except ones added by ServerMapMarkers list) } // Add/remove markers to a particular player (uses same functions as above, but with player parameter) if (mapPlugin) { mapPlugin.AddMarker(player, new MapMarker("8229.091797 471.185577 9531.171875", "TEST PLAYER MARKER", -65536, GetZenMapConfig().FileToArrayIndex("ZenMap/data/icons/heli.paa"))); mapPlugin.RemoveMarkerByName(player, "TEST PLAYER MARKER"); }

Installation Instructions:

Install this mod like any other mod - copy it into your server folder and add it to your mods list. Make sure to copy the .bikey into your server keys if you're not using a server management tool like OmegaManager which does that automatically.

This mod must be run on both client and server.

A JSON config file will be automatically generated in server_profiles/Zenarchist/ZenMapConfig.json

Repack & Source Code:

You can repack this mod if you like, and do anything else you want with it for that matter. Just keep in mind my future updates won't be applied so make sure to check back for new versions if you notice any bugs. The source code is on my GitHub at www.zenarchist.com

Buy Me A Coffee:

All my mods are free and open source, but it takes an enormous amount of time to put some of these mods together. If I've helped you out, please consider helping me buy my next coffee! I don't expect it, but I very much appreciate it.

https://buymeacoffee.com/zenarchist

Enjoy
21 Comments
ebanat 9 Jul @ 6:25am 
Edits:
They are invisible, but they are created
ebanat 9 Jul @ 6:21am 
dont add markers...
what am i doing wrong?
installed the mod via my hosting provider's web interface
GypsyvGaming 4 Jul @ 4:30pm 
Seems to be a bug or I don't know how to disable it, but when you delete markers when you go back into the map they still appear. How do you fix this?
Ilin91 2 Jun @ 1:58pm 
please tell me, another config "ZenMapStaticObjectsConfig" is created in the folders, but I can't find a description of what it does
Ilin91 31 May @ 5:05am 
I would also like a global chat, when you turn on the radio, it appears, only from your implementation, you make very cool mods!
Demo 29 May @ 5:40am 
To add to my previous comment. If you have your config setup to not require a map in hand and open a map, you get a satellite view without coordinates on the top and left. If you have a map in your inventory or hand however, you get the other map that is not the satellite version and it has coordinates.
! 28 May @ 2:38pm 
hi zen, can you make it that if you have an enabled gps device you can see your position on the map, like in this mod https://steamproxy-script.pipiskins.com/sharedfiles/filedetails/?id=1764193936&searchtext=gps+map
Demo 28 May @ 8:03am 
It would be nice to add a feature that would not show the same local markers in all the servers you play on. Maybe add in the local json a server identifier using IP and port of the server to uniquely ID each server and have their own set of local markers.
Demo 27 May @ 2:21pm 
Looks like the grid square coordinate at the top and left are gone?
madskillz 25 May @ 5:42pm 
Thanks for your answer! Can you make the card go back when you turn it off?