Makes game a bit more progressive. In two words most of the time novice squads will be at south, masters at north.
Changes the way NPCs pick targets (smart terrains) to travel. Target priority is now based on faction and rank, novice squads will mostly hang out at south, experienced squads are closer to center, veterans are closer to north and masters at far north. Faction of squad plays a role too and it can be a bit different due to their main base location. Distance between current location and target also matters.
Features you can change in MCM > > > CLICK HERE TO GET MCM < < <
- Control NPC travelling, make it super random or not random at all (or inbetween) ;]
- Mutants level transition.
- Stalkers rank spawn according to travelling priorities (in two words makes Legends that are spawned in south to be replaced for Rookie or similar, according to the script table). Should not hit the balance between ranks too much, tested on vanilla.
Things you can change in main script:
- "factions_t" table is to add/remove factions from my calculations.
- "prior_t" is main priority table for different factions (same with "prior_lab" table). For more precise configuration for factions and their ranks.
- "mutants_blacklist_levels" if mutants level transition enabled, this will restrict certain mutants from transitioning to these levels. For example by default snork there can't transition to cordon and bar (added "l01_escape" and "l05_bar").
Compatibility
Should be safe to install/uninstall whenever you want. Probably isn't compatible only with addons that change:
- function evaluate_prior in simulation_objects.script (this addon will override it most likely).
- function simulation_board:get_squad_target in sim_board.script (same).
- function se_smart_terrain:target_precondition in smart_terrain.script (precondition for get_squad_target function)
- function se_smart_terrain:try_respawn in smart_terrain.script (respawns, can be disabled, see description).
Luckily, I dont remember any addons that change first three ;p
Changelog
- 1.02:
- smallest update, changed wrong squad name "pseudogiant" for "gigant" in mutant transition blacklist. And changed distance slider to be minimum "0" (left it "0.1" for some reason in prev version).
- 1.0:
- Thought NPCs stays too much at one place and do not move enough. Decided to change it a little bit + added MCM for easier tweaking.
- Added debug that can be used for testing or just better understanding.
- Added mutant transition blacklist.
- Finally satisfied with how it looks now and can call it 1.0.
Ok, this version has to be much better. I know that not everyone like changing things in scripts so it should be easier with MCM now. Sorry for this update taking so long, I just started playing myself and can actually see how my addons work aside of strictly testing environment.
so... what does the 'z' here stand for?
Changed to prevent further politics discussion, let's see if people can find a hidden meaning in "x".
Pfff easy-peasy, "x" is where you hid all the booty. Alert the Diggers!
So... what does the 'x' here stand for?
I mean, if you angle it about 45 degrees and add a little jointed dash to each arm... it begins to look like an ancient vedan good luck symbol.
hahaha look at twitter now. "X"
sounds like a very cool idea
This is a really cool idea thanks for making it a reality, looking forward for any other tweaks you can make
Finally somebody made this
is this compatible with warfare alife overhaul or stuff like that?
I have absolutely no idea how NPC travel in warfare or warfare alife overhaul ;[
Warfare uses its own simulation system, so this addon would not do anything in a Warfare playthrough
cant stop laughing at the picture lmao
привет! отличная Работа!
"Optional (disabled by default, probably can be chaotic) feature to allow mutants travel between levels like stalkers do."
This seems interesting :) tx for the mod will try
Let me know how it went with mutants xd
This comment is currently awaiting admin approval, join now to view.
is that one setting compatible with [1.5.1] Smart Terrain Spawns Bugfix?
Moddb.com
mm nope, but there is just one changed block that I didn't touch and you can safely replace it in my "se_smart_terrain:try_respawn()" for a block from this bugfix addon (it's under "-- DPH" comment)
I'll add a bit later with some other minor changes, not to update addon 50 times per day ;p
Too stupido to figure out for sure which line to put and where so Im just gonna wait for your update ^^"
The description bvcx/xcvb gave is a bit wacky.
I looked into it, without understanding anything about writing or reading scripts, and I think I found what he meant.
in this addons script "target_prior.script" The block he means is at line 873 to 881:
-- Tronex
-- Safer check for common squads
if ini_sys:r_bool_ex(k,"common") then
if (s_find(k,"sim_squad")) then
max_respawn_count = round_idp(max_respawn_count*stalker_pop_factor)
elseif (s_find(k,"simulation")) then
max_respawn_count = round_idp(max_respawn_count*monster_pop_factor)
end
end
You have to replace this block with the lines in the "smart_terrain.script" from dph's fix addon. The block is at line 1671 to 1686:
-- Tronex
-- Safer check for common squads
-- DPH
-- This doesn't work. "k" is the name of the spawn section, not a squad section
if (v["squads"]) then
-- Just take the first squad section to determine type. Not correct, but accurate in almost all cases
local k2 = v["squads"][1]
if ini_sys:r_bool_ex(k2,"common") then
-- almost all spawn sections with "zombied" in them have mutants as other spawns
if (s_find(k2,"simulation") or s_find(k2,"zombied")) then
max_respawn_count = round_idp(max_respawn_count*monster_pop_factor)
elseif (s_find(k2,"sim_squad")) then
max_respawn_count = round_idp(max_respawn_count*stalker_pop_factor)
end
end
end
I am pretty sure that is what he meant because the "-- DPH" comment is there as well as the old Tronex comment. To be sure I looked into the "smart_terrain.script" from the ZCP addon which includes DPH's fix and it is the same there.
Hey! I just tried this, sadly after a minute of gameplay I get this
! [SCRIPT ERROR]: ...nomaly-1.5.1/bin/..\gamedata\scripts\target_prior.script:882: attempt to call global 's_find' (a nil value)
FATAL ERROR
[error]Expression : <no expression>
[error]Function : CScriptEngine::lua_error
[error]File : ..\xrServerEntities\script_engine.cpp
[error]Line : 191
[error]Description : fatal error
[error]Arguments : LUA error: ...nomaly-1.5.1/bin/..\gamedata\scripts\target_prior.script:882: attempt to call global 's_find' (a nil value)
stack trace:
It does not work then :(
Sorry for it taking so long, was busy this month and spent free time on other addons ;[
Updated, try it now (read changelog).
does this add-on stop novices from appearing or staying in northern areas?
because i'd still like to see them around
I don't see a point in the addon then ;]
Hi again xcvb. I really like what this mod is going after.
I noticed that when using this mod and ZCP, the game did not use my Stalkers population factor values. This is despite me setting "local replace_respawns = false" and "local SMART_TERRAIN_SPAWNS_BUGFIX_PATCH = true".
I tested this by setting Stalker population factor to 0.2 in ZCP, starting a new game, and checking my rank in the PDA. When 0.2 was set, I was rank 46. After enabling your mod, and changing nothing else, I was rank 289.
I tried the same experiment with mutants. Using the mod Moddb.com, I set the dynamic mutants to 0 using the slider. Then, setting the Mutant population factor to 0.2, I tried killing all mutants with and without your mod enabled (when killing all mutants you get a message saying how many died).
When Mutant population factor set to 0.2, and your mod disabled, 28 mutants died.
When your mod was enabled, and nothing else changed, 426 mutants died.
Would love it if I could get your mod and ZCP to work together.
Thanks!
EDIT: I had some factions disabled in ZCP. Setting Stalker population to 0.2 and re-enabling all factions increased my rank to 84.
So I still believe that your addon is affecting the population factor (perhaps using the values in the regular settings).
Damn, this one will be incredibly hard to test ;[
If getting the two addons to work together would take a lot of time I'm not sure it would be worth it.
Do you use "local SMART_TERRAIN_SPAWNS_BUGFIX_PATCH = true" with "smart terrain spawns bugfix" addon?
Because "replace_respawns" and this feature are separated from each other. One is just replacing squad ranks, it can't spawn new ones (I hope). Second adds a feature from DPH's addon that fixes vanilla's population sliders that do not work in vanilla actually (population only affected when starting new game), it's kinda a compatibility patch that contains the whole addon because there's no other way to add it otherwise ;[
I'm not sure I understood your question.
From my understanding the smart terrain spawns bugfix addon is already integrated in the newer versions of ZCP.
When I combined your addon with ZCP, I configured your addon thusly:
local SMART_TERRAIN_SPAWNS_BUGFIX_PATCH = true -- set this to "true" if you want to use changes from "smart terrain spawns bugfix" addon
To reiterate, if you estimate fixing the issue would be a time sink - I'm not sure it would be worth it.
Ah, I didn't know it's already in. Ok, my addon is supposed to replace things that spawn in the future only, i.e. if something already spawned it won't touch it. Also if replace_respawns is set to false - my addon should not affect spawns in any way (theoretically). Could you write me in discord xcvb#3398, although I'm pretty sure it should not touch spawns when disabled, I'll give you a small tweak to test that makes sure it doesn't happen 100%.
It works!
Thanks ;]
I'm getting the following error on game load:
* loading script target_prior.script
! [LUA] SCRIPT SYNTAX ERROR
! [LUA] 0 : [C ] __index
! [LUA] 1 : [Lua] d:/games/stalker anomaly\gamedata\scripts\axr_main.script(312) : on_game_start
! [LUA] 2 : [Lua] d:/games/stalker anomaly\gamedata\scripts\_g.script(83) :
! [LUA] ...mes/stalker anomaly\gamedata\scripts\target_prior.script:803: function arguments expected near 'function'
! [LUA] 0 : [C ] __index
! [LUA] 1 : [Lua] d:/games/stalker anomaly\gamedata\scripts\axr_main.script(312) : on_game_start
! [LUA] 2 : [Lua] d:/games/stalker anomaly\gamedata\scripts\_g.script(83) :
! [SCRIPT ERROR]: ...mes/stalker anomaly\gamedata\scripts\target_prior.script:803: function arguments expected near 'function'
! [ERROR] --- Failed to load script target_prior
Doesn't cause a CTD, though.
Syntax error means that someone changed it and broke the lua syntax.
Well, I haven't changed the script at all. I just redownloaded it from here to compare with the version I have installed and it is the same.
Nice!
I always hated, when I found a high level outfit at the beginning.
Is it possible to add the zombied stalkers?
Could it work, if I add this to the target_prior LTX?
local factions_t = {
["stalker"] = true,
["dolg"] = true,
["freedom"] = true,
["csky"] = true,
["ecolog"] = true,
["killer"] = true,
["army"] = true,
["bandit"] = true,
["renegade"] = true,
["monolith"] = true,
["zombied"] = true,
["greh"] = false,
["isg"] = false,
}
-----------
["zombied"] = {
["l01_escape"] = { novice = 90, experienced = 40, veteran = 0, master = 0 },
["k00_marsh"] = { novice = 70, experienced = 50, veteran = 0, master = 0 },
["k01_darkscape"] = { novice = 80, experienced = 50, veteran = 0, master = 0 },
["l02_garbage"] = { novice = 90, experienced = 60, veteran = 0 master = 0 },
["l03_agroprom"] = { novice = 10, experienced = 80, veteran = 20, master = 10 },
["l05_bar"] = { novice = 80, experienced = 100, veteran = 100, master = 90 },
["l04_darkvalley"] = { novice = 50, experienced = 70, veteran = 60, master = 20 },
["l06_rostok"] = { novice = 50, experienced = 90, veteran = 70, master = 50 },
["l08_yantar"] = { novice = 10, experienced = 40, veteran = 60, master = 30 },
["l07_military"] = { novice = 20, experienced = 40, veteran = 90, master = 80 },
["k02_trucks_cemetery"] = { novice = 10, experienced = 30, veteran = 70, master = 50 },
["l09_deadcity"] = { novice = 10, experienced = 30, veteran = 60, master = 50 },
["l10_radar"] = { novice = 10, experienced = 20, veteran = 70, master = 80 },
["l10_red_forest"] = { novice = 10, experienced = 30, veteran = 70, master = 80 },
["l10_limansk"] = { novice = 10, experienced = 30, veteran = 50, master = 80 },
["jupiter"] = { novice = 10, experienced = 30, veteran = 80, master = 90 },
["zaton"] = { novice = 10, experienced = 30, veteran = 70, master = 80 },
["l11_pripyat"] = { novice = 10, experienced = 50, veteran = 60, master = 70 },
["pripyat"] = { novice = 10, experienced = 50, veteran = 80, master = 90 },
["l12_stancia"] = { novice = 10, experienced = 50, veteran = 40, master = 50 },
["l12_stancia_2"] = { novice = 10, experienced = 50, veteran = 40, master = 50 },
["l13_generators"] = { novice = 10, experienced = 50, veteran = 70, master = 30 },
Answered in discord I think, but yeah.
With this addon enabled in MO2, alpha squads stop spawning. Spent three game days in Pripyat Outskirts - and no even a single alpha group hunting me :) If I disable the addon, then I have at least one Monolith alpha squad per day to deal with :) It's the only reason I don't use this addon on the regular basis. Alpha squads are fun and a lot of loot :)
Damn, I haven't thought of that ;[ Sorry for late response. I'll try to think of something.
Is there a chance that this addon is keeping the Commander of the guards from the defending the pump station in great swamps from spawning?
It should spawn NPCs anyway, just with changed ranks. Also, it only works for random simulation stalkers, I think the pump station commander and squads there must be unique.
Ok. This new update is great. I've been using the previous version with EFPv4 but now, you can really see the difference. They really move around.
Earlier version was just tweaked to my personal taste too much ;p
I thought if anyone wana change it - they can do in at the top of script (instructions were quite good I think), but not everyone dare to change stuff in scripts, so it's more comfortable to have MCM instead of that. Also changed default values that would make travelling frequency more like vanilla, in case someone don't wanna touch MCM too ;]
I'm about to enter jupiter underground and I already cleared the surrounding area. I saved my game and reloaded (busy hands bug) and monolith are spawned around me. I know there's a setting called exclusion radius but it seems this mod ignores that. I love the action but like it can be spammed for farming loot. Though I run EFPv4, I don't use ZCP due to the bugs it introduce. I also use the smart terrain bug fix.
This addon does not spawn anything (it can only replace squad sections before vanilla spawn) and exclusion radius is from the script I do not change ;]
Увидел среди бандитов БАНДИТА В СНАРЯЖЕНИИ ВОЕННОГО. Это круто! У него, кстати, был голос бандита :)
Что-то ты аддоны перепутал кажется xd
а что у него за аддон такой?))