Recommended Posts

orian34    534

Ten graves, i dig them up early game and kill lots of them each time i have to go to my swamp/ summer/winter mactusk

 

And i forgot that i have the turn undead thing :(  

How screwed am i 2?

Share this post


Link to post
Share on other sites
DeathDisciple    292

hmm maybe it's more than hambat then, there seem to be a tad too much for that.. guess I'll remove the spawn trigger from hambats for now and see if I can get any extras to spawn. It's modded to do so, it's not the default behavior - was supposed to make it a little bit more annoying to just 'avoid' the dug graves - but certainly not spawn 50 mobs out of it lol

Share this post


Link to post
Share on other sites
kraken121    398

at least, i have the turn undead but...what if i have the druid...

the druid will have more spells to fight the undead "soon" ;)

Share this post


Link to post
Share on other sites
simplex    2,609

Crash:

scripts/mods.lua(17,1) error calling PrefabPostInit: spider in mod HeroInTheDark (Hero in the Dark): ../mods/HeroInTheDark/modmain.lua:1940: attempt to index field 'equippable' (a nil value)LUA ERROR stack traceback:        ../mods/HeroInTheDark/modmain.lua(1940,1)
I guess spiders are not fashionable :/. I think you meant to index the sanityaura component of the spider prefab instead of equippable (if DLC) or dapperness (otherwise).

EDIT:

Another one:

scripts/entityscript.lua:18: module 'stategraphs/SGskeletonspawn' not found:	no file '../mods/UpAndAway_git/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/HeroInTheDark/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/ManualWorkshopUpdate/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/MemSpikeFix/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/ModTestingToolbox/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/BetterCrashes/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/NoMoreWallFing/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/CompromisingSurvival/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/ActionQueue/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file '../mods/Better-Console/scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file 'scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file 'scriptlibs/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no file 'scripts/stategraphs/SGskeletonspawn.lua' (checked with custom loader)	no field package.preload['stategraphs/SGskeletonspawn']	no file '..\mods\UpAndAway_git\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\HeroInTheDark\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\ManualWorkshopUpdate\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\MemSpikeFix\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\ModTestingToolbox\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\BetterCrashes\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\NoMoreWallFing\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\CompromisingSurvival\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\ActionQueue\scripts\stategraphs/SGskeletonspawn.lua'	no file '..\mods\Better-Console\scripts\stategraphs/SGskeletonspawn.lua'	no file 'scripts\stategraphs/SGskeletonspawn.lua'	no file 'scriptlibs\stategraphs/SGskeletonspawn.lua'	no file 'scripts/stategraphs/SGskeletonspawn.lua'	no file 'code.stategraphs/SGskeletonspawn'LUA ERROR stack traceback:        =[C] in function 'require'        scripts/entityscript.lua(18,1) in function 'LoadStateGraph'        scripts/entityscript.lua(566,1) in function 'SetStateGraph'        ../mods/HeroInTheDark/scripts/prefabs/skeletonspawn.lua(166,1) in function 'fn'        ../mods/HeroInTheDark/scripts/prefabs/skeletonspawn.lua(175,1)        =(tail call) ?        =(tail call) ?        scripts/mainfunctions.lua(126,1)        =[C] in function 'SpawnPrefab'        scripts/mainfunctions.lua(160,1) in function 'SpawnPrefab'        ../mods/UpAndAway_git/wicker/plugins/addprefabpostinitany.lua(29,1)        =(tail call) ?        scripts/components/spawner.lua(186,1) in function 'ReleaseChild'        scripts/components/spawner.lua(16,1) in function 'fn'        scripts/scheduler.lua(170,1) in function 'OnTick'        scripts/scheduler.lua(381,1) in function 'RunScheduler'        scripts/update.lua(87,1)        =(tail call) ?        =[C] in function 'xpcall'        ../mods/BetterCrashes/modmain.lua(165,1)
This one happens because under Linux (and Mac) the filesystem is case sensitive, so since the stategraph file is named SGSkeletonSpawn.lua it is not found. Edited by simplex
  • Like 1

Share this post


Link to post
Share on other sites
DeathDisciple    292

ok first things first, the spider thing is a typo that I cannot fathom why it didnt crash on me... as it should've crashed on every single game ever. It should say

 

AddPrefabPostInit("spiderhat",nonEvilSanityPostinit)

 

And ugh case sensitivity... good catch.

Edited by DeathDisciple

Share this post


Link to post
Share on other sites
simplex    2,609

And about the skeleton swarming:

hlAkM6r.png

