The stand-alone mod S.T.A.L.K.E.R. Anomaly aims to be the most stable and customizable experience for fans of the S.T.A.L.K.E.R. games. It's powered by the Monolith 64-bit engine, a custom fork of the X-Ray engine.
Adds a new tier of craftable PDA and allows customization or progressive unlocking of what each tier can see: ally, neutral, or enemy squads, as well as bodies and their map icon.
This addon has three primary purposes:
Note that this will NOT change your existing settings if you already have MilPDA installed. These changes are just the defaults for new installations. I highly recommend you try them, however!
Designed by an unknown government or NGO for covert operations, the Milspec PDA incorporates all the features of the previous models--but also snoops cellular and network traffic in order to display an approximate location of hostile squads. Because zombified stalkers are still sometimes carrying PDAs or other geolocation devices, the Milspec PDA will even show their locations as well.
The catch? The cryptographic module is power-hungry, and consumes battery at twice the rate of any other PDA, even when you don't have it open. Additionally, this isn't exactly an off-the-shelf store brand you can buy or find lying around--you will have to build one yourself, and doing so requires some fairly sophisticated components, as well as a copy of PDA 3.1 to modify.
If you think it's imbalanced to be able to see special factions like Monolith, the custom blacklist has you covered. As for realism, consider that soldiers being located by their mobile phones, tablets, or other electronic devices is a real vulnerability in present-day battlefields. It's today's news, not tomorrow's tech.
But don't let the map icons become a replacement for situational awareness. They only show the location of squad leaders, not the guy flanking you--and mutants don't carry PDAs.
Don't think you should be able to see Monolith, Sin, or ISG with this? Enable the blacklist, and those three factions are excluded by default. You can also individually customize whether each faction shows up on the Milspec PDA--whether it's for game balance or lore reasons, to cut down on visual clutter, or even for special challenge rules like letting yourself gradually unlock different factions.

If you like Ishmaeel's Kill Tracker, that functionality is now fully integrated into the Milspec PDA. You don't have to use it, and you should download Ishmaeel's original mod to get their clever text descriptions--which are st_praise_chefskiss. But the feature is there if you want it, and a separate patch is no longer be required for Kill Tracker or GAMMA.

Body tracking is handled separately from body display, so you won't lose your map markers even if you lose PDA power, reload your game, change style, or toggle the option off and back on. Bodies cluttering up your map? You can now right-click on any body marker, see whose it was, and remove it.

Kill Tracker will now even track the kills of your companions and their squadmates, if you want it to--but you can always turn that off so that you only see your personal kills.
Choose from five styles of icon for bodies on the minimap: a white X (credit to AlphaLion), a slightly larger white skull, or small/medium/large blue dots.

All of these changes take effect as soon as you apply them in MCM, so you can immediately see whether you like a style without restarting the game.
If you want more, try the Personal Adjustable Waypoint addon. It allows you to use PAW's large icon library or faction badges for body icons.
Think PDA 1.0 should be able to see your own faction? Don't think any PDA should see enemies, but want all PDAs to mark bodies on the map? Customize each tier of PDA to your liking, individually toggling whether friendlies, neutrals, enemies, or bodies are shown, as well as whether that PDA obeys the faction blacklist.

