#╟⚒stalker2™-mods-making-discussion

1 messages · Page 42 of 1

half willow
#

Yeah, If I don't give it a new one, the gun just ends up using the default ammo

lusty sail
#

Ah understood

spring idol
#

actually sucking down so much copium that the SDK is decent

#

the only thing that will save this game

half willow
#

Theoretically, can't I just add a line to whatever this is, and load it with UE4SS?

lusty sail
#

I don't know if you can add something to enum, it's like constants that already premade and can't be added in runtime

summer tartan
lusty sail
half willow
#

As long as it works

#

that doesn't really matter to me

lusty sail
#

I'm not much a ue4ss professional 😄 so I just use it for readonly

#

Did u played around with other properties in weapon file config that somehow can change ammo type?

#

excluding EAmmoCaliber

half willow
#

There aren't really any other ones to change

#
   AmmoCaliber = EAmmoCaliber::A300B
   AmmoTypeProjectiles : struct.begin
      [0] : struct.begin
         AmmoType = EAmmoType::Default
         ProjectilePrototypeSID = P300B
      struct.end
      [1] : struct.begin
         AmmoType = EAmmoType::ArmorPiercing
         ProjectilePrototypeSID = P300B
      struct.end
      [2] : struct.begin
         AmmoType = EAmmoType::Supersonic
         ProjectilePrototypeSID = P300B
      struct.end
      [3] : struct.begin
         AmmoType = EAmmoType::Expanding
         ProjectilePrototypeSID = P300B
      struct.end
   struct.end```
lusty sail
#

Did you tried:

AmmoCaliber = EAmmoCaliber::A556

and maybe leave as is:

ProjectilePrototypeSID = P300B
half willow
#

yeah i did

lusty sail
#

Nothin?

half willow
#

it just changes it to 5.56

lusty sail
#

Damn

half willow
#

The worst thing is, everything works

#

but that damn localization

lusty sail
#

It's because your EAmmoCaliber isn't exist as Enum value in engine, so it's always none if doesn't exist. Devs seems didn't localize none lang key

half willow
#

Yeah i get that

#

But there isn't any way to work around it, so guess now I'm stuck with trying UE4SS

summer tartan
#

so, there are some sound mods now... as of this week

lusty sail
#

So yeah it's prebuilt in engine in cpp script

#

Need to understand how to add new value to it with ue4ss

spring idol
#

why dont you just make a new enum

#

i assume if its compiled then its static

lusty sail
#

@half willow Here you are 😄
I coded in lua last time like 10 years ago when tried to mod stalker trilogy lol 😄

half willow
#

holy shit

lusty sail
#

It loads calibers when game loads in main menu

half willow
#

and it actually works?

lusty sail
#

If ue4ss installed and loaded my mod - yes

#

Enum is edited

half willow
#

you wanna hop on voice and show me how?

lusty sail
half willow
#

ait I added u

lusty sail
glossy berry
#

I played with mutant loot, itemization, faction patch, but yesterday it was ok, I completed X3 lab and go to Yaniv, today continue and get crash when walking in this location or open inventory

#

Sell all items from mods, wait 24 hours, they not showing in traders and I remove mod files. Open inventory in safe zone, all is ok, but then go to to the street and after 10-20min get crash in inventory))

#

Yesterday playing 6 hours on 2 locations, get all loot and no errors

#

Any ideas?

#

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000060

Stalker2_Win64_Shipping
kernel32
ntdll

sinful cypress
#

Some had this error with their inventory too when hovering over ammo etc.
Do you use an ammo mod?

glossy berry
#

But I use it about 50+ hours

lusty sail
half willow
#

That’s sooooo BIIIG

half willow
#

@lusty sail its_happening

lusty sail
#

That’s dope 🔥
Until SDK will release, we now can create new ammo types with UE4SS

Not only ammo calibers, but all items or effects types etc!

weak apex
#

I'm trying to make shotgun shells fire more pellets for funsies, is fraction count not what controls that in AmmoPrototypes?

amber halo
#

Och, just read, awesome!

amber halo
#

@lusty sail @half willow is there some tut how to work with lua scripts with s2hoc ? Better is to say, how do you extract enums lua file? 😄

crude basin
#

Anyone know which cfg contains params and variables for player vaulting and fall damage? Currently trying to edit the vaulting params in ObjPrototypes.cfg but I think the ones in there are for NPC only as they are under that function, there is a Player : struct.begin {refkey=[0]} later on with stamina and vitals variables but no vaulting that I can see.

#

I do have a base knowledge of C# and Unity from some community college courses I took a few years ago, so I have a basic knowledge of scripts, functions, parameters and variables but this is my first time working with UE4 scripts so some of the naming conventions are lost on me.

amber halo
#

As i see, now we can work with lua scripts, nice, the question is how to extract existing scripts, and then just meshes needed, and modding can start ;D

amber halo
#

Same as i can't find WeaponSettingsPrototypes for DLC weapons. Probably not exist 😭

amber halo
lusty sail
#

Firstly make dumps of all type, headers etc and then open that files, read them, try to write lua mod, make ton of errors and try again and again

lusty sail
#

Then made dumps in same debug tool and then search inside these dump lua types files

#

As I remember, all lua types are will be dumped into UE4SS's Mods/shared/types folder

crude basin
#

This is pulled from UltimateWeaponPrototypes.cfg. You can change price and attachments here. Or you can change the ref id to have it reference a different base weapon for stats.

amber halo
amber halo
amber halo
# lusty sail No

Just install it to root of game and all works fine ? (developer edition)

raven trail
lusty sail
#

Make sure that dwmapi.dll near binaries

amber halo
amber halo
raven trail
#

UE4SS-settings config

amber halo
raven trail
#

line 98

amber halo
#

The question is, is the way to add new meshes with this tool? 🙂

weak apex
#

Anyone know how to change pellet count and how to add shotgun effect to weps or ammo to make them fire as a shotty round would?

amber halo
weak apex
amber halo
#

I this case i can't help for now 😦

weak apex
amber halo
crude basin
#

Anyone know which cfg to skip splash screens on startup? and also shader pre-load? very annoying when I'm relaunching game every five minutes to test new parameters for things.

merry mountain
#

you cant skip the epilepsi warning
But this gets you to the main menu in a few seconds after that warning, depending on system etc

crude basin
#

Ah thanks. Didn't realize it was in the ini files. Copy

limber rose
#

hello modders, do you know how to add a specific gun (monliyh ar SID) to a specific trader?
I cant find a trader cfg, or maybe in a generator IDK

crude basin
limber rose
#

ok I see I ll add it to allTraderItemGenerator. I modifyed a Monolith Ar, with new default attachments but I presume I need to buy a new one, changes probably dont apply in already owned one

crude basin
#

@limber rose AFAIK that should work

limber rose
#

If you know in which file I found traderGenerator I ll appreciate that 🙂

crude basin
#

My guess is somewhere in here

#

@limber rose

limber rose
#

I cant find the AllTraderItemGenerator in DynamicItemGenerator

crude basin
#

That is the end of my knowledge lol. I haven't messed with that yet. Might be easier to just add the weapon to your inventory in the game using the console commands

limber rose
#

ok I found it thx vs code for serach text in whole stalker 2 files XD

#

Its ItemGeneratorPrototypes.cfg

#

Thx again man for your help 🙂

crude basin
#

Make sure to give it a spawn chance of 1.0 so it is sure to spawn in their inv and you'll still probably have to sleep in game once or twice to refresh

tidal yew
#

im trying to make cinnamon heal over time for a little bit, like 2 hp over the course of 5minutes or so. I tried copying what the medkit does, since im using MHM consumables and the medkits take 8 seconds to heal with it. What am i missing? i feel like this should be super easy but i cant make it work 😭

#

i do have it added in the consumablePrototypes.cfg, the healing is working, i am healing 2hp, but not over the course of 600 seconds. I have tried putting 100 on the valueMin/Max but it then heals the entire hp in one go, not over time

crude basin
#

This is what my Game.ini looks like

crude basin
ripe flame
crude basin
merry mountain
tidal yew
#

so the degen bleeding lowers the bleed amount by 15 points(per second?) for 180 seconds VS the medkit which reduces the bleeding by a fixed amount correct?

crude basin
tidal yew
#

oh ofc i appreciate the help still, i was able to "debug" it through the food tho

#

i feel like cinnamon is super underutilized specially later in the game where you barely bleed, so i wanted to make it more viable to use, instead of never using it and just popping a bandage

#

making it a HoT would make it interesting to use at the start of the fight or when you wanna top off and leave bandages to remove bleeding or smth along the lines

crude basin
#

You could try uninstalling MHM and editing the vanilla cinnamon and see if you have any luck with that. Comparing results with MHM installed/not installed could provide insight.

tidal yew
#

thats true

#

i think ill just make cinnamon heal over time and make bandages remove bleeding for 30 seconds or so, to work kinda like cinnamon but way lower duration, so theres still a reason to use it

#

my guess is barkeeper quests, like get an artifact, kill mutants, etc.

tidal yew
#

i cant believe i spent 2 hours trying to make this work and the solution was just replace the effect that i wanted on top of the degenBleed SID omegakekw

#

for some reason i couldnt make cinnamon heal over time by adding a new effect, i had to replace the degenbleed. I even tried commenting the whole CinnamonDegenBleeding structure but it wouldnt heal over time, it would heal but not over time

crude basin
#

Probably something hard-baked with the variables where one item can only provide a single 'over time' effect. There's probably one variable that tracks the time-length and it's baked in instead of having a scalable system where it generates a time-tracking variable for each effect on an item.

tidal yew
#

thats very possible, although i did try setting the time of 180.f to the healing effect and it still wouldnt heal over time

#

i just made cinnamon heal 100% of hp over 60 seconds and bandages reduce the bleeding by 15 points over 30 seconds. Feels pretty good for now, might tweak it later if i feel cinnamon too op

weak apex
#

Got shotguns slugs and darts to fire in pellet spread, but default 12g doesn't spawn more than 12 pellets no matter what I put fraction count at

crude basin
weak apex
weak apex
crude basin
weak apex
crude basin
weak apex
#

I mean, I put fraction to 16 on 12g, but still shoots 12. Put fraction on darts to 6, shoots 6 in shotty pattern. Is weird.

weak apex
crude basin
weak apex
#

haha

crude basin
#

Could change it to fire 2-3 shells with each trigger pull and accomplish a similar effect?

#

And increase mag size to compensate?

weak apex
#

messing around with other effects on artifacts that def should not be on artifacts, create some wacky crap

crude basin
# weak apex not sure how to do that Tried using addbullet effect on artifacts to get effect ...

Have you tried poking around in WeaponGeneralSetupPrototypes.cfg? That's where all the weapon templates are defined. Lots and lots of different parameters in there. In theory, let's say the 'shotgun template' doesn't offer a variable or parameter you want but 'smg template' does... you can edit 'smg template' then change your shotgun off choice in PlayerWeaponSettingsPrototypes.cfg to reference the 'sgm template' instead of the default shotgun. Idk I'm just spitballing at this point.

#

So, in theory, you could give burst-fire to a shotgun, then make the burst count 3 and the fire interval 0 so it would essentially fire all 3 round sinstantly then either adjust mag size or adjust ammo consumed from mag to be 0.33 instead of 1.

#

Between those two cfg's I'm sure there's a roundabout way to do it.

#

@weak apex lmk if you have any success. I would be interested in seeing how you do it and creating a custom gun for myself.

drifting tapir
drifting tapir
crude basin
drifting tapir
#

All effects can have durations and can be 'over time' effects.

Theres also the "degenX" effecttype, which is what it is used for vanilla over time effects.

Degen effects restore or reduce a vital by the effect value/second.

Cinnamon uses "degenbleeding" with a value of 10, so it reduces 10 bleed/s

weak apex
drifting tapir
#

However, you cant display 2 durations in the ui. The UI only takes the duration display from one "ValueAndTime" effect display

tidal yew
#

still doesnt work with the regular vinca effect

drifting tapir
#

Interesting. Does it restore all at once?

tidal yew
#

yup

drifting tapir
#

What does your cinnamon struct look like?

tidal yew
#

im using modular hard mode's consumable effects, so it'll be a little different then vanilla

drifting tapir
#

But im not sure the order matters

tidal yew
#

i tried copying and pasting the healing from the medkit, which is 40hp over 10 seconds and still wouldnt work

#

it only worked after i replaced the vinca degen bleeding with the healing

#

UI shows it properly, but doesnt work keksad

drifting tapir
#

Imteresting 🤔

I wonder if it is specific to degen bleeding and healing being together.

tidal yew
#

It's not, cause I put the degen bleeding effect on the bandage, where I also edited for it to heal 5 hp and it works there. Although the 5 hp is instant, there's no delay on it

#

it might not be possible to have two effects with a duration on the same item

#

maybe theres a reason why healing and other buffs have a parameter for "EDuplicateResolveType" KekSkew

tidal yew
drifting tapir
#

🤔 what happens if you put keepnew duplicate resolve type on the new dot healing effect

#

Default resolvetype is keepall.

Maybe the healovertime to be keepnew to work properly when vinca effect is also keepnew

crude basin
fervent talon
#

👍🔥

dense saffron
#

Thwre is, if you delete your entire stalker folder in the sppdata local

summer tartan
#

need a mod to triple FPS

vague knoll
#

anyone know a console command to force a quest to get active? or restart the quest? warlock doesnt give me task anymore (there is no quest in my quest log, i know about that bug already, this one is new)

raw zealot
#

Day 1928716, Still no official A life?

nimble heron
#

do you actually believe in a-life?

summer silo
#

1.0.4 is going to be the biggest patches cooked so far it seems kekl

#

Watch me being completely wrong

thick sinew
#

XDespawnNPCsAtRadius Radius

anyone know how to use this command properly?

#

wanna try to use it for zalissya bug

half willow
#

the game has not a life

summer tartan
#

how many main quests are broken at the moment?

desert valve
#

none as far as i know

#

at least not in my playtrough

high rain
summer tartan
#

where's the legend where i can enable/disable stuff

#

toggle

high rain
#

later

#

just use search

summer tartan
#

just stating aloud what the first impression of the user experience is

frank summit
#

that's a lot of pins!

high rain
#

i did plenty of maps so I can do UX but not today

frank summit
#

not sure what these would be in-game, will have a look later

high rain
#

there are exactly 60582 pins that's why it's slow as shit on the first load and on filtering

summer tartan
#

Pee

high rain
#

yea pee is good

#

there is a lot of pee points

#

i did the actual filtering in like 5 minutes so I'll look for making it faster. for now it just adds/removes 60k markers each time

high rain
#

Really tired from scanning 130k cfg files have to do proper indexing.

summer tartan
#

were you able to find out if all your info is in the config files? or you're missing any info

devout pond
#

Is there anyone who tried to extract audio files from the files in a mp3 or wav format?

high rain
#

well it's there I think. The big breakthrough is to merge the files into a 400Mb one and search there. It's much faster than scanning hundreds thousands of files. Found trigger references but Still can't find personal stash but I guess they are connected through SID. And those containers are empty, gotta add references to containers as well.

summer tartan
#

400mb is small enough to fit in memory

#

I'd just be reading the files once and storing as some kind of object

high rain
#

i'm thinking of something like xEdit to show all references in a tab but it's a lot of work

drifting tapir
#

just caught up - leksii's ue4ss tool for ammo display is sweet 👍

warped gull
ripe flame
warped gull
# warped gull 🤯

I changed x2 to colim, but the aiming vision is not in the center of the screen. Anyone know how shold i fix this

frank summit
ripe flame
frank summit
vague knoll
#

whats the best mutant spawn Alife out there? i want more danger on the road

hot oar
vague knoll
#

ty ill test it out

vague knoll
#

i managed to add the task but

#

i cant turn it in

#

XDKFinishQuest SID bWin

#

what is bWin?

winged hemlock
summer tartan
#

how are blueprints stored in the game data?

spring idol
summer tartan
#

wtf

spring idol
#

well wdym the games blueprints or your blueprints?

#

they are baked into normal c++ when you build the game afaik

summer tartan
#

does that mean they're in the game's executable?

formal depot
#

any further progress on the running headbob? I really want to play this game but I get a headache within 15 min because of this

summer tartan
#

same, but i was told certain things are hard-coded

merry mountain
summer tartan
#

I'm now using this guide

covert radish
#

Is it possible to change mutant aggresion levels?

#

Like set the chance for them to attack you

#

I wanted to make fleshes not always aggresive

summer tartan
#

good question

#

one guy was removing the jump attack

#

Does anyone know how to find audio files in the game using Fmodel? I'm looking at it now and I can't find the Viper firing sounds

half willow
lusty sail
little sluice
half willow
proven spoke
#

Hey!

Is it possible to add something to the engine.ini to change the damage I do to NPCs?
like some value so that I only do 50% damage instead of 100%?

crude basin
# proven spoke Hey! Is it possible to add something to the engine.ini to change the damage I d...

You can change the base damage multiplier for yourself, NPCs and mutants, as well as put in difficulty specific overrides by editing DifficultyPrototypes.cfg and packing it into a .pak mod. I made a custom one for myself to balance the game better. Made the combat more lethal (both ways) and made the economy a little more forgiving by increasing durability and reducing upgrade and repair costs.

#

Combined with the vaulting and stamina params I changed, both combat and exploration are much more fast-paced and lethal requiring tactical awareness and I spend way less time grinding coupons for upgrades and repairs.

proven spoke
crude basin
proven spoke
#

damn youre to nice bro

#

Im gonna have to learn how to do it

summer tartan
#

it's easy

crude basin
summer tartan
#

i need more pinned messages to figure out how to do basic stuff because i'm retarded

#

i'm trying to change audio files for the game but i can't figure it out

#

there's billions of IDs

knotty sage
#

Hi all. Jumped into the Discord just to leave a mod idea. Seems that starting E07_MQ01 "Just Like the Good Old Days" removes Sledgehammer the quest giver of The Sound of Music and Quiet the quest giver of A Light in the End of the Tunnel. Would be nice to have a mod that restores these two quests.

high rain
#

CFG files refer to blueprints though, almost each CFG starts from a comment that refers to a BP* item

#

To extract .cfg simply use export binary data in context menu or you can use unrealpak or repak, whatever

high rain
crude basin
#

The error reporting on game launch is very specific. Very convenient lol.

ripe flame
wise pecan
#

It would be cool to enable weapon cleaning/maintenance to increase temporary durability and/or long-term repair cost decrease. Is something like this possible without official mod tooling?

summer tartan
summer tartan
#

Need more modding resources here so we aren't dependent on asking individual questions

summer tartan
# summer tartan need a mod to triple FPS

In this video our founder optimizes a project that created a disproportionate view on the cost of real time realism. This video shows major core problems with unreal engine such as workflows and foundational management issues. Then, we will address the abundant insults thrown at this studio in order to attack our credibility.

We prove the peo...

▶ Play video
summer silo
#

I was just about to post it kekw

neat vigil
#

wow i was gone for like a week and this game has a shit ton of already very high quality mods

#

i wanna throw my hat into the ring and add in some new ammo types - here's hoping i can turn this game into a giant weapons museum like i always wanted

lusty sail
neat vigil
neat vigil
#

had a little bit of experience on H3VR and unity - just a little lost since Unreal is not an engine i worked with before much

#

as silly as it sounds i downloaded Zentools from the github but when i click its exe it spawns a cmd and closes which i doubt is how it's supposed to operate - what's the next step once I download the actual program? Do i put it in its own folder?

#

i'll be asking a lot of questions as i navigate the many programs lol

half willow
#

ngl chief

#

i have not used zentools

#

at all

neat vigil
#

well i would like to know how to add in new items into STALKER so if there's like a tried and true path to do so i would appreciate it

#

specifically ammo

neat vigil
#

mainly just to help me navigate the stuff i need to download, install and set up to be able to take it from there

half willow
#

just like reverse engineering

#

Get it working first and don't worry about custom textures or localization

#

and after you get it working, you can worry about polishing it out later

neat vigil
half willow
#

Yeah, I don't know if anyone has already figured out porting models

#

That's why my gun is a variant of the 416 and not the HK437

neat vigil
half willow
neat vigil
#

I intend at somepoint to have very unique calibers like 7mm Arisaka or 7.63 Borchardt

#

Just because gun museum moment

#

I chose the ammo first since that is the most achievable

#

For my current skillset

half willow
#

Yeah I get ya, if you need any help, you can send me a dm, and I'll try to answer 🙂

neat vigil
#

Thank you homie i will take you up on that tomorrow mornin

velvet mist
#

is this normal?

radiant ravine
#

Anyone knows where the ammo meshes are located? Not the textures

lusty sail
#

Drag&Drop method of applying icon to the item. I just simplify path to the icon for the user friendly editing, but after saving to cfg it converts back to Texture2D'Game/GameLite/...'

Still need to work on it to make it work properly for early testing, there are many things that can broke tool 😄

half willow
#

oh thats sick

ripe flame
lusty sail
#

I've tried to unpack and ask him, but nothing

#

I wish there some tool that can unpack or decode ReZen tool paks

ripe flame
#

Yeah, I have a feeling he is ghosting me.

ripe flame
lusty sail
#

It's a widget

#

Not a data table

#

Class is WidgetTree

#

DataTable is just like Excel rows and columns with data

ripe flame
#

So how to properly import it in UE, if I even need to do it?

lusty sail
#

Recreate whole widget structure...

#

Its pain in the ass

ripe flame
#

Oh god

lusty sail
#

It's like mimicking paths, structure and names of classes

#

And somehow edit in different blueprint that will be loaded at the start of the game

#

I've tried before to do it, to simply hide logo in the main menu or add new label to the screen, but unfortunately it was failed, nothing works

rain juniper
#

Hi guys. In which order game loads paks from ~mods folder? Created compatible version of mod with another mod, where conflict only in one file. And file always loads from original mod 😦 Not depending on name (tried different variations of z prefix). But merged or loaded single all works fine.

ripe flame
rain juniper
rain juniper
#

game parses postfix P? Or what?

went to test..

#

OH, now I see, all mods that I have has _P on the end.

What this means?

And it's works, thanks!

sinful cypress
#

Thats my LO, sorted by Vortex.
"Alive" loads first and "7.62x54" last

ripe flame
# sinful cypress

As far as I know, using something other than “z” in front of mod name can cause mods loading even before vanilla, which leads to problems. Also, I have no idea how this structure with separate folders actually works.
For more control, dump pak files right into ~mods folder

sinful cypress
#

Vortex loads in this order, I tested it.
And it´s also written there:

ripe flame
#

Though I can be wrong, sure

#

Maybe Vortex does something behind the scenes

#

God I want proper and fully working MO 2 for Stalker 2 🙂

sinful cypress
#

But yeah, _p loads last

*Correct way to adjust your mod’s load order is to add _{priorityNumber}_P to the end of the pak file name, before “.pak”, mod with highest priorityNumber will be loaded last. This takes priority over the number of z characters.

Example: z_mod1_100_P.pak will load after zzz_mod2_99_P.pak and will override duplicate content.*

ripe flame
#

Two priorities, one with higher priority over another. Not confusing at all kekw

sinful cypress
#

Straight forward champ

last spire
#

it should be fine to use previous game version cfgs for the latest game version assuming they werent edited in any way?

weary tangle
#

I'm unsure where this would be or if it's in a cfg but I had an idea for darker nights. Possible use the mechanic from the wandering lights anomaly to set the exposure for night time

#

Setting it around 25/30% of that would solve the darkness of night but leave exposure for day settings untouched

lusty sail
#

Huh? It's already dark as fuck, event flashlight didn't help lol

crude basin
proven spoke
#

does anyone else feel like slugs are horrible? or is it just me?

weary tangle
ripe flame
weary tangle
#

interior is fine but outside i should only really see around the barrel at 02am

proven spoke
#

against bandits or similar it should be a single hit kill imo

#

but it feels like a pea shooter now

crude basin
#

At the bottom shows how the different ammo types for each weapon affect damage, durability, etc.

void owl
#

doesnt say it supports widgets but you might give it a shot

void owl
weary tangle
lusty sail
#

Does anyone found how with UE4SS show popup with custom data?
Cause I found this (screen 1) and tried to execute it with Lua (screen 2) but get this (screen 3) :0

tidal yew
#

is there a way to edit attachments textures like scopes, suppressors and magazines without UE5? or is there no way around virtual textures?

flint flicker
#

Does anyone understand how subitemgenerators and weight/chance work? I'm trying to get the NPCs to drop a single armor, that they are wearing. I keep getting multiples or all armor sets in their pool.

ripe flame
flint flicker
#

IE this. (Chance would is set here for testing purposes. Ideally, only 1 should drop)

ripe flame
#

You cannot use chance and weight at the same time

flint flicker
#

I've tried just using weight, I get no drops then.

ripe flame
#

Well, still, either/or

flint flicker
#

Well, I've used chance for the subitemgenerator, and weights in the armor generator. let's see how it goes.

ripe flame
#

Show me your struct where you call GeneralNPC_Neutral_Armor

flint flicker
flint flicker
ripe flame
flint flicker
#

I'll give it a whilr

#

whirl

ripe flame
#

Anyways, I highly recommend go through vanilla code and follow exactly same structure

flint flicker
flint flicker
ripe flame
flint flicker
#

I've been working with that mod author, we are running into the same issue with multiple spawns lol

ripe flame
flint flicker
#

Weight is also a float. Didn't notice that.

flint flicker
ripe flame
#

Haven't seen any sub generator that has anything other than chance or weight

flint flicker
#

I was pretty confident chance and weight were similar but seperate. IE weight is used to determine between the objects, and chance is the drop/spawn chance.

ripe flame
#

Well, maybe you can use both at the same time, but I haven't seen that in vanilla either

#

Proper debug log would help, but we don't have it 😦

flint flicker
#

Yeah, big sad

#

What I'm not understanding is the usage between weight and chance, I haven't been able to determine a logical pattern

supple hare
#

omg, is it common knowledge that all artifacts that give you physical protection are currently bugged? even artifact that gives you "weak" physical protection will max out your physical resistance

#

"weak" gives you +7 physical protection, flat value, max value for physical protection in vanilla is 4.5

#

that's +7 on top of your armor

#

watch HP values after I change artifacts including modded +1 arti

ripe flame
flint flicker
#

If that's the case, and Chance is the only thing needed for drops, that would explain why in dynamics, there are var1 and var2 structs. Those are the ONLY ones using chance, and those are the only ones by themselves and they drop.

ripe flame
flint flicker
#

Other way, use weights in a subgen to point to a struct that drops the armor. If they are independent using chance, you must separate them, like they did....oh gosh I see a long day ahead of me.

ripe flame
#

Yeah, good luck. My custom stash loot gen is 4000 lines long.

flint flicker
#

Yeah....sadness

supple hare
#

if you guys suddenly loose your phys resistance after next patch, you know whom to thank KekSkew

#

I feel like I'm missing something, it's too obvious, both in gameplay and in code

#

I tested only grenades, maybe it's not like that with bullet damage?

ripe flame
severe musk
#

So I finally found the 2 lines that seperate me from getting 3 FPS or 50+.

"r.LightCulling.Quality=1
r.LightFunctionQuality=1"

Setting it to anything below 1 makes underground tunnels (etc) look like its day time and the sun shines through the ground into the tunnels and buildings.

Way to keep the dark creep factor without losing ALL frames?

ripe flame
#

No. Welcome to crappy world of Unreal Engine

teal wing
#

thats not crappy

#

but youre disabling light function

severe musk
#

Well, as Im new to this side of things, wasnt sure if it would full disable or lesser the quality.

#

cause light function is the one thing that kills my frames in stalker 2

#

it seems at least

teal wing
#

would you consider downloading unreal

#

all these engine functions are easily viewed as checkboxes with descriptions when you hover on them in unreal engine editor

#

if youre searching for settings

#

uetools on nexus has a full cvar list in its download of exposed cvars

#

i also made a mod

severe musk
#

I have UETools downloaded yeah, so looking through that could help me with keeping lightfunction and keeping frames?

#

looking through that, being the cvars list

teal wing
#

whats your goal

#

i heard lights

severe musk
#

my frames are literally 8 or less, I just want to have it playable without losing light function and Im on low EVERYTHING with a 3060, 32gb ram and an i7 12th gen.

teal wing
#

doesnt sound right

severe musk
#

All I know is, if I disable light function im at least 40+ fps, turn it on and Im getting 8 or less frames.

#

and thats with everything low and DLSS ultraperformance

teal wing
#

your gpu is not running the game probably igpu

#

impossibly low unless you got a fake 3060

teal wing
#

theres no way a 3060 using ultra perf dlss at 8 fps

#

cap

#

mans using a life 9000 meters mod

severe musk
#

I have no mods o.o

#

I dont plan on doing mods until frames are stable with proper lighting

#

Ill do a quick recording showing though

teal wing
#

8 fps 3060 cap

severe musk
#

Even my roommate with a 3070 ti struggles to get more than 30-40 FPS on medium (hair and AA off, no DLSS settings used)

teal wing
#

use fsr frame gen for at least 60 or so on max settings

severe musk
#

Oh god even without light function, if I turn that on i lag

#

@teal wing

#

ugh it set as mkv hold on, ill reupload as diff format

teal wing
#

thats wild

severe musk
#

See what im saying, I dont get why its so bad

teal wing
#

lov to help but is bedtime

#

to me that seems like igpu perf or windows auto set to not use the gpu in gpu settings

severe musk
#

idk how to fix it without losing light function

#

in nvidia control panel i have it set to use the 3060, but I cant find that setting (or that explicitly says to use the 3060) in windows setting. Im still digging though

#

and have a goodnight yerts

teal wing
#

windows key start menu, type "gpu"

severe musk
#

This area?

teal wing
#

why are they off

severe musk
#

idk, never turned them off

#

So turning them off will help? 😅

#

I stg if thats all I needed to do, ima kick a fat kid in walmart.

#

turned them on and restarted pc, gonna find out shortly lol

teal wing
#

you wanna click on graphics at the top and see if stalker 2 is listed using high perf gpu

#

(but those on the page you sent shouldn’t be off)

severe musk
#

yeah its set to use my 3060 already, nvidia app musta changed it for me when i did it in that app

#

oh wait, it added the wrong exe

sinful cypress
#

Sorry, but can you move to another channel

severe musk
#

i added the right one now

sinful cypress
#

this is the mod-making one

severe musk
#

at first atleast

#

apologies

teal wing
#

real

#

good thing I’m a modder

merry wagon
#

hi, does anyone know how to associate specific .wavs in a namemap with the .wems? MUS_GameWorld.uasset metadata lists all the bgm as named wav files then as wem files with random numbers, but the order of the .wem files doesnt seem to match up at all with the order of the .wav files

void owl
fossil idol
#

Is there MinHUD mode for the latest game version?
like a compass's cardinal directions

vestal sigil
#

Hello guys, anyone know a good LOD mod that fixes the trees/buildings etc. loading in further away?

#

I saw a couple but idk which one is best

#

I run the game at 170 fps average anyways so idm if it decreases my performance a bit, it just kills my immersion

ripe flame
#

Also, I don’t know about writing instructions in json. Feels tedious. What if I modify hundreds and even thousands different lines? What if vanilla changed its structure?

sturdy elk
#

Hello everyone! I'm very new to the community, but I want to release mods related to anomalies (including anomaly grenades). Does anyone know a console command to spawn anomalies?

lusty sail
ripe flame
eternal sapphire
limber rose
#

Hi guys , i m currently testing to allow new attachments to a weapon.
But I cant find how to set the good position on the weapon model!
If somebody know , You make me so happy!

ripe flame
ripe flame
# ripe flame You mean non-intrusive? Any mod that changes vanilla values

By the way, for easier merge, edits in ZzMutantLoot.cfg should be a direct full override.

The rule is simple: if you are modifying vanilla entries, it should be a full cfg override.
If you are adding new entries (items, effects, meshes etc), it can be a separate file.

Right now, if a mod loads after Mutant Loot, it has to directly override ZzMutantLoot.cfg to make changes or duplicate its changes afterwards. Refurl is not an injection, sadly.

#

For ex, if I override mutant health after Mutant Loot (using refurls as well), there will be no loot

eternal sapphire
ripe flame
eternal sapphire
#

Well if this is true wouldn't it make more sense for all the vanilla edit mods to use the vanilla files, and mine that adds new entries should be standalone?

ripe flame
#

This is what is confirmed:

Mutant Loot does this first:

Blinddog : struct.begin {refurl=BlindDog.cfg;refkey=Blinddog}
   ItemGeneratorPrototypeSID = MutantDogGenerator
   struct.end

Then next mod in load order does this:

Blinddog : struct.begin {refurl=BlindDog.cfg;refkey=Blinddog}
   VitalParams : struct.begin
      MaxHP = 50 // 63
   struct.end
struct.end

Result: no loot.

ripe flame
#

Only creating new structs (like new loot tables, effects, items etc) can use refurls, as I said. Sadly.

eternal sapphire
eternal sapphire
ripe flame
#

You add to the pool, which is fine

eternal sapphire
ripe flame
limber rose
#

If you want to exclude original properties you must ass {bskipref}

ripe flame
#

They are creating new gun and use GunAK74_ST as base

limber rose
ripe flame
#

{bskipref} tells engine to ignore base values?

#

Anyways, this is not the case of modifying existing item. There's no such usage of refurl in vanilla

limber rose
#

exemple for attachments:

Gun_Monolit_AR_GS : struct.begin {refurl=../../../GameData/WeaponData/WeaponGeneralSetupPrototypes.cfg; refkey=GunM16_ST}
...
...
CompatibleAttachments : struct.begin {bskipref}

  • without {bskipref}
    CompatibleAttachments : if you remove {bskipref} ill use the GunM16_ST CompatibleAttachments .
  • with {bskipref} it take only those in Gun_Monolit_AR_GS -> CompatibleAttachments
limber rose
limber rose
#

I will do documentation on all this tricks in few weeks

ripe flame
#

So, dear modders, if you are using refurls to "inject" into existing pool entries (including myself lol) - please stop 🙂 We are using refurls wrong in this case.

limber rose
#

how do you use it? what i swrong?

ripe flame
#

In short: you use refurl to add to the pool, not to edit pool entry.
Adding new item? You are good.
Editing an item? No-no.

Why?
These edits do not stack between mods. If several mods edit same entry using refurl, there will be only changes from the last loaded mod.

limber rose
#

ok 🙂
For developpers refurl and refkey works like inheritance from base class

proven spoke
#

is there a video that shows these steps?

#

as a tutorial

drifting tapir
limber rose
# proven spoke as a tutorial

I ll try to start a documentation of Stalker 2 modding this week end,
to begin I ll focus

  • on tools required (fmodel, repack.exe)
  • unpack vanilla stalker 2 to how it is structured and file content
  • basic mod : in DifficultyPrototypes.cfg modify repair, upgrade buy and sell multipliers on each difficulty
  • document .cfg files mechanics
  • refurl, refkey,
  • {refurl=../ttachPrototypes.cfg;refkey=TemplateScopeX2} {bskipref}
    As I m new moder (but 12years developer) I will try to improve documentation each step I make 🙂
#

Also, I will try do document variables on files.

drifting tapir
limber rose
#

@drifting tapir yes and you can skip inheritance onsub struct with {bskipref}

drifting tapir
#

Best way to think of it now:
Refurl replaces a vanilla struct
Replacing cfg ... well replaces a cfg.

Replacing structs lets you make surgical and clean edits compared to replacing structs, especially for stuff like loot tables. But downside of refkey method is that it is impossible to merge and relies on alphabetical order of cfg for conflit resolution

drifting tapir
ripe flame
proven spoke
drifting tapir
#

I dont think it is ideal if the modding meta is for every mod to replace cfg and let god user automerge take the wheel.

ripe flame
drifting tapir
#

But OTOH i can absolutely see modders being completely stupid with refurl. So idk.

drifting tapir
ripe flame
#

Because I went through it. Also, auto merges become unusable.

limber rose
#

the cat inherit from animal

ripe flame
#

So no, it's bad to use custom files for struct overrides using refurls. Only for adding new entries.

limber rose
#

so the cat

  
Cat{
  int BirthDate;
  Animal.Eat(Food);
  Mewo();

}
#

@drifting tapir hope this help 🙂

limber rose
#

its what CSG do with the dlc files

eternal sapphire
drifting tapir
eternal sapphire
drifting tapir
#

That should not be done for refurl replacement method and im scared it breaks the game

#

Refurl replacement is not a real replacement. It is tricking the game with duplicate variables (this is why the alphabetical order of cfgs matters)

ripe flame
bright flare
#

Is it appropriate to make a suggestion for a mod for someone to make here?

ripe flame
bright flare
#

I know some modding communities have like dedicated suggestion systems so that's why I ask

drifting tapir
drifting tapir
#

(Not speculative anymore, actually tested)

limber rose
#

see I did a custom file for my moddified attachments

drifting tapir
limber rose
eternal sapphire
bright flare
#

Then here's my suggestion:

I haven't seen one on the nexus but there's like 30 pages of stuff in there at this point so maybe it's slipped by me:
Has anyone done anything with fireplaces/campfires and their dynamic lighting/adjusting luminosity? The vanilla fires in the game seem reeeeeeeally weak. Don't light up the area like I think they should. Has anyone addressed this or is this not something that can be handled in the same way the customizable flashlight mod is?

Also lamps. Lamps too.

drifting tapir
limber rose
#

refkey just say what to take in your cfg

#

I send CSG Monolith weapon file

drifting tapir
ripe flame
eternal sapphire
#

refurl + refkey is not good**

teal wing
drifting tapir
drifting tapir
teal wing
drifting tapir
#

(Again, user automerge is not a good solution)

bright flare
teal wing
drifting tapir
# drifting tapir This is not a good argument because you have to do the same thing (but even more...

Like think about it,

Lets say you have a bandage mod. If you use refkey to replace bandage struct, you have to patch for everything thst changes bandages too.

If you replace consumableprototypes.cfg, you have to patch for everything that edits consumableprototypes.cfg.

Like i said, theres pros and cons to doing refkey or vanilla replacement. Ideally, we document info properly so modders can figure out a good meta for it

eternal sapphire
#

tbh I'm not convinced we cant find some solution to this, for full compatibility

bright flare
ripe flame
# drifting tapir (Again, user automerge is not a good solution)

So I need to manually create a compat for Project Itemization, then for Project Itemization + Faction Patches, then for just Faction Patches, then for Shay's Living Zone, then for another A-Life mod, then for combinations of those mods, then for some new mod, then for another A-Life mod, then for all possible combinations of those mods, instead of making mods to be mergable by players?

drifting tapir
eternal sapphire
drifting tapir
drifting tapir
#

We're never gonna have full compatibility between mods till someone makes dltx

bright flare
#

I genuinely can't remember if I've seen fires casting shadows or not, I may be dumb

drifting tapir
#

I understand ramon's pov and i want compatibility and user convenience to the extent that it is possible.

But there are no perfect solutions rn, and i would rather mod authors know the risks/benefits of refkey replacement than outright forbid it.

(Also, something i speculated but never proved is that refkey replacement on certain structs can crash the game or cause unexpected behaviour. Since we are fundamentally relying on game to resolve duplicate vars for it to work)

#

And my take is that mod authors relying on user automerge compatibility is not a good meta at all.

And if mod authors dont rely on automerge as a fixall and make their own patches, then it becomes obvious why refkey has usecases depending on the extent of changes being made, as otherwise a bandage mod is going to need 1000 different consumableprototype.cfgs

drifting tapir
teal wing
#

you were looking for casted shadows yes

#

that’s in the ini

teal wing
#

I’m not giving a ue class in the mod Chan but thanks for pointing out the simplification

#

very helpful

#

Thankfully tho this isn’t Reddit so we won’t need to have a “well actually”

#

spoke too soon

#

indeed

bright flare
teal wing
#

I’m so glad you put two and two together

flint flicker
#

ope someone big mad

bright flare
#

by "the lights themselves" I assume you mean fine tuning each individual fire. I don't care about that. Since pretty much all of the fires are about the same size, I would assume their reach in the world is about the same. I'll try your engine ini out when I get home today, see what it does for me. Thank you.

#

would that line effect flashlights or just the static light sources?

teal wing
bright flare
#

I'll have to see if the flashlight mod I'm using overwrites that for flashlights then. We shall see how well they play together.

teal wing
#

They will work together but it will still be a bit odd

#

you’ll see what I mean when you try it

#

so the setting changes most all lights

#

static, dynamic, butthole, you name it

#

it’s not great for gameplay tho

#

I’d rather be working in ue55

#

imagine believing someone literally could rewrite a pipeline with an ini

#

ok and

#

we come back full circle

ripe flame
#

You two should rent a room if you want to continue. Chill.

teal wing
#

Let me try this

teal wing
#

maybe you missed that part. If you have further questions please direct them to Reddit

drifting tapir
#

How are graphics real if the engine is called unreal.

teal wing
#

real

#

(Un)

drifting tapir
#

If stalker was made on real engine it would be good

teal wing
#

Not exactly

#

Since this is my career

#

why would there be ?

#

unfortunately some of us do this for work so please dm me with any issues and I can get to them later

#

lol

#

so he’s just a troll

#

we’re done here

dense swift
#

Neat, it kinda resolved itself and I didn't have to lock the channel for 7 hours till I woke up

#

No but seriously, chill out

teal wing
#

it’s ok to get caught up in technicalities

#

could sit here all day arguing about blue gold dresses

flint flicker
#

@ripe flame so chance & weight cannot be used together, they do the same thing except chance will allow the item to spawn. Unfortunately, it looks like if you use chance in any item generator, bodyarmor, head ect it will treat it as one giant list of things to potientially spawn, just like one of the consumable structs

ripe flame
flint flicker
#

Yes, but what is the difference? Does [*] act like some kind of inheritor?

ripe flame
#

This is my weak spot, actually. I am not sure what exactly [*] does.

drifting tapir
#

Same 💀

ripe flame
#

It is used in different cases

flint flicker
#

I just swapped it in for different use cases, but it didnt help.

merry mountain
#

as far as i know

sinful cypress
#

I have no clue, but AI says:

In Unreal Engine modding, the difference between [*] and [0] typically refers to how arrays or lists are accessed in scripting (e.g., Blueprints, C++, or Python). Here’s the explanation:

[0]
• [0] accesses the first element of an array.
• Arrays in Unreal Engine (like in many programming languages) are zero-indexed, meaning the first element has an index of 0, the second element is 1, and so on.
• Example in C++:

TArray<int32> MyArray = {10, 20, 30};
int32 FirstElement = MyArray[0]; // Returns 10

•    [* ]  is a shorthand, commonly used in Blueprints, to reference the last element of an array.
•    It’s useful when you don’t know the exact length of the array or want to avoid manually calculating the last index.
•    Example in C++:

TArray<int32> MyArray = {10, 20, 30};
int32 LastElement = MyArray[MyArray.Num() - 1]; // Returns 30 (equivalent to MyArray[*] in Blueprints)

Key Differences
1. Position in the array:
• [0] = Always refers to the first element.
• [* ] = Always refers to the last element.
2. Dynamic behavior:
• [0] remains constant as the first element, regardless of array modifications.
• [* ] dynamically adjusts to always point to the last element, even if the array changes in size.

Blueprint Examples:
• [0]:
In Blueprint Array nodes, [0] accesses the first element of an array.
• [ *):
The shorthand [ *] or “Last Index” in Blueprints accesses the last element of an array dynamically.

This distinction is especially useful for working with arrays that are modified at runtime, allowing efficient access to specific elements.

teal wing
#

Can you code block that I think it messed some up

bright flare
sinful cypress
#

True

ripe flame
#

My approach to spawn one random item from list is this:

Gamepass_ItemGenerators.cfg

GamePass_Stash_ItemGenerator_Cheap : struct.begin {refurl=../ItemGeneratorPrototypes.cfg;refkey=[0]}
   SID = GamePass_Stash_ItemGenerator_Cheap
   ItemGenerator : struct.begin
...
      [7] : struct.begin
         Category = EItemGenerationCategory::SubItemGenerator
         //bAllowSameCategoryGeneration = true
         PlayerRank = ERank::Newbie
         PossibleItems : struct.begin
            [0] : struct.begin
               ItemGeneratorPrototypeSID = Omega_Stash_ItemGenerator_Newbie
               Weight = 1
            struct.end
         struct.end
      struct.end
...

OmegaItemGenerators.cfg

Omega_Stash_ItemGenerator_Newbie : struct.begin {refurl=../ItemGeneratorPrototypes.cfg;refkey=[0]}
   SID = Omega_Stash_ItemGenerator_Newbie
   ItemGenerator : struct.begin
      [0] : struct.begin
         Category = EItemGenerationCategory::SubItemGenerator
         PossibleItems : struct.begin
            [0] : struct.begin
               ItemGeneratorPrototypeSID = Omega_WeaponGenerator_Newbie
               Chance = 0.02
            struct.end
         struct.end
      struct.end
...

Still OmegaItemGenerators.cfg

Omega_WeaponGenerator_Newbie : struct.begin {refurl=../ItemGeneratorPrototypes.cfg;refkey=[0]}
   SID = Omega_WeaponGenerator_Newbie
   ItemGenerator : struct.begin
      [0] : struct.begin
         Category = EItemGenerationCategory::WeaponPrimary
         PossibleItems : struct.begin
            [0] : struct.begin
               ItemPrototypeSID = GunPM_HG // 950, PTM. Pistol
               Weight = 100.0
               MinDurability = 0.4
               MaxDurability = 0.9
               AmmoMinCount = 10
               AmmoMaxCount = 30
            struct.end
ripe flame
bright flare
#
I have no clue, but AI says:

In Unreal Engine modding, the difference between [*] and [0] typically refers to how arrays or lists are accessed in scripting (e.g., Blueprints, C++, or Python). Here’s the explanation:

[0]
    •    [0] accesses the first element of an array.
    •    Arrays in Unreal Engine (like in many programming languages) are zero-indexed, meaning the first element has an index of 0, the second element is 1, and so on.
    •    Example in C++:

TArray<int32> MyArray = {10, 20, 30};
int32 FirstElement = MyArray[0]; // Returns 10

[*]
    •    [*] is a shorthand, commonly used in Blueprints, to reference the last element of an array.
    •    It’s useful when you don’t know the exact length of the array or want to avoid manually calculating the last index.
    •    Example in C++:

TArray<int32> MyArray = {10, 20, 30};
int32 LastElement = MyArray[MyArray.Num() - 1]; // Returns 30 (equivalent to MyArray[*] in Blueprints)

Key Differences
    

    Position in the array:
    •    [0] = Always refers to the first element.
    •    [*] = Always refers to the last element.
        Dynamic behavior:
    •    [0] remains constant as the first element, regardless of array modifications.
    •    [*] dynamically adjusts to always point to the last element, even if the array changes in size.


Blueprint Examples:
    •    [0]:
In Blueprint Array nodes, [0] accesses the first element of an array.
    •    [*]:
The shorthand [*] or “Last Index” in Blueprints accesses the last element of an array dynamically.

This distinction is especially useful for working with arrays that are modified at runtime, allowing efficient access to specific elements. ```
bright flare
#