When you reload the save, the old skeletonspawn child entity is "forgotten", and a new one is set up to spawn. By setting the spawn delay to 0.1, digging up a grave, saving the game, reloading the save, saving the game, reloading... and so on, I reproduced the scenario in the screenshot above (there's only one dug up mound in the whole map, and all of the skeletons you see spawned from it).

It took me quite some time to figure out why it was happening, and I have a feeling you'll be just as pissed as me (if not more; yeah, probably more). Look at prefabs/gravestone.lua. It handles the savedata of its mound. Now look at this line:

		data.mounddata = inst.mound:GetSaveRecord()
Notice anything off? It's simply ignoring the second return value of GetSaveRecord: the entity reference array. So you're losing the child references from the mound's spawner component. And even if that were not the case, gravestone initialises the mound within its OnLoad method, calling EntityScript.SetPersistData on it. As a side effect, the LoadPostPass method of the spawner component never runs, only the OnLoad method. Edited by simplex
  • Like 1

Share this post


Link to post
Share on other sites
DeathDisciple    292

It took me quite some time to figure out why it was happening, and I have a feeling you'll be just as pissed as me (if not more; yeah, probably more). Look at prefabs/gravestone.lua. It handles the savedata of its mound. Now look at this line:

		data.mounddata = inst.mound:GetSaveRecord()
Notice anything off? It's simply ignoring the second return value of GetSaveRecord: the entity reference array. So you're losing the child references from the mound's spawner component. And even if that were not the case, gravestone initialises the mound within its OnLoad method, calling EntityScript.SetPersistData on it. As a side effect, the LoadPostPass method of the spawner component never runs, only the OnLoad method.

 

 

Thanks, I was staring at my code and mound code and did not figure I was looking in the wrong place all along. 

 

Ugh... what a bloody mess.

Share this post


Link to post
Share on other sites
DeathDisciple    292

.....Arh, so the less i quit and load, the less there will be skeleton...okay

 

Yeah, and it only happens with the gravestones and not the normal mounds... I think I'll just detach the mounds somehow, the hell are they set as child entity in the first place. Neither should the prefab code nor my mod code be so tightly coupled with save/load logic, it just screams compatibility problems in the future.

Share this post


Link to post
Share on other sites
simplex    2,609

Yeah, and it only happens with the gravestones and not the normal mounds... I think I'll just detach the mounds somehow, the hell are they set as child entity in the first place. Neither should the prefab code nor my mod code be so tightly coupled with save/load logic, it just screams compatibility problems in the future.

I think the reason why they made mounds be child entities of their graves is so that at worldgen, they only have to specify the spawn of gravestones, and the mounds that come with them appear automatically. But still, it would've been sufficient to save a reference to the spawned mound, instead of taking care of all its savedata...

You could either replace gravestones with bare mounds at worldgen or patch the gravestone saving (you shouldn't need to override it).

Share this post


Link to post
Share on other sites
orian34    534

I'm uploading a bug fix now.

btw, i does that every 3 mins when i play...i cannot pass one day...wonder what does that mean...Hope you will find it!

Edited by orian34

Share this post


Link to post
Share on other sites
kraken121    398

btw, i does that every 3 mins when i play...i cannot pass one day...wonder what does that mean...Hope you will find it!

i'm in the process of uploading the file for almost 30 minutes now, these forums are horrible when it comes to upload and download speeds...

Share this post


Link to post
Share on other sites
kraken121    398

btw, i does that every 3 mins when i play...i cannot pass one day...wonder what does that mean...Hope you will find it!

New update is up, have fun.

  • Like 1

Share this post


Link to post
Share on other sites
DeathDisciple    292

We need to split the 'official' releases and 'test' releases. It's still alpha so bugs are expected - not that it removes my responsibility for making critical ones like that. But we will have to take alpha flag off and put the thing on steam eventually - and for that the release process will need to be smoother.

 

Either way, thanks for sticking up with us.

  • Like 1

Share this post


Link to post
Share on other sites
Senteliks    30

Wait don't tell me that for such small issue like above which require small amount of time to fix .. ( i did it myself before i had seen there is going to be bug fix) you need to upload whole mod all over again and you can't just upload file that is causing problems ?

Edited by Senteliks

Share this post


Link to post
Share on other sites
simplex    2,609

Nope you can't upload just a patch, you can't even change a description without reuploading the whole mod

You're not forced to reupload a mod when updating the description. The upload form defaults to the old file, and deleting it and reuploading it is optional.

But the actual situation is not that much better. In the old forums, updating a description wouldn't make it a "new version" of the mod, unlike now. And the list of recent mods was sorted by latest upload date, instead of original upload date. The new forums are better for searching mods, but overall I think the old system was much better.

Share this post


Link to post
Share on other sites
orian34    534

We need to split the 'official' releases and 'test' releases. It's still alpha so bugs are expected - not that it removes my responsibility for making critical ones like that. But we will have to take alpha flag off and put the thing on steam eventually - and for that the release process will need to be smoother.

 

Either way, thanks for sticking up with us.

Hey! It's my part of the deal! You do awesome mod, i report bugs! That's the point of alpha!

  • Like 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now