Just unzip the file directly into your Anomaly folder or install using a mod organizer, now with proper fomod support. You can manually move them over if you're more comfortable doing that, but there are a number of files in different places, and an organizer like MO2 is recommended.
A new game is not required, and removing the mod will not affect a game in progess--however, you must get rid of the PDA item first, as the existence of any item that is no longer in the config files can cause crashes.
The "uninstall" option will delete any copies of the item in the player's inventory to avoid crashes. Do the following:
If you don't have MCM, then:
It is then safe to uninstall this addon using MO2. I cannot assist with manual uninstallation.
The default icon for this item is based on the style of icons in the Cr3pis pack. If you prefer the look of the vanilla anomaly PDA icons, I have included a version you can use. To to so:
![]()
The MPDA will now use an alternate inventory icon based on vanilla Anomaly.
There is also a third icon option, made to look like the Milspec PDA in the addon's logo image. If you want to use it, change inv_grid_x to 2.
The default styles include the four chevrons in the lower right to denote a tier 4 item. If you don't like these indicators, you can turn them off in this same file. Change inv_grid_y from 1 (has tier indicators) to 0 (no indicators).
GAMMA uses Cr3pis icons, but with a different style of rank pip. If you want this style, change inv_grid_y to 2.
Finally, there is now a Maid-style icon, which has an X-value of 3, and the same Y-value options of 0-2 for the rank pips.
This mod uses the monkeypatch script workshop_autoinject.script to inject a new crafting recipe, a tool which is also used by various other mods. I am only using the basic unaltered functionality of adding or removing a recipe, so if you already have this file from another mod, it shouldn't matter whose you use.
If you have GAMMA or Ishmaeel's Kill Tracker installed, please load this after Kill Tracker.
If you are using vanilla, unmodified exes, and have therefore installed the option that replaces map_spots_relations.xml, this mod will conflict with any other that modifies the same file.
However, this conflict is extremely easy to resolve, and instructions are included in the file. It should be fairly simple, but all of this is provided "as-is", and I cannot support the legacy version or assist with troubleshooting merge issues.
The file zzz_sim_squad_scripted_milpda.script is a monkeypatch for sim_squad_scripted.script that overrides sim_squad_scripted.show in order to take over handling of squad mapspot visibility. It is unlikely to conflict with anything that does not modify that specific function, but I do not play or test in Warfare Mode and cannot provide support for issues in that mode.
Everything else should get along fine; the scripting and assets are all self-contained.
Localizations are only complete for English and Russian, and the RUS localization may have errors.
Several users have very kindly provided partial Ukrainian and Spanish localizations, which are now some versions behind. As usual, I'm happy to add translations if anyone provides them.
1.11.1: Minor patch to fix squadmate killspots not appearing.
1.11: Now using DXML--if supported--to load mapspots instead of replacing map_spots_relations. Added options for when to show or hide victim and killer names on body mapspots. Added progression gain multipliers for all supported PDAs. Adjusted progression defaults across the board for balance.
1.10: Re-structured install folders so that the DLTX Crafting option is on by default, and zzz_ui_pda_npc_tab_milpda.script is only included in the DLTX-PDASpawns optional install. It was previously included in the main install, which was the cause of most crashes from the previous version. Fix for Progressive mode's Gain on Read option not granting progress. Fix for duplicate crafting recipes being added. Added MCM option to only gain progress from decrypted PDAs, on by default. Added option to only gain progress if you disassemble the PDA, which ignores decryption. Added MCM option to control verbose logging. Fixed missing localization strings in MCM.
1.9.7: Fix for nil value crash when right-clicking on empty map space with modded binaries.
1.9.6: Various fixes for Progressive Squad Visibility. MCM values should now load properly, and a DLTX patch is included that will allow Sin, ISG, and Renegade stalkers to drop PDAs. Also included is a fix for a vanilla bug with NPC PDAs disappearing in 2D PDA mode.
1.9.5: Fix for unintended display of progression notification messages when Progressive Squad Visibility is disabled. This was purely cosmetic, and had no functional effect on the feature.
1.9.4: Fixed a rare crash with Sin storyline scripted squads. Added faction validation to all entry points; it should now be virtually impossible for a crash to occur from an invalid faction. Refactored blacklist code, should be invisible to users.
1.9.3: In my haste to get the crash fix posted, I somehow swapped the order of two lines in the script, causing it to fail. This has been corrected. Sorry!
1.9.2: Further checks for nil values when something calls this script with an invalid faction. Added logging to make similar issues easier to catch. Updated UKR localization for latest strings.
1.9.1: Added checks for some nil values that should never be possible, but which can cause a crash if they happen. Updated RUS localization to 1.9.1.
1.9: Added (and fixed) Temporary Network Access, allowing factions to revoke access to their GPS data after a configurable delay. Added automatic clearing of decayed/looted mutant corpses.
1.8.2: Fixed NPC PDAs being counted more than once for progress on game load. Accidentally shipped pre-release versions of Temp Network Access and the mutant corpse fix.
1.8.1: Hotfix for crash when looting a PDA with missing metadadta. Only ish_kill_tracker.script has changed. Also updated RUS localization with all current strings thanks to leeviathan.
1.8: Added Progressive Squad Visibility, which provides a system for gradually unlocking access to each faction's GPS data separately by looting their PDAs, with MCM support. Some refactoring and other minor internal changes.
1.7.4: Fixed possible crashes and body marker removal issues. Separated icon settings for player and non-player kills. New PDA icon rank pip style. Now monkeypatching sim_squad_scripted rather than replacing sim_squad_warfare.
1.7.3: Added integration with Personal Adjustable Waypoint, enabling you to use PAW's icon library to control body markers.
1.7.2: Fixed the autoclear on loot not working under certain circumstances. Added RUS localization from leeviathan.
1.7.1: Added a check that should prevent crashes when checking bodies that were killed by the environment (e.g. an anomaly) rather than a living thing.
1.7: Added option to show all bodies on the map, not just kills from you or your companions. Added new icon option with pips showing device tier. Added option for markers to not auto-clear on interact. Added marker expiration after an hour, many internal changes.
1.6: Fixed possible crash when equipping looted NPC PDAs, as well as a few other edge cases. Fixed body markers not being cleared on interact--you can still always right-click on them to get the option to remove them manually. Kill Tracker will now optionally track and display the kills of your companions as well. Added proper fomod installer support.
v1.5: Fixed crashes when using unknown PDAs from other addons, and added instructions to the script for how to support those third-party devices. Fixed crash when killing mutants. Body tracking now persists across saves and loads. You can now right-click on any body and click on the option there to remove its marker.
v1.4: Fixed Kill Tracker toggle not always working as expected. Kill tracking options can now be toggled on the fly; bodies will appear and disappear or change icon immediately after you apply MCM changes. New icon styles added for bodies on minimap.
v1.3: Fixed inability to swap batteries or use PDA hotkey. Added granular customization of what mapspots each tier of PDA can see, both in MCM and with easily-edited values in the script. Fully integrated Ishmaeel's Kill Tracker. Debug logging is now off by default, and controllable in MCM. Added optional third icon style based on the Milspec PDA logo.
v1.2: Added faction blacklist. Fixed issue that could cause duplicate crafting recipes to be added.
Average
9.585 votes submitted.
After update started new game, found a pda on dead bandit, tried to read it, but it disappeared without opening. When I got to technician in a few minutes there was an option to unlock the pda (?) but it was not in inventory and not equipped in any visible slot. Before the update it never happened, what could cause this?
Investigating, now for sure can say that this issue was not present in 1.9.5, just tested it out with that version and 1.9.7 side by side. I'll look into code and post my findings here.
zzzzz_ui_pda_npc_tab_wpnhidefix makes PDA disappear when used, maybe because of FDDA backpack. I used 3d pda and everything, after I deleted zzzzz_ui_pda_npc_tab_wpnhidefix.script it works good in 1.9.7.
Strange, I never use the backpack animations so that could be it. This is ironic, because the behavior you describe is exactly what this script is designed to prevent--in the 2D PDA.
Any chance of the PDA getting a green recolour ingame to match it's icon somewhat?
Its a must have addon for me thanks for your work. So far i found a little issue playing along with 1.5.2_Banjajis_Crafting_system_improvements_v3.2: The recipe is gone, due to him change the hud and method of crafting.
Edit: I manage to patch it, creating a file within your mod to enable the receipe in his new workshop hud, using the method described in his files.
FATAL ERROR
[error]Expression : <no expression>
[error]Function : CScriptEngine::lua_pcall_failed
[error]File : D:\a\xray-monolith\xray-monolith\src\xrServerEntities\script_engine.cpp
[error]Line : 257
[error]Description : fatal error
[error]Arguments :
2 : [Lua] ...mo edition/bin/..\gamedata\scripts\ui_pda_npc_tab.script(312) : get_enemy
LUA error: ...mo edition/bin/..\gamedata\scripts\ui_pda_npc_tab.script:312: bad argument #1 to 'pairs' (table expected, got nil)
Check log for details
stack trace:
PAW is loaded after with its patch too I don't get it.
conflict with the FDDA mod all PDAs picked up from corpses disappear when moved to the pda slot.
FATAL ERROR
[error]Expression : <no expression>
[error]Function : CScriptEngine::lua_pcall_failed
[error]File : D:\a\xray-monolith\xray-monolith\src\xrServerEntities\script_engine.cpp
[error]Line : 257
[error]Description : fatal error
[error]Arguments :
2 : [Lua] c:/efp 42 ril\gamedata\scripts\ui_pda_npc_tab.script(312) : get_enemy
LUA error: c:/efp 42 ril\gamedata\scripts\ui_pda_npc_tab.script:312: bad argument #1 to 'pairs' (table expected, got nil)
Check log for details
stack trace:
what was the cause?, i play this with efp modpack
I got the exact same error sadly.
+1
(Use google translate) Только что переустановил мод (точнее удалил и установил заново) в MO2 и включил все опциональные файлы (которых было 2), ошибка исчезла и игра перестала вылетать, если на трупах появлялись ПДА, потратил на выяснение причины пару часов, а оказалось все так просто, как всегда
Even as of the latest version of your way point mod v2.0 it still gives me this same crash.
For now I must disable this mod :/
Expression : <no expression>
Function : CScriptEngine::lua_pcall_failed
File : D:\a\xray-monolith\xray-monolith\src\xrServerEntities\script_engine.cpp
Line : 257
Description : fatal error
Arguments :
2 : [Lua] ...omaly base/bin/..\gamedata\scripts\ui_pda_npc_tab.script(312) : get_enemy
LUA error: ...omaly base/bin/..\gamedata\scripts\ui_pda_npc_tab.script:312: bad argument #1 to 'pairs' (table expected, got nil)
Check log for details
stack trace:
I'm also getting this crash while using Escape From Pripyat Modpack 4.2
i getting this crash on vanilla =(
Install the 02 option and the crash will go away. This will be fixed in a future version.
Hi, a really great mod I give it 10/10 thank you for this enormous work
There is no way to read information from found PDAs. It moves, but no one knows where, but the native PDA continues to work.
I discovered by disabling other mods directly or indirectly related to the PDA or the information in them, and got to yours, disabled it and everything began to work normally.
How can I fix this error?
(1.5.2. DX 8 AVX)
Great mod, a must have from the set. Together with the PERSONAL ADJUSTABLE WAYPOINT mod, just great.
But there is one minus. Monster markers no longer appear on the map. Previously they were in debug mode.
Tell me what line to write in the code to make them appear again?
PS Google translation, sorry.
Hi could you add an enlarged icon like the maid ?
T2+ shows only some bodies of mobs, mostly one that player killed. But pretty much ignores all monsters. Is there any way to make it universal, regardless of who killed or what was killed?
After disabling mod all bodies started to show up again. Using GAMMA.
This is an option in MCM.
Im an idiot. Found it. Thanks.
При использовании опции ui_mcm_lst_milpda_gain_on_read игра крашится при использовании пда нпс, а при опции ui_mcm_lst_milpda_gain_on_pickup вообще ничего не происходит, пда просто исчезают
Version 1.10 should fix that issue. Please re-download and reinstall the addon.
Maybe will try, ty
Great mod, absolutely awesome especially with the Progressive gameplay options.
Just one bug, as others pointed out, this will essentially remove the debug PDA spots (Debug Map HUD, all AI squad icons are no longer visible, only those in your map, and in accordance to the PDA you're using). Any way to restore that?
None I can think of that would be practical. This mod and the debug mapspots serve inherently contradictory purposes: MilPDA takes control of which squads are visible on the map and shows or hides them based on your PDA and progression, while the debug HUD tries to always show mapspots for all squads.
При использовании пда нпс он просто исчезает
Question, and I apologize if this has been asked a bunch, but if Monolith, Sin, and UNISG are on the blacklist, does the progressive mode still work on them if you've collected all the PDA's needed? Or do you need to disable them in the blacklist for them to show up.
You can still accumulate data progress for blacklisted factions, and progressive mode will SAY they've been unlocked--but as long as the blacklist is active they will never actually appear.
You will need to disable them in the blacklist (or disable the blacklist itself) in order to gain any benefit from unlocking them.
Okay cool. I had disabled Monolith and they instantly appeared and I wasn't sure if I had unlocked enough progress beforehand or not. Thank you so much for the answer!
Still having the bug with npc pdas. I updated the mod, selected "on read" option in mcm, used the npc pda and its still just disappearing. If i get another one and later use it, both (disappeared one and new one) just appear back in inventory. Am i doing something wrong? Cant there be an option to do the vanilla npc pda check?
EDIT: Crash with "on gain" option is not solved. It would be better if there was an option to bring back vanilla pda looting, just with possibility to use new pda imo.
I don't know what to tell you. These issues do not occur in my gameplay or testing. In order to troubleshoot any kind of crash, I need to see a log with my addon's debug logging enabled.
I also am unsure what you mean about vanilla looting. You are welcome to delete zzzzz_ui_pda_npc_tab_wpnhidefix.script if you prefer. Nothing else touches PDA looting unless you install/enable the progressive options.
Maybe its caused by my mod pack, idk. Will try updating again and deleting this script
i can always see squads no matter what i do
Try reinstalling the addon and see if it still happens in a new game. That is not normal behavior and it almost certainly means something is conflicting or messed up either in your save or in your modlist.
Dang I also get the Disappearing Looted PDA's when I click View.
**Update: I deleted zzzzz_ui_pda_npc_tab_wpnhidefix.script like mentioned above, and they came back.
Am I missing out on anything by deleting that? I really like this mod its great, so I would like to know what I got rid of.
The sole purpose that script serves is to fix a vanilla bug where the exact thing you describe happens.
It is so bizarre that for some people this works in the exact opposite way, but there is no harm in deleting that file if that works for you.
Hey I found a weird issue after updating to the latest version. Setting the kill tracker (and all subsequent options) to 'Player Squad' Makes it so that anytime I kill someone/something, the body marker icon does appear but anytime anyone from my squad aka my companions, kill someone or something, the icon never appears. It's really strange. Every other option works correctly but it seems that only the 'Player Squad' option isn't working.
Any idea why this is the case?
Some of the logic in that area of the code was adjusted, possibly an odd side effect--I'll take a look.
Edit: fixed now. Please download the latest patch.
Thanks for the patch! Keep up the good work Catspaw :D, always love your mods! <3
Hey, I can see these errors in my logfiles. No crashes, can you do something with this info?
[16:03:03.932] <MPDA:KT> [V] Killspot text generated for false (kba false | kbs false | show_v false | show_k unidentified body)
[16:03:03.932] <MPDA:KT> Text: nil
[16:03:03.932] <MPDA:KT> Tracking new body Rat (19251) at 176:| Marker text: unidentified body
[16:03:03.932] Kill ID: KT251 | killspots visible: false
! [16:03:04.538] [LUA] CharacterName available only for InventoryOwner
! [16:03:04.538] [LUA] 0 : [C ] character_name
! [16:03:04.538] [LUA] 1 : [Lua] ...ne 1.5.2/bin/..\gamedata\scripts\ish_kill_tracker.script(408) : func_or_userdata
! [16:03:04.538] [LUA] 2 : [Lua] ...y the zone 1.5.2/bin/..\gamedata\scripts\axr_main.script(275) : base_make_callback
! [16:03:04.538] [LUA] 3 : [Lua] ...y the zone 1.5.2/bin/..\gamedata\scripts\a_rax_wd.script(50) : make_callback
! [16:03:04.538] [LUA] 4 : [Lua] ...anomaly the zone 1.5.2/bin/..\gamedata\scripts\_g.script(118) : SendScriptCallback
! [16:03:04.538] [LUA] 5 : [Lua] ...e zone 1.5.2/bin/..\gamedata\scripts\bind_monster.script(270) :
[16:03:04.538] <MPDA:KT> [V] Killspot text generated for false (kba false | kbs false | show_v false | show_k unidentified body)
[16:03:04.538] <MPDA:KT> Text: nil
[16:03:04.538] <MPDA:KT> Tracking new body Rat (19261) at 179:| Marker text: unidentified body
[16:03:04.538] Kill ID: KT261 | killspots visible: false
Not without the full log I'm afraid. What that snip tells me is that it's trying to get obj:character_name() for an object that doesn't have that method, but I have no context for how it got there.
Is there a way to disable the squad locations of enemies? That's really the only thing I dislike about this mod, otherwise it's ******* sick
The only PDA that can display enemies by default is the Milspec PDA itself, so just go into that device's submenu in MCM and customize it so that they don't appear. All PDA models can be tweaked in this way.
Map points are not visible with this active. Only main quests are on the PDA map. Even your Adjustable waypoint is not showing when I create it on the map.
I have high res PDF maps installed? Could that be a problem?
KillTrack have lower prio than this but is behaving same even when it is off.
I have tried to leave my PDF in a stash and pick it up again, but everything is still same.
If mapspots are not appearing, not even NPCs or POIs, then something other than my code is wrong in your installation or savegame. Try re-downloading and reinstalling the addons, and see if the issue happens in a new game with only this mod active.
crashes my game as soon a someone is killed
Hi, I ran into the following problem, after installing the addon and downloading the game crashes without any error, the game is completely clean, there are not many mods, a weapon pack and that's it. There is the following entry via the mod organizer [2024-05-06 10:37:11.167 W] local save games not supported by this game plugin
Привет, столкнулся со следующей проблемой, после установки аддона и загрузки игры вылетает без какой либо ошибки, игра полностью чистая, модов не много оружейный пак и всё
Sorry, never seen anything like that, and the entire Internet has only two hits for that error message. It sounds as if something is not installed correctly, but I can't speculate what that might be.
Извините, никогда не видел ничего подобного, и во всем Интернете есть только два совпадения для этого сообщения об ошибке. Похоже, что-то установлено неправильно, но я не могу предположить, что это может быть.