it was just asterisks being funky

teal wing
#

okay:)

flint flicker
ripe flame
#

And spawns it with desired chance

#

Notice how there's a "middle man" generator

flint flicker
#

That's what I have setup. Middle man gen does call the one I want, and it does equip the NPC with it, but it doesn't drop the armor.

ripe flame
flint flicker
#

What makes you say that? I don't think that is true

ripe flame
#

Cause I tried. If you go above, it takes into account only 5 last entries

#

Also, have you seen any vanilla SubItemGenerator with PossibleItems's max index above 4?

flint flicker
#

In ItemGeneratorPrototypes

ripe flame
#

Interesting. So maybe it is dependant on where you want to generate

#

In stashes it didn't go above 5

#

Also, damn, how do you look at that syntax highlight for a long time? My eyes already hurt 😄

flint flicker
#

Also, you can use any variable in a subgen, they just can't be conflicting variables.

#

It's easy to read. Green on black is surprisingly nice

ripe flame
#

Well, I prefer this, but sure 🙂

flint flicker
#

Yellow triggers migraines, so ew no thank you lol

ripe flame
#

shrug standard color for strings in Sublime

flint flicker
#

All I know is, i'm really dumbfounded.

The NPC literally spawns with it and won't drop the stupid armor

ripe flame
#

