garbage_camp_marker = Unique ID for spawning with scripts
name = string or language key from lang_*.json file
spot = marker icon file name relative to assets/ui/pda/ folder
type = "camp" for safe levels, "quest" for combat levels
position = [X, Y] position of the marker on the map (maximum [568, 832])
level_id = name of the folder/file of the level in assets/levels/ that will load
pda.json
"my_mod_level": {
"name": "My mod new marker",
"spot": "marker.png",
"type": "camp",
"position": [135,28],
"level_id": "garbage_camp"
}
Create new marker structure at the end of the file, use spot icon from assets/ui/pda/marker.png
Then to add this marker, open assets/scripts/p_game.gd and add this marker to the player PDA.
Using this function:
pda.AddMarker("my_mod_level")
Also you can check if marker exist at the map and delete it:
if pda.GetMarker("my_mod_level"):
pda.DeleteMarker("my_mod_level")
Don't forget that you need show PDA (enable pda button in menu and on keys M or P on keyboard):
GameManager.ShowPDA(true) # false for disabling
After adding marker with any method, by event key or completed quest, or changed level, check PDA.