This is what I did in my Project Itemization rewrite:

DynamicItemGenerator.cfg

GeneralNPC_Neutral_CloseCombat_ItemGenerator : struct.begin {refurl=../ItemGeneratorPrototypes.cfg;refkey=[0]}
   SID = GeneralNPC_Neutral_CloseCombat_ItemGenerator
   RefreshTime = 1d
   ItemGenerator : struct.begin
...
      [*] : struct.begin
         Category = EItemGenerationCategory::SubItemGenerator
         PlayerRank = ERank::Newbie, ERank::Experienced
         PossibleItems : struct.begin
            [0] : struct.begin
               ItemGeneratorPrototypeSID = ProjectItemization_ItemGenerator_Cheap
               Chance = 0.16 // 0.04
            struct.end
         struct.end
      struct.end

zzProjectItemization_ItemGenerators.cfg

ProjectItemization_ItemGenerator_Cheap : struct.begin {refurl=../ItemGeneratorPrototypes.cfg;refkey=[0]}
   SID = ProjectItemization_ItemGenerator_Cheap
   ItemGenerator : struct.begin
      [0] : struct.begin
         Category = EItemGenerationCategory::Junk
         bAllowSameCategoryGeneration = true
         PossibleItems : struct.begin
            [0] : struct.begin
               ItemPrototypeSID = DirtyRags
               Weight = 100.0
               MinCount = 1
               MaxCount = 2
            struct.end
flint flicker
#

One second, I think I see the issue.

Also, none of the examples have been armor, and I think that is an important distinction

ripe flame
#

Yes, gear can be treated in a unique way

#

If you want it as loot, maybe use "Junk" category

flint flicker
#

OH MY FUCK ME

ripe flame
#

and add

         bAllowSameCategoryGeneration = true
flint flicker
#

Nope

#

BodyArmor is treated as the NPC mesh. You need to gen it twice to drop. 1st one goes to the NPC, second one goes to the inventory

ripe flame
#

That would be my second guess 🙂 Yet you still need to add bAllowSameCategoryGeneration = true, don't you?

flint flicker
#

No

ripe flame
#

Strange

#

maybe engine doesn't count it as a duplicate, as first one goes to equipment

#

Did it actually work?

#

What if you add

               MinCount = 2
               MaxCount = 2

instead of duplicating entries?

flint flicker
#

Ill give it a go, but yes it works

ripe flame
#

Well, here you go, nice

ripe flame
flint flicker
#

It should be minCount = 1 then, with MaxCount = 2.

Chance set to what you want the drop rate to be.

ripe flame
#

I mean, if NPC spawns with armor, it will 100% drop as item too

#

That's not good

flint flicker
#

No, without a duplicate, it does not spawn.

#

Ive been fighting that for so long, that I know lol.

ripe flame
#

I am talking about

               MinCount = 2
               MaxCount = 2
flint flicker
#

Wait one, will post

ripe flame
#

Remember that already spawned NPCs will not apply changed cfg rules

flint flicker
#

yeah, i know. I fly about 500m out to test

ripe flame
#

Why fly, when you can spawn

flint flicker
#

oh, thank you

#

cause, fly =7000 i get there fast lol

#

and i didnt know that command....

ripe flame
#

I've figured that out for NPCs, thanks to @eternal sapphire for XSpawnObjBySID Blinddog 1 false

drifting tapir
#

fwiw the number in the command is the rank. Newbie, experienced, veteran, master, etc. You can use the names of the ranks in the command too.

I dont know how the rank interacts with loot tables. It is possible that a "1" spawn might always use a newbie loot table, whereas "2" uses experienced and so on.

#

Im not sure if "1" is newbie or experienced either. Never tried 0 in the command. Someone else might have more info on this

ripe flame
#

Oh, good to know

drifting tapir
#

Can you try the command with 0 to see if anything spawns ? 😄

flint flicker
drifting tapir
#

Possible that 0 is newbie.
I normally use the rank name for spawn commands so im not sure

flint flicker
#

no spawn with 0

ripe flame
flint flicker
#

I lied, that did spawn someone

ripe flame
#

It spawns a stalker if cannot find what requested

flint flicker
#

@ripe flame Here is a snippet it, the top is the call, middle is the "middle man" and the last one is the one of the functions.

Note, I'm thinking duplicate with [0] [1] is the way to go, as min/max count is not spawning all the time, even at chance= 1

ripe flame
#

Yeah, seems like more control

#

But you really don't want to have 100% chance of armor drop for balance reasons

flint flicker
#

correct.

ripe flame
#

Meanwhile, as we speak, @rain juniper releases "Version 0.22 Preview(Drop armor Faction Patches)" version of "Better NPC Progressive Loadouts" which drops armor 😄
https://www.nexusmods.com/stalker2heartofchornobyl/mods/596?tab=files

Nexus Mods :: S.T.A.L.K.E.R. 2: Heart of Chornobyl

Changing NPC loadouts to more diverse and logic. No more exo only in late game and jacket only in early game! Also smoothly weapon NPC progression. Must be compatible with A-Life mods!

flint flicker
#

.......

flint flicker
flint flicker
little sluice
crude basin
flint flicker
limber rose
#

qu

eternal sapphire
# flint flicker <@106711858643230720> Here is a snippet it, the top is the call, middle is the "...

When you have multiple PossibleItems use "bAllowSameCategoryGeneration = true". Example:

   SID = MutantFleshGenerator
   ItemGenerator : struct.begin
      [0] : struct.begin
         Category = EItemGenerationCategory::Junk
         bAllowSameCategoryGeneration = true
         PossibleItems : struct.begin
            [0] : struct.begin
               ItemPrototypeSID = MutantBlood
               Chance = 0.5
               MinCount = 1
               MaxCount = 2
            struct.end
            [1] : struct.begin
               ItemPrototypeSID = MutantMeat
               Chance = 0.6
               MinCount = 1
               MaxCount = 3
            struct.end
            [2] : struct.begin
               ItemPrototypeSID = MutantHide
               Chance = 0.3
               MinCount = 1
               MaxCount = 2
            struct.end
            [3] : struct.begin
               ItemPrototypeSID = FleshEye
               Chance = 0.7
               MinCount = 1
               MaxCount = 1
            struct.end
         struct.end
      struct.end
   struct.end
struct.end```
weak apex
#

anyone know what the absolute protection effects are in EffectProtoypes?

#

like: ProtectionAbsoluteStrike9

lone sapphire
#

I would like to ask about using the dev console, what are the side activities ID codes.
Not side quest ID codes.

flint flicker
#

And I'm fairly confident at this point BodyArmor is handled differently when it comes to drops, since the body armor is used as a npc mesh

south kayak
#

Continuing the work on my mod, this time I wanted to try something different, going back to the roots of 2010 concept arts regarding the fanatical monolith, yet not going over the "stitch a mask to my face" line.
So here's a monolith's "assault gas mask" which is a rare sight among the monolith troops, made to strike terror and fear into the enemy, called "Gaze of Monolith", so basically a wip unique helmet. The 3d model is in the making too, but early version, still needs a lot of work.

neat thistle
#

Hm, is it possible right now to make the game to close the inventory on consumption an item?

lusty sail
#

Whole day ruined, but I've done recursive reference preview and icon selector for my tool. I'm still do something else instead of fixing global thing that broke everything xD

Before proper testing, need to fix deletion of properties and adding it to working space window. because now it just redraw new properties in bad positions and also effects don't update when I delete some of effects SIDs or some property from ShouldShowEffects.

crude basin
flint flicker
#

How much of a hassle is it to make a localization .pak?

long lantern
#

Is there just a limit to how big a virtual texture can be imported into UE5? An example is this coat, when I tried to manually convert to a VT and apply a larger number as a filter, it vanished from the list

teal wing
#

and the texture

long lantern
#

and I tried texture size threshold 16384 and 32768 and it just deletes from the list if I click "Apply Filter" and doesn't change

#

I was working on a camo overhaul for the Corps, and only a few clothing textures were small enough to convert apparently

keen crag
#

I've got a question for everyone making mods for S2 or unreal engine in general (hopefully)

My formatting isn't going to be great because I'm on my phone ATM.

How much would you want a GUI to handle packing and unpacking not only .pak files, but also the new .ucas/.utoc files as well? I personally don't mind using CLI tools for one or two paks, but when repeating that it gets to be a bit annoying.

I'm working on said GUI and have .pak support currently, that's nothing special so I haven't made a build for release yet, but ideally tomorrow I'll implement .ucas/.utoc support as well.

To describe the GUI since I don't have pictures currently and can't be bothered to turn my PC back on it's essentially: select a folder (where paks and such are) on the left side, that populates a list you can select paks and such from in the middle you have your pack and unpack buttons as well as a place to enter an aes key if needed (and save it to a config file) and on the right you select an output folder where the unpacked files will go and also where you would select a folder for repacking

I know a picture would do so much better, but I'm tired lmao.

Just to clarify something too, I know other GUIs exist that handle paks, but I'm not aware of anything that handles paks and ucas/utoc (I don't even support this yet, lol, hopefully tomorrow)

Anyways, let me know if that would be something y'all are interested in. It'll be free + mit license with ongoing support and id take suggestions on features as I'm new with unreal modding so I'm not totally sure what features would be needed/wanted.

EDIT: I guess just give a thumbs up reaction if this is something worth doing

lone sapphire
# crude basin Since they are repeatable 'radial' quests there might not be static ID's for the...

Hi, thanks for sharing your info about it, and I appreciate that you respond. But I have no idea how to get that generated ID for those side activities. I guess you need a tool for this to find every ID codes for side activities. That's why I asked here because maybe someone here who already have these side activities ID codes listed in their ID codes file for quest, side activities, and side quests.

crude basin
warm wing
raw parcel
#

this looks like a game changer holy shit

lusty sail
#

Shiit, again 999+ gigs patch? 😩

little sluice
lusty sail
#

Steam said to me “110” gigs 🫡

glossy berry
#

How many mods will break?

#

I want to finish story without problems😅 Can I skip patch?

minor cedar
unreal knot
minor cedar
ripe flame
glossy berry
#

Fixed EXCEPTION_ACCESS_VIOLATION

#

Who can test now?😅

orchid gull
#

Has anyone been able to make a pda overhaul mod to add Messages between stalkers and events and a faction relation tab plus making the pda 3d zoomed out ?

woeful crane
#

I tried to tell everyone...just let em cook

nimble heron
#

110 GBS WHAT THE FUCK

#

WHt IS THIS PATXH LMAO LALAAGHAHAHAHAHAHA

#

WHAT

#

thats honestly insane like

#

why

dense saffron
#

When they said bigger the 1.0.3 and 1.0.2 i didn't think it'd be another game size file big

nimble heron
#

i mean there are a lot of fixes but 110 gigs is just insane

eternal sapphire
# ripe flame Rule of thumb: consider all mods

Assuming they didn't fundamentally change how mods are loaded any mods not editing vanilla files will still work, even the ones editing vanilla should still work but be outdated if that file was updated. This is a good example of why refkey mods are convenient.

ripe flame
#

Well, personally I will know what's changed in 5 hours kekw

nimble heron
#

just repacking will be enough for vast majority of mods i think

#

i hope at least

eternal sapphire
#

My eta is 15 mins, if there's anything you want checked lmk

neat thistle
#

Oh, did they fix 'empty slot' thing?

orchid gull
#

I dont think the update is 110gb , just mostly validating 110gb of files

orchid gull
#

Yea fixes not added things

nimble heron
#

they are global tho

summer silo
orchid gull
#

I can barely believe fixes is 110gb

nimble heron
#

i mean

summer silo
#

Localization mods are going to be the bane of our existence aren't they?

nimble heron
#

at least its not a terabyte

ripe flame
#

Mmmm, modern game dev culture, love it

orchid gull
#

I dont mind it being 110gb. But last patch was large also dont remember how large but i remember most of the size was just validating already installed fies

summer silo
#

Over 15 localization and voiceover updates.
Updated descriptions of multiple armor upgrades.

eternal sapphire
ripe flame
orchid gull
nimble heron
#

🙂

summer silo
#

It's most likely the fact pakchunks are a bitch to xdelta patch

eternal sapphire
#

Well something is broken... LowLevelFatalError [File:D:\STALKER2\s2editor\Engine\Source\Runtime\RenderCore\Private\GlobalShader.cpp] [Line: 878] Could not load section 0 (of 387) of the global shadermap.

neat thistle
#

oof

eternal sapphire
#

its the skip splash screen mod??? lol

summer silo
#

welp

ripe flame
#

Just FYI, for faster compare, I use WinMerge to compare folders of unpacked cfgs. One for old game version, one for new game version. Always keep you cfgs 🙂

eternal sapphire
#

Well that's interesting...

#

Only this text is missing, I hope they didn't change how localization is loaded for mods...

ripe flame
#

If it's related

lusty sail
#

AIGlobals has some changes, new lines of properties and some other files, like ObjPrototypes etc

eternal sapphire
ripe flame
#

Make some coffee, guys, we have a deep dive ahead

#

If someone can drop unpacked clean vanilla 1.1 GameData folder, that would be great

#

For those of us with modem connection lol

neat thistle
#

What they've done

ripe flame
#

Just make sure there's no mods in ~mods folder when exporting in FModel

lusty sail
ripe flame
#

I need only RSQ ones from
DialogPrototypes
QuestNodePrototypes

eternal sapphire
lusty sail
ripe flame
ripe flame
lusty sail
#

For pseudodog devs make cooldown 20s, was 10s and made MaxInstancesInGroup from 11 to 9, still a bunch of fantoms xD

ripe flame
#

Seems enough for me

#

Pseudodogs aren't a challenge without swarm of phantoms

deep ridge
#

A life patch

eternal sapphire
#

Okay umm.. Localization was pak 28 right???

neat thistle
#

lmao

neat thistle
lusty sail
#

They combined it?

neat thistle
#

I remember seeing patchunk40 or smth there, but it should've been much higher with others

lusty sail
#

No 28 pakchunk

eternal sapphire
lusty sail
#

Really...

neat thistle
#

Now we going to play without names and descriptions 😄 😄

lusty sail
#

LocalizationDB was in pakchunk28?

#

If yes, now it's in pakchunk29.utoc

ripe flame
#

I'm sure they just moved it. Use Ctrl+Shift+F in FModel

neat thistle
ripe flame
#

Chill, they won't make cardinal changes to structure at this stage

eternal sapphire
#

Well localization mods stopped working so we are panicking lmao

digital gulch
#

gonna be a pain to figure what mods work

ripe flame
#

Interesting.
SpawnDistanceMin and SpawnDistanceMax are gone from ALifeDirectorScenarioPrototypes

#

Yeah, all distance settings are removed from it. Looks like A-Life system is noticeably different now.

summer silo
eternal sapphire
#

The localization file has soooo many changes

#

Changed the ball description:
"sid_items_AArtifactWeirdBall_description": "A scruffy children's ball. While equipped, you recover quicker, especially in combat. It almost seems like the toy is absorbing\u00A0the\u00A0impact.",

lusty sail
#

Stash icons

#

OG icons came back

half willow
#

that purple by default?

#

thats sick

ripe flame
#

It's so funny for me that they are doubling vendor's random quest payoffs with every patch 😄

#

Once my mod was 4x payout increase, now it's 2x

half willow
#

yeah i mean getting paid 3500 for a quest in pripyat is pepeRetarded

#

so good that theyre changing it

ripe flame
#

Still 800 for pack of dogs. Like, come on

half willow
#

hahah

ripe flame
#

Two medkits?

half willow
#

two medkits, 30 rounds of 5.45 and a sausage

ripe flame
#

Noone bothers with that one, I am sure

#

Only out of boredom

half willow
#

i mean, it's the equivalent of preston quests from fo4

ripe flame
half willow
#

SKEEFA, I caught word of a settlement in need of your help

eternal sapphire
#

Can confirm the game still cant handle missing items... tbh I wish they would just roll back whatever they did to allow these saves to even load, much better for it to hard crash on load so the user at least knows something is wrong.

ripe flame
# lusty sail Lol

I also made this in MinUI, map feels a lot readable with such small change

#

Because it has different shape, you can very fast read other important icons

ripe flame
#

Too soon

neat thistle
#

What are those in the end?

eternal sapphire
lusty sail
#

It’s like basic feature to prevent bugs and other unwanted staff when developing inventory systems

ripe flame
neat thistle
#

I hoped...

ripe flame
eternal sapphire
ripe flame
#

Cause tool that they are using is a piece of shit?

wise pecan
ripe flame
eternal sapphire
#

Can we all agree to use this formatting when providing localization resources:

"sid_questItemprototypes_MutantMeat_name": "Mutant Meat",
"sid_questItemprototypes_MutantMeat_description": "Meat from these mutated creatures may not be the first choice for most in the Zone but with the right knowledge it can be prepared safely.",
"sid_questItemprototypes_DeerHorn_name": "Deer Antlers",
"sid_questItemprototypes_DeerHorn_description": "The antlers of this rare mutant create a local psionic field that alters the brains of nearby creatures. The full extent of this alteration is currently unknown. Research into the effect could prove very valuable, which is why scientists and traders will pay well for this item."
}```
#

So json merge tools can easily work

neat thistle
ripe flame
#

I prefer not using {} at all, so I can just Ctrl+A, Ctrl+C

#

Well, no, we should always use identation same as vanilla.

eternal sapphire
ripe flame
#

Missed "merge tools" part

eternal sapphire
#

tbh if we all used the same naming conventions and formatting It would be very easy for me to make one mega merged patch and keep it updated

ripe flame
#

I do believe we need one github, so people just commit changes

lusty sail
#

Any tutorials about localization?

#

I just figured out that I miss that part

#

I’ve unpacked localizationdb and get files in JSONs

ripe flame
eternal sapphire
half willow
#

so there is basically a localization mod that includes everyones changes

wise pecan
#

Do you know which Pak the Face Texs are in?

ripe flame
half willow
#

yeah i mean for adding new stuff

#

this would be amazing

#

if youre editing the base files

#

not so much

ripe flame
#

Well, yeah, just a repo for all the translations

#

Download and merge what you want

eternal sapphire
#

Can easily merge with RWN as the base DB

ripe flame
lusty sail
#

I drop out mods folder before update

ripe flame
#

Damn they cranked up that cash-money then, alright

ripe flame
lusty sail
#

Yes

ripe flame
#

Okey, just making sure

shell marsh
#

they’ve added a bunch of a-life specific cvars

lusty sail
#

And i use only stamina, weight and climbing mods

ripe flame
#

FModel picks up all paks in game root folder

shell marsh
# shell marsh they’ve added a bunch of a-life specific cvars

"gsc.ModelLair.ALifeExpansion.DivisionFactor": { "Flags": [ "SetByConstructor" ], "type": "Float", "value": 0.33000001311302185 }, "gsc.ModelLair.ALifeExpansion.Enabled": { "Flags": [ "SetByConstructor" ], "type": "Boolean", "value": false }, "gsc.ModelLair.ALifeExpansion.MinModelQuantity": { "Flags": [ "SetByConstructor" ], "type": "Int32", "value": 2 }, "gsc.ModelLair.ALifeExpansion.Relevancy": { "Flags": [ "SetByConstructor" ], "type": "Float", "value": 3000.0 }, "gsc.ModelLair.ALifeExpansion.RequirementFactor": { "Flags": [ "SetByConstructor" ], "type": "Float", "value": 0.6600000262260437 }, "gsc.UnitModel.OfflineRelevancyTime": { "Flags": [ "SetByConstructor" ], "Helptext": "Offline relevancy time seconds", "type": "Float", "value": 1200.0 },

ripe flame
#

Vendor's random quests now also have 24 in-game hours cooldown instead of 72

sand vault
silk totem
#

Waiting for the update to finish on my end. Are most mods still functioning? Any specific ones that should be removed?

eternal sapphire
crimson laurel
#

gyatt 110gb update 🤣

#

redownloading the whole game on god

sand vault
#

Is that GameData.zip up there the new files?

digital gulch
ripe flame
#

Also,

BACKUP YOUR SAVES

eternal sapphire
#

Do this even if you don't use mods!

sand vault
#

I backup my entire "\AppData\Local\Stalker2" folder

#

But if you want just the saves, backup this entire folder if you're on Steam. "\AppData\Local\Stalker2\Saved\STEAM"

silk totem
#

So far everything is running as usual without issue, but I'll update my mods as they're released

vale holly
#

I hear people saying that most rebalancing mods should be fine to use with the new patch as GSC basically only rebalanced the Gauss. Problem is I used Maklane’s total overhaul for rebalancing which probably has to go.

Any recommendations for rebalancing mods which doesn’t change too much (AI behavior) that should be safe to use?

ripe flame
#

A lot of small tweaks were made in many cfgs.
Yes, majority of 1.0.3 mods will work, but you are neglecting fixes and features added in 1.1

ripe flame
vale holly
#

Yeah I hear you’re hard at work so it’s probably gonna be Omega. Thanks for being a champ and updating so fast!

ripe flame
#

Does anyone have this weird behaviour where game just stops compiling shaders at about 1/3?

lusty sail
#

I deleted engine.ini and all works

sinful cypress
#

remove the line with the cache in ini, have forgotten which one it was ^^
it´s unter "System Settings"

wicked wind
ripe flame
#

I’ll look into it then later for all my UI mods, including Descriptive Consumables

#

Something changed, but god knows what. Have no idea yet how to fix

sinful cypress
ripe flame
magic geyser
toxic flower
#

No_Shader_Warmup still working for me

#

btw

summer tartan
#

Need some help using FModel to find gun sounds using the .bnk files. I haven't been able to find IDs that match up

summer tartan
#

Yes, but the IDs in the audio folder don't seem to match up to the ones listed in the corresponding .bnk

#

All I need is the correct folder paths, for both the .bnk files and the audio files

#

Not sure what I'm doing wrong

sinful cypress
sand vault
#

Alright, got all of my mods updated.

sand vault
#

Anyone have the Stalker 2 "\Stalker2\Config" folder for 1.1 so I can fix the splash screen mod?

sinful cypress
#

The Github link from above?
Or perhaps I misunderstood you here?

sand vault
#

It's only the GameData folder

#

The Config folder is outside of it

sinful cypress
#

ah, sry

compact furnace
#

Really funny A-Life fix, I just witnessed the game is now spawning encounters around NPCs in the distance so it looks like they got into a fight, instead of spawning them on the player. I watched a warden dude walk around, got into distance to despawn and respawn him in my view over and over and when he started walking towards me again, the game just spawned 3 zombies right in front of him lol Not sure this really is the fix we hoped for, but atleast NPCs do seem more persistent from early testing. Thats a big win for now

#

Also NPCs in the offline simulation do not seem to move while not being visible, when you see them disappear and reappear they just spawn back in, pulling out their gun every single time and then moving in a different direction from previously

sand vault
#

I figured they'd introduce more issues. It's a complex system that's gonna take some serious hours to get working properly

#

At least modders now have more to work with

#

That's the plus here.

compact furnace
# sand vault I figured they'd introduce more issues. It's a complex system that's gonna take ...

Surely, Im just always a bit suspiscious about their fixes and A-Life promises generally, Im sure they are trying but claiming to have fixed something that is not fixed in the way they say it is, would be once again dishones. Ill give them the credit when they properly fix it, but for now it looks like they made the spawner better and somehow save some kind of offline location for NPCs, atleast statically

sand vault
#

I think we're gonna see a lot of bandaid fixes until they have more time to figure things out

#

If they ever do

#

Imagine what CDPR is having to do to get an entire city full of NPCs working in UE5...

#

LOL

compact furnace
sand vault
#

Holy shit. It makes you realize very quickly why they have another studio releasing updates for Cyberpunk 2077 after they said there would be no more updates. Because they know it's going to take them a long time to get the next Cyberpunk game working in this engine.