[06:42:28.727 E] Global[scripts/go-home/global.lua] callTimer failed: Lua error: Object is either removed or already in the process of teleporting
[06:42:28.727 E] stack traceback:
[06:42:28.727 E] [C]: in function 'teleport'
[06:42:28.727 E] [string "scripts/go-home/global.lua"]:545: in function <[string "scripts/go-home/global.lua"]:542>
#Go Home!
1 messages Β· Page 2 of 1
Do you have a recent dev build? It works for me hmm
i have rc 3.0
Is this on a new or existing save game? I've tried to reproduce this and I just can't π€
@lyric shore it'd be really helpful if you could enable debug messages and show me the log when Fargoth does that
it'll give a readout of stage changes which may give me a clue.
New save games always
Is debug messages f10 or something else?
How do i enable it
ESC >> Options >> Scripts >> Go Home! >> Look for "enable debug messages"
they will show up in the F10 console
the lines will be prefixed with GoHome
Wow, how weird.
[09:12:25.692 I] L0x101f7c2[scripts/go-home/npc.lua]: [GoHome]: State change vodunius nuccius: go-to-door -> go-to-default
[09:12:25.964 I] Global[scripts/go-home/global.lua]: [GoHome]: Enabling local actor: vd_mudscale
[09:12:26.905 I] AiTravel: -20458.7, -78475.8, 0
[09:12:27.150 I] L0x101f7c3[scripts/go-home/npc.lua]: [GoHome]: State change eldafire: go-to-door -> go-to-default
[09:12:27.521 I] L0x104219b[scripts/go-home/npc.lua]: [GoHome]: State change teleri helvi: home -> go-to-default
[09:12:27.626 I] L0x101f7c0[scripts/go-home/npc.lua]: [GoHome]: State change erene llenim: home -> go-to-default
[09:12:27.993 E] Global[scripts/go-home/global.lua] callTimer failed: Lua error: Object is either removed or already in the process of teleporting
[09:12:27.993 E] stack traceback:
[09:12:27.993 E] [C]: in function 'teleport'
[09:12:27.993 E] [string "scripts/go-home/global.lua"]:545: in function <[string "scripts/go-home/global.lua"]:542>
[09:12:28.420 I] L0x101f7c4[scripts/go-home/npc.lua]: [GoHome]: State change fargoth: home -> go-to-default
[09:12:29.969 I] L0x101f7c2[scripts/go-home/npc.lua]: [GoHome]: State change vodunius nuccius: go-to-default -> default
[09:12:30.001 I] L0x104219b[scripts/go-home/npc.lua]: [GoHome]: State change teleri helvi: go-to-default -> default
[09:12:37.104 I] L0x101f7c0[scripts/go-home/npc.lua]: [GoHome]: State change erene llenim: go-to-default -> default
hope this is helpful
Might even be helpful to see your entire openmw.log tbh
thank you!
Np
#momw-general message
There's nobody on the docks in Old Ebonheart, which is, uh, problematic, I need them for a TR quest
Linked by @βsophie42069101 from #momw-general
Β·
Yes that should be fixed in the latest release
Hi johnny!
It seems that the lock door feature only work for english version of Morrowind. I understand now why nothing happens with me (french version).
If i want to adapt to french version, i only have to edit the corresponding global.lua, not player.lua; correct?
Hey! That's right. You could also make a small mod that uses the interface, similar to how FR is supported in Go Home.
I will add this in the next update for sure π«π·
hey, is there an eta for the update of this and the bound balance update? No rush I was just curious
Hey so I reinstalled Go Home with the 1.12 version, all seems to be working properly now. I thought I had the Dev version of 1.12 installed, but it is very possible that I screwed up and installed the wrong one somehow, sorry for the bother
Thanks for testing it out, I really appreciate the feedback!
payam I did not forget about you, I just got a bit busy. We'll get the issue you found sorted!
Tyty
you make excellent mods, so take all the time you need
I was just curious is all
Hopefully what's in your log will give me a clue, otherwise there's "very verbose" debug logging or I can add more debug logging anywhere as needed. We'll figure it out. 
Hi!
Can you confirm me that letters case doesn't matter? (for your string.match cells test)
Hey, for cell names case does appear to matter (I tried seyda neen versus Seyda Neen and the former did not work)
Ok. So, from a perf point of view, is it better that:
1st possibility:
You stay with case sensitive and i edit things like that:
return string.match(destCellName, "cabane d")
or string.match(destCellName, "Cabane d")
or string.match(destCellName, "maison d")
or string.match(destCellName, "Maison d")
or string.match(destCellName, "ferme d")
or string.match(destCellName, "Ferme d")```
[...]
2nd possibility:
You change to case insensitive and i edit things like that:
```lua
return string.match(destCellName, "cabane d")
or string.match(destCellName, "maison d")
or string.match(destCellName, "ferme d")```
[...]
For this it's probably better to change it to case-insensitive tbh
downcase everything before we do the string.match() calls
Ok, i have made a global.lua for french version:
It seems to work.
I added a "namedCellWhitelistFR" to commonData.lua (the same list found in rules-fr.lua); by the way, i see i made case error for rules-fr.lua; the correct case are "Dagon Fel", "Hla Oad", "Maar Gan", "Molag Mar", "Tel Branora", "Tel Vos", i hope there is no other, but you should process cell names with "case insensitive". Do we have to include "Bal Isra" ? If yes, the name is the same in french.
In global.lua i added some ":lower()" (lowercase function) to some name variables when it's useful for french adaptation.
It seems you exclude Vivec cells; what is the reason?
Do you have enough informations to make an optionnal french version?
Some correction suggestions for the english version:
- tradehouse are lockable: why? They should be open at night like inns, no? (they are inns in fact)
- ": Bookseller" should be "Bookseller" because there is "Mournhold, Bookseller"
- ": Trader" should be "Trader" because there is "Mournhold, Trader" for example
- ": Pawnbroker" should be "Pawnbroker" because there is "Mournhold, Pawnbroker" for example
- ": Alchemist" should be " Alchemist" because there is "Balmora, Nalcarya of White Haven: Fine Alchemist"
- ": Mage" affect "Sadrith Mora, Wolverine Hall: Mage's Guild", so this last should be blacklisted
- There is no " Smith"; it should be there, no?
Thank you for your work!
by the way, i see i made case error for rules-fr.lua; the correct case are "Dagon Fel", "Hla Oad", "Maar Gan", "Molag Mar", "Tel Branora", "Tel Vos", i hope there is no other, but you should process cell names with "case insensitive".
Yeah I plan to go through and correct that so it's all case-insensitive.
It seems you exclude Vivec cells; what is the reason?
I don't know tbh π
For whatever reason I thought doors should not lock there when I wrote the mod but on a second thought: yeah they should! I'll update that.
Do you have enough informations to make an optionnal french version?
Yes, I believe I do. π
Some correction suggestions for the english version:
Thanks as well for these! Good callouts. I'll include those changes in the next update.
Yeah I plan to go through and correct that so it's all case-insensitive.
A simple trick would be to write the cell names lists in lowcase (and so, to make the if tests in lowcase).
For whatever reason I thought doors should not lock there
We can imagine Vivec as the always-open city. Β£;^)
If you allow Vivec, you have to consider other specific cases:
- "Vivec, Telvanni Enchanter"
- "Vivec, Telvanni Apothecary"
- "Vivec, Telvanni Mage"
If you allow Vivec, you have to consider other specific cases
And also "Vivec, Hlaalu General Goods".
Thanks for all the feedback lelimule!!
Hey, did you manage to figure out why my npcs are teleporting when leaving their houses
Sorry, I haven't had time to check your log. I'm hoping to make time over the weekend! I still can't reproduce it, though. :/
Hey @lyric shore I took a look at your log (thanks again for providing that) and nothing really stands out. As a next step would you mind enabling the "Enable very verbose debug messages in the log" option? Then make the issue happen again and share your resulting openmw.log. If that doesn't give more details I'll add some special logging and we can go from there.
Will do shortly
No rush, and thanks a bunch!
heres the log
Thanks! I'll take a look at that in the next day or so and see what I find. Much appreciated.
Hey Johnny, have you ever noticed this before when Go Home kicks and the NPCs go to their house.
04.871 W] Worldspace: "sys::default"; tile position: -19, -72; agent bounds: AgentBounds {CollisionShapeType::Aabb, {29.28, 28.48, 66.5}}; delaunayHull: Removing dangling face 52 [18,13,-1].
[00:01:06.341 W] Worldspace: "sys::default"; tile position: -19, -72; agent bounds: AgentBounds {CollisionShapeType::Aabb, {29.28, 28.48, 66.5}}; delaunayHull: Removing dangling face 50 [18,13,-1].
[00:01:06.341 W] Worldspace: "sys::default"; tile position: -19, -72; agent bounds: AgentBounds {CollisionShapeType::Aabb, {29.28, 28.48, 66.5}}; delaunayHull: Removing dangling face 52 [18,13,-1].
[00:01:06.945 W] Worldspace: "sys::default"; tile position: -19, -79; agent bounds: AgentBounds {CollisionShapeType::Aabb, {29.28, 28.48, 66.5}}; delaunayHull: Removing dangling face 24 [15,10,-1].
Happens sometimes in Seyda
Thank you my friend
Yeah I have actually, but I don't think it's related to Go Home (it'll happen without the mod installed). It does only seem to happen at night.
Ahh okay that's good to know, I think it's something related to the navmesh or something
I just wanted to make sure my friend
Thank you as always
Yeah no problem!
If I had to make a wild guess: maybe it's related to some torch mesh or something that's only used during night hours. Very wild guess π
Haha thats a possibility
One interesting data point is that it doesn't happen with Expanded Vanilla, only Total Overhaul (presumably also Graphics Overhaul)
I wonder what it is, ive been trying to find it haha. I saw it happens sometimes in anvil
Hows it looking so far
Thanks for checking in, I'm gonna take a look at your extra verbose log tomorrow payam
Yep it will be
Thx
I think I may have installed incorrectly as whilst doors are locking at night, the argonian and nord lady arenβt going indoors in Balmora either during rain or night.
Is there a particular log I can check to help troubleshoot?
Hey thanks for letting me know about that! Can you please run this on them and let me know what gets printed in the F10 log?
Sure thing, Iβll do it once Iβm at my desk tonight
Depending on the setup they could have a script attached that isn't recognized (making the mod ignore them)
Hey just wanted to follow up about this - no rush ofc π
Also @lyric shore my apologies about the delay. I hope to make time to dig into this soon.
Not had a chance to playtest yet, but it's on my todo list π
Cool cool, sounds good!
All good bro, take your time
How well does this work with mods? Like Project Cyrodiil for example
It's designed to work with mods! I've added support for several, including Project Cyrodiil.
If you happen to find a mod that requires support, definitely let me know! In most cases explicit support only needs to be added to specially handle certain NPCs at certain times e.g., if some NPC shouldn't be going home during a particular quest (think Fargoth's stump).
Hey @terse vortex I looked at your code and I think you could automatically detect most cases of stuck NPCs, by using nearby.findPath before trying to use the Travel AI package. findPath returns nil if there is no way to reach a given position.
Hey thanks for that! I'll give it a try
This seems like a good final sanity check before deciding if an NPC can actually go home. If I can't find the path, they can't reach the door and should simply be disabled.
I'm curious to see the result for NPCs that are behind a merchant stand (like what's somewhat common in TR).
There's no issues with turning this mod on and off in saves because it's lua right?
No, but before you do so be sure to turn on the Factory Reset feature in the script settings - that will revert all changes the mod has made to NPCs. Then it's totally safe to disable/remove.
Factory Reset also stops the mod from doing its thing until you turn the setting back off.
that should work. Navigation path only fails with crowds, because it ignores actors and think there is still a way
Something like that:
local status, path = nearby.findPath(
actor.position,
object.position,
{ agentBounds = types.Actor.getPathfindingAgentBounds(actor) })
return status == nearby.FIND_PATH_STATUS.Success
I think GoHome is one of my favorite OpenMW lua mods
Me too
Hey, thanks! β€οΈ
Hey kildozery - just wanted to follow up real quick about this since I had some time to look at the code and check for potential issues. It is actually normal for some NPCs to not get disabled; by default there is:
- A random chance an NPC might not be disabled (stay out all night!)
- A random delay before NPCs that have homes to go there
These two are both on by default but can be disabled (and the delay for the latter is configurable). I think you saw the above happening, but if/when you get a chance to try again can you please enable debug logging via:
ESC >> Options >> Scripts >> Go Home! >> Enable debug messages in the log
When this is on and there's a delay or an NPC won't be disabled, it prints a message in the F10 log (and openmw.log).
I also got to test this out a bit and it works really well. I won't be using it in the next update but I will almost certainly do so in a future update π
Awesome, thanks! Iβll do my best to test this weekend. Been really busy ironically since immediately after posting that question π
Cool no worries π
When you first enter a named cell with debug logging on it tells you how it handles each NPC and why. In the image below this one I can see several GV NPCs being ignored (probably Repopulated Morrowind?)
The mod deliberately ignores NPCs from mods like F&F and Repopulated Morrowind (NPCs with scripts on them are ignored unless their script is explicitly whitelisted)
Ah, that makes sense why there's so many additional NPCs not homing of course
I've been wandering Sadrith Mora but I'm not sure of a vanilla NPC that I can test with. As there's plenty of modded merchants, GV's added NPCs, and DetailDevil's added NPCs around at midnight.
Quite a few NPCs in Sadrith Mora should be affected, but IIRC there's a larger chance that merchants will stay out
DD's musician that plays the lyre(?) seems to be in bed though - could have sworn he normally plays through the night
All of DD's NPCs should be ignored tbh
I guess my "issue" is all on my end since I run such a heavily modded install π
My rationale for ignoring RM/F&F NPCs is: those respective mods have their own handling/disabling/etc and I don't wanna double up on them π
I'll go coc to Ebonheart and walk around the docks to see if there's fewer people
As for DD NPCs; that was mostly being safe about not messing with their quests. But in theory explicit quest support can be added.
I can't tell as there's heaps of NPCs still lol
The F10 log should mention which NPCs it's going to affect
Yeah so when I go to Ebonheart with just vanilla content I see this:
[18:00:11.006 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): olfin gro-logrob
[18:00:11.006 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): fainertil
[18:00:11.007 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): ian
[18:00:11.007 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): gaeldol
[18:00:11.007 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): pilus amatius
[18:00:11.007 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): maline masolaude
[18:00:11.007 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): vilamon
[18:00:11.007 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): apelles matius
[18:00:11.008 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor has no door (1): alvela saram
There's no NPCs that "go home" but several that should get disabled. Lemme load it up with BCOM too
But yea you should see output like that specifically, or like this if an NPC is ignored:
[18:00:10.743 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via service check: blatta hateria
[18:00:10.743 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via service check: nevosi hlan
[18:00:10.743 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via pattern match blacklist: imperial guard_ebonhear
[18:00:10.743 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor "tr_m0_domiah" MWScript denied: t_scnpc_mw_map0
[18:00:10.743 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via service check: pc_m0_tituscorilex
[18:00:10.759 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via pattern match blacklist: imperial templar_ebon
[18:00:10.759 I] Global[scripts/go-home/global.lua]: [GoHome]: Processing quest data for: apelles matius
[18:00:10.768 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via service check: talsi uvayn
[18:00:10.768 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via pattern match blacklist: ordinator_high fane
[18:00:10.783 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via pattern match blacklist: ordinator wander
NPCs can be ignored for a lot of reasons, your images above show many of them:
- Named cell not whitelisted
- recordId deliberately ignored (guards, ordinators, dreamers, etc)
- Modded NPCs such as GVs
Nothing in your images looks out of the ordinary so far π
Maybe I should reach out to GV about making a Go Home-compatible RM π€
With BCOM, in Ebonheart there should be 2 NPCs that go home and 7 or so NPCs that are to be disabled at night.
Here's me in Balmora. So Actor Denied via named cell whitelist means the actor has been disabled?
I was thinking it meant gohome was being denied from working!
This would be awesome I must admit
Oh wait never mind he's still here lol
Yea that means the particular actor is being ignored
When an actor gets disabled it'll say something like "LOS disable for: ..."
Canβt see any of those on my log. Would enabling verbose logging help troubleshoot? π
What problem are we trying to solve here? π Are you looking to see if an NPC is being affected?
That none of the NPCs are being disabled, but maybe I just canβt read logs π
Iβve had to jump off my computer for now - but Iβm pretty sure that screenshot was the extent of the gohome element of the log from cocβing to Balmora at 2am
I would do this with any NPC you're curious about:
https://modding-openmw.gitlab.io/go-home/#use-the-lua-console-to-check-an-npc-in-game
It will print out the mod's internal data for that NPC including "are they handled" what is their state"
Nice, Iβll do that just as soon as I can get back to my desk.
Sweet, thanks for trying the mod! π
Hey I'm glad you noticed my work and enjoy it! β€οΈ
Okay so this mod doesn't affect the Orc in Balmora then it appears
Nord lady and Argonian in Balmora also unmanaged
So for me
The orc does get disabled
But Llandras Belaal, and Avus llando (from CRF) the sleepers, still wanders around, not sure if intentional.
I guess it makes sense because they're sleepers hmm
But the orc fella, the Nord, and argonian disappear as intended
Damn, wonder what I've done wrong!
Hmm not sure, my omw is from a couple of days ago though
I'm using RC3 I think
he goes inside at night. Veradul and the neighbours go to bed at different times and never see each other
Thanks for that feedback! None of those NPCs are supposed to be "unmanaged" π
You might be able to get more info as to why that happened if you look at the log the first time you load Balmora; it will say "NPC blacklisted ....." with a reason why.
Are you using any Balmora mods, or is this vanilla?
Just BCOM as far as I know. Other than quest mods that might touch the cells
Thanks. I built the mod with BCOM in mind so it isn't that. What will be most revealing is the initial load like I mentioned above.
This is interesting, I tried to replicate but I can't. The only people who didn't get disabled were the sleepers in Balmora
Which, that also is changed in the dev build 
In the dev build, now everyone in Balmora should go home.
||sleepers won't get disabled once you start the related quest though||
Oh awesome, that's for the next release correct?
Yep! I want to look into payam's issue some more before I release the next version but otherwise I think there's nothing else I want to do or add.
I think aside from some under the hood code tweaks the only changes I'll make going forward (for the time being) are to add support for unsupported NPCs e.g., the next update will include support for more NPCs that are scripted and affected by quests.
For example the next update will add full support for Aeta Wave Breaker who was previously totally ignored/unmanaged
Iβll try a new game and share the log tonight
Cool thanks so much killdozery! Also, if you don't want to start a new game you should be able to:
- Enter the mage's guild
- Turn on Factory reset
- Turn it back off
- Go outside
- See the log entry that I need to see
Ah Iβll try that first then π
I look forward to it, thank you my friend
Resetting
Nothing Go Home loading oddly enough
Will try new game
How odd... The script is enabled as far as I can tell.
Thank you!! What I'm looking for is something like this:
[17:39:53.553 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via pattern match blacklist: hlaalu guard_outside
[17:39:53.575 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via service check: selvil sareloth
[17:39:53.579 I] Global[scripts/go-home/global.lua]: [GoHome]: Actor denied via pattern match blacklist: dreamer_talker01
Where you'd see something like Actor denied via <reason here>: heddvild
Please make sure you only have these plugins enabled:
content=go-home.omwaddon
content=go-home.omwscripts
content=go-home-locking-doors.omwscripts
The -fr plugins are for the French language version of Morrowind, and I don't know what .omwscripts.esp is from π
(I assume MO2 shenanigans).
Hey payam sorry about the delay on this and thank you once again for the log. Nothing looks out of the ordinary here so I'm going to make a special build with extra logging, please LMK when you're in the mood to try it!
Also bumping this, it will be in the next update 
Hey Johnny, I noticed this error with Eldafire today in Seyda Neen. Global[scripts/go-home/global.lua] callTimer failed: Lua error: Object is either removed or already in the process of teleporting
[08:43:57.997 E] stack traceback:
[08:43:57.997 E] [C]: in function 'teleport'
[08:43:57.997 E] [string "scripts/go-home/global.lua"]:545: in function <[string "scripts/go-home/global.lua"]:542>
[08:43:58.490 E] Global[scripts/go-home/global.lua] callTimer failed: Lua error: Object is either removed or already in the process of teleporting
[08:43:58.490 E] stack traceback:
[08:43:58.490 E] [C]: in function 'teleport'
[08:43:58.490 E] [string "scripts/go-home/global.lua"]:545: in function <[string "scripts/go-home/global.lua"]:542>
I'm not sure if it's helpful but it was a test save. Thank you my friend
I also got this error with the latest update to pause control, sorry I didn't see a discussion for it.
08:52:40.452 E] Can't start L@0x1[scripts/pause-control/player.lua]; Lua error: [string "scripts/pause-control/player.lua"]:118: invalid option '%]' to 'format'
Maybe it's because it was updated midsave etc and needs a new game
Thank you as always brother
Iβll hopefully pick this up again later in the week. Will be taking a brief break away from my desk after modjam π
Hey thanks, this would be the thing payam saw π€
Would you mind recreating that with a special build that has extra logging?
Thanks as well for this π
No problem I'm glad I could help. Let me know if I can do anything else to help my friend
Can you please try this build and let me know if it still happens?
I've made a couple tweaks to the code that teleports to hopefully stop that
Thank you, I'll get right to it
Much appreciated!!
This was a simple typo in my code π
I'll publish a new release tonight. Thanks for noticing it!
Thank you, I love it. Very underated even if you don't use VoV
Yeah I personally can't play with pause anymore π
I can confirm that this fixed the issue. I didn't receive any errors. Eldafire behaved as normally. I tested with a test save and a new game. Worked beautifully.
Nice, thanks so much for trying it cc @lyric shore I think we got it π
I'll be doing an update for Pause Control and Go Home! later today.
Thank you very much
Hopefully payam can confirm that it's resolved, this one sure did vex me ngl π
The issue happens (best as I can tell) because the go inside/come outside code is done in a callback and multiple callbacks could have been issued - the error/weird behavior happens when the first callback happens but subsequent ones continue to be processed (only one ever needs to run)
Gotta love async code issues 
That makes sense, I only caught the issue when she was leaving her house, I saw her kinda jump and teleport
I never was able to see it happen for whatever reason, which is why it was painful to see where it broke.
I'm not entirely sure what changed on my end other than omw build. Although, maybe I paid too much attention to Fargoth and the Orc guy in Balmora lol
Yeah same π
Oh hey, i didnt get your last msges thats my bad
Kinda swapped from openmw to mwse thats why i havent been looking at this discord
But ill be able to take a look later today
No worries, take your time π
I reinstalled using this build at the same time as deleting the MO2 ".esp" plugins from the install location, and... It works!!
Finally lol
Must have been the MO2 jiggery pokery all along
It's awesome having NPCs disappear at night. It would be awesome - not sure how possible - if GV's repopulated MW and Sloads and Slavers were supported too! π
I'm glad it's working for you!
What's interesting about GV's is he does have nighttime NPCs, who fish or get drunk outside of a club, etc lol
Should Anvil NPCs be going home too?
Awesome thanks so much for working through that with me! For the next update I'm going to add a message box that tells the user if/when they've got the wrong combo of plugins enabled. Hopefully that can help.
There's no NPCs in Anvil that have proper homes but they should indeed be disabled at night time. Also, thanks for the comment above about Sloads and Slavers -- that mod is deliberately blacklisted but maybe it makes sense to try and support it, I will for sure revisit the idea before the next update! π
Hmm they didnβt seem to be disabling π€. Iβll check the log and all that later on tonight. And compare it with Balmora. I like how the bcom merchants also disable. - and with a chance that some donβt.
And thanks so much for being patient and supporting!
No probs! And yeah I figured it's conceivable that a merchant may stay up all night sometimes (but ofc not always)
Definitely lmk about Anvil when you can too π
Just checked Anvil and I see 32 NPCs that should be getting handled
Looks like Anvil is working too π
Nice! 
I'll add lelimule's FR language support stuff and do a release tonight (most likely)
Taking another look at Sload and Slavers... the sload are creatures and not NPCs! Which makes sense but that will take some re-engineering of how the mod handles actors.
I'm going to leave that for the next update
Go Home! version 1.13 has been released!
- A message box is now presented if there's an installation error detected
- Fixed a problem that in some cases caused NPCs to go indoors or come outside when they were already doing so
- Added support for more NPCs that were previously ignored
- Changed handling for the "Sleepers Awake" quest so that affected NPCs can be managed before the quest starts
- [Locking Doors] Tradehouses are no longer locked at night
- [Locking Doors] Added support for the French version of Morrowind (thanks lelimule!)
Makes sense! To be fair it wasnβt even a sload I notice it was two slavers I assume π
Hi johnny!
A few questions:
-
You put "Sadrith Mora, Wolverine Hall: Mage's Guild" in registerDestCellBlacklist ? In previous version it was "Seyda Neen, Arrille's Tradehouse". Is it ok?
-
In rules-fr.lua, you didn't correct the cell case errors. Is it ok?
-
In "locking-doors" global.lua you call commonData.namedCellWhitelistFR, but there isn't namedCellWhitelistFR in commonData.lua. Wouldn't it be better to call the white list in rules-fr.lua?
-
You keep Vivec cells as excluded cells; is it intentional?
You put "Sadrith Mora, Wolverine Hall: Mage's Guild" in registerDestCellBlacklist ? In previous version it was "Seyda Neen, Arrille's Tradehouse". Is it ok?
Yes this is intentional; "Tradehouse" is implicitly ignored due to a change you suggested π
In rules-fr.lua, you didn't correct the cell case errors. Is it ok?
Yes, the code that uses those rules now lowercases input strings so the source case matters not.
In "locking-doors" global.lua you call commonData.namedCellWhitelistFR, but there isn't namedCellWhitelistFR in commonData.lua. Wouldn't it be better to call the white list in rules-fr.lua?
That seems to be an error! I admittedly didn't test with the actual FR version of Morrowind π
You keep Vivec cells as excluded cells; is it intentional?
Yes, but I'm open to a discussion about that! π
Ok johnny, thanks.
Exact. I forgot about the tradehouses exclusion.
But i confirm that the "fr white list call" (in "locking-doors" global.lua) calls nothing.
For Vivec, i think it makes more sense to include it. But it's as you want; i made the modification for myself.
Another thing:
Now that you introduced the go-home.omwscripts/go-home-fr.omwscripts "not together" test, it seems that you forget to add:
GLOBAL: scripts/go-home/global.lua
NPC: scripts/go-home/npc.lua
PLAYER: scripts/go-home/player.lua```
in go-home-fr.omwscripts
And i think you must change, in "locking-doors" global.lua,
```lua
local useFrench = core.contentFiles.has("go-home-locking-doors-fr.omwscripts")```
by
```lua
local useFrench = core.contentFiles.has("go-home-fr.omwscripts")```
I think you see the problems... Β£:^)
Thanks so much for helping with this and sorry for botching the FR support π
I've actually downloaded and will install the FR version and properly test it.
Thanks for this fantastic mod
One question though
Is it intentional that fargoth never goes to his houseπ ?
Nope, he should be supported
He's going home in the video I made for the mod π
There's two things you can do to see how the mod affects any given NPC, they are both described here:
https://modding-openmw.gitlab.io/go-home/#see-how-this-mod-affects-an-npc
The first one would require you to do a Factory Reset to re-trigger the mod processing Fargoth
But if you could do either of those things (or both) and share what info they give I would appreciate that!
I think fargoth could be recruited as a follower through Friends and Frens mod, could this be why he is staying outside? I'll check how he is affected tomorrow if you don't mind
Ohhhh that's probably it! Go Home! ignores NPCs with scripts on them unless the script is explicitly allowed
Maybe that mod adds some script I've not allowed in the code.
This info would be given by either of the steps at the link above, but it seems likely
Thanks again for the help with this! the latest mod dev build should be fixed and working with the FR version of Morrowind (Go Home! and Locking Doors). If you have a moment and feel like trying it and providing feedback I would really appreciate it, my local tests were successful.
I will watch that... Β£:^)
Ok, i did a rapid test: it seems to work. Good job.
Thanks for trying it! I'll probably do a release soon in that case.
As for Vivec: I decided to affect the residences there (only found in two cantons in vanilla and BCOM) in both EN and FR
Yes i saw that in the code. Smart idea!
I don't understand how you do to call the "locking-doors rules-fr" to generate white & black cells list. But it works, so... Β£:^)
Both of the rules-fr files use interface functions to extend the builtin rules and enable extra support.
For example RegisterDestCellBlacklist is set at the bottom of scripts/go-home-locking-doors/global.lua which makes it accessible to outside mods.
I understand better. I trust you... Β£:^)
(By the way, you can remove Arrile inn blacklisting from the french version (inns are already excluded from "lockableHome"), so the only useful blacklist line is Caius home (for the french version))
For some reason npcs disable normally every night, but they don't respawn in the morning, Every time I need to factory reset the mod in order for them to reappear
I'm an absolute idiot
I set the minimum distance to 8000
Everything works fine now
Oh, yeah there's probably no reason to ever change that π
I should probably get rid of the option since it's more or less a footgun
These threads need to have an option to go to top to actually get the mod link π
oh one appeared!
I've installed this for the first time and it say a factory reset is required? I'm on an existing save.
Do I just press this in "Go Home!" and in "Go Home! Locking Doors" ?
You should only get prompted to factory reset if you ran the mod before
There's specific messages for Go Home! and Locking Doors
If you actually didn't run the mod before and it is your first time then you can disregard that and I'll look into why it happened.
Do you recall which message you got? Go Home, or Locking Doors?
That's weird it's my first time ever using it and it prompted me
I can't really remember now sorry
I think it just said going home?
Thanks, I'll look into it!
I did reproduce this, thanks for letting me know about it!
It only happens when the mod has never been loaded before (because it's looking at some settings values that aren't set in the save file per se)
Alright that will be fixed in the next update, thanks for finding that!
No problem I'm good at breaking stuff
It's an under-appreciated skill! π
It would be cool if maybe the shop owner wasn't inside their shop if you break in at night
so you can steal stuff
I have plans to make indoor NPCs come out/go home - that could definitely include some handling for shop owners
Yeah I wasn't expecting the apothecary owner to just be stood at his counter after I broke in π was hoping to steal some health potions
Is there meant to be a random chance shopkeepers stay closed all day? They just decide to have a day off? Can't see that in the locking configuration menu
it happened for me with this shop in Anvil I had to wait outside a couple of days for him to open
This is after I've ||freed him from the prison so the shop is open||
I'm usng my unfinished lock bashing mod so I ran straight at the door and attempted to ram it open when activated it not realising it was locked then guards stopped me and confiscated my stolen pearls I was wanting to sell 
Yes, although it's a very small chance for shop keepers so it looks like you got lucky 
he was closed 2 days in a row
lazy maormer
no wonder he was in prison
Send that malingerer back where he came from!
That seems really lucky tbh! If you're up for it, go ahead and enable debug messages in the mod options. That will print some info about each door lock/unlock decision the mod makes and you'll likely see that door being affected.
Go Home! version 1.14 is released!
- [Go Home!] Lowered the maximum possible value for "Minimum disable/enable distance"
- [Go Home!] Fixed a bug that caused a "Factory Reset Required" message to display when loading the mod for the first time (and on an existing save)
- [Locking Doors] Added missing mod metadata TOML file
- [Locking Doors] Now supports locking some doors in Vivec
- [Go Home! and Locking Doors] Fixed support for the French version of Morrowind (thanks lelimule!)
- [Go Home! and Locking Doors] Updated support for Cutting Room Floor's
Cutting Room Floor - Ald Redaynia.espplugin
Thank you for the update, my friend
is there anything done by this mod that's only possible in openmw lua and not with MWSE? such as specific functions the vanilla game and MGE XE can't support
it's easily the definitive lua scheduling mod out there, and there aren't any others for mge xe that actually work
I've never written any MWSE-Lua and have only looked at very simple mods in order to implement OpenMW-Lua equivalents (like the mage robe and lightning rod replacers) so I'm far from an authority on it but: I don't think so tbh! I would expect it to be fully doable.
I'm aware of a similar mod done with MWSE but I've been told it's not that stable.
Last I checked there didn't seem to be much AI support but looking now what this mod does seems to be there.
Thanks for the kind words, I'm glad you like it!
I have a lot of plans for improving and extending what the mod will do (as the Lua API improves)
There's a rough list at the bottom of the README
if I ever have the time (and manage to actually learn lua for real) I'll see if I can recreate it for us vanillawind users.
a lot of the code is simpler than I expected, but it uses some openmw excusive functions/methods (mostly for AI) that i'll need to find the mwse equivalents for
how does your mod handle NPCs traveling between different exterior cells to get to their homes, though?
because in vanilla, it's super difficult to do that (even with lua) and idk if your mod make use of it being easier on openmw
I'm just using AiTravel to send an NPC to their door. Generally speaking, no NPCs that actually have homes are that far away from them (though some may cross a cell boundary to get there)
One thing I'm not certain of is the pathgrid capabilities of MWSE. The OpenMW API for that is super powerful and easy to use.
I'd say the farthest I saw an NPC travel to get home was in Sadrith Mora with BCOM
that reminds me: what's the deal with Vori in this? She spends all her time in Sadrith Mora, while her house in all the way in Balmora
does she get teleported all the way back to her bedroom everytime, or does she stay somewhere else or just get disabled?
Enabled the debug logging, but no log spam in lua window. How could I debug this issue?
OK, enabled very verbose mode. What do messages like this mean?
GoHome VeryVerbose : Retrying enable for ID 0xa009ca8
OK, I may have found the culprit. The suspect is "RUN!".
Could it be, that FOV manipulation breaks Go Home?
Very doubtful. What's your issue, exactly?
She's simply disabled; the mod only looks in the active grid for a potential home for an NPC.
I'll add this seems very wrong. Are you using the latest version of the mod? I'm regularly using (non-very verbose) debug logging myself.
This code is hit when the mod wants to re-enable an NPC but can't because the player is facing them.
The issue is the mod is not re-enabling NPCs no matter where I go and no matter where I'm facing. Whole Firewatch was deserted. I'll try and install 1.14 tho.
Thanks for letting me know -- please try the latest version and let me know if it persists!
The latest master branch?
The latest release from here (version 1.14)
Thanks for the information. Already updated, gonna try it.
Ald-ruhn great hall is locked in the middle of the day. Most of the other shops are still locked. It's noon.
I waited an hour with the wait feature, still locked.
I waiting by standing around for 10 minutes until an ingame hour ticked by, still locked.
I went into an interior cell and waited for an hour, still locked.
I downloaded Vanilla Expanded dev version on march 8th, and haven't changed any settings or downloaded any additional mods.
I've run into this issue at old ebonheart as well, tested the same way to the same results
I just disabled GO HOME! and it's lock variant script with the ingame script modifier. And a bunch of merchant NPCs that were missing showed up in their outdoor stalls. Something was definitely wrong.
Npcs wont materialize in thin air you have to look away for them to come back. I assume its that way with doors possibly.
I havent noticed this when I tested it just now that there was some lingering problem.
If you don't mind, can you please enable debug messages via ESC >> Options >> Scripts >> Go Home! Locking Doors and let me know if there's any relevant information or errors in the F10 log? Thanks!
This is the only errors in the log. IDK if it's relevant.
I'm running with debug log for both GO HOME! mods, and I'm looking through the f10 log and I don't see a single thing activating from that mod.
I'm waiting with the wait function, I'm changing cells, I'm standing around and waiting by the doors.
Thanks so much for the feedback. That error does look to be unrelated. I'll do a bit of play testing on my end to see if I can reproduce what you're seeing, sorry about the trouble!
For me it feels like shops are open in the middle of the night way too often in Project Cyrodiil? In Brina Cross it's 3am and first two shops I find are both open. I have to enable the debug messages to see if it's a bug?
It might be that my random chance bonus for shops is just too low. Debug logs will tell you info about what gets locked but I think info about the chance % may be lacking. I will probably bump that in the next update.
Also: I think I'm going to prevent the Ald Skar door from being locked in the next update. Curious to hear folks' input about that but as more people mention it I'm questioning that it should be locked.
well isn't there an inn inside there? So you'd expect the door to be unlocked I guess
Yep indeed, that's something I didn't really consider while developing the mod π
Hey @obsidian barn btw can you please double check which version of the mod you have? It's in the expanded-vanilla/Gameplay/GoHome/go-home-locking-doors-metadata.toml file. Thanks!
Same for @indigo jay (and again, no rush!) except the file you want is total-overhaul/Gameplay/GoHome/go-home-metadata.toml.
version = "1.14"
Thanks!
Hey, back home so let me give you as much detail as I can. Installed 7.0.0 via your automated installer, installed flawlessly.
Open MW Version 49_RC5 - Revision 5b788baa35
Go-Home version (from go-home-metadata.toml) - 1.14
Before starting character, made the following changes:
Did the following items from the 7.10 beta changes:
Added https://beta.modding-openmw.com/mods/gonzos-font-palette/
Added https://beta.modding-openmw.com/mods/interface-reimagined-for-openmw/
Removed https://beta.modding-openmw.com/mods/monochrome-user-interface/ (removed data= line from openmw.cfg)
Added my own simple mod for more carry weight (I am a packrat) - Changes fEncumbranceStrMult. This is the only change and this mod loads last, if I can attach here, will do so (making sure I didn't do something stupid)
New character -> all NPCs out as normal after leaving the Census office. Gathered quests, wandered around, nearly all in the starting cell, probably ventured 1 west too. After collecting enough money and some items for initial quests, returned to Seyda Neen and couldn't find Vodunius Nuccius, Eldafire, or Erene Llenim. Have waited during daytime for multiple in-game days making sure plenty were it was not raining, not dust storms, etc. Broke into their houses and that is where all 3 are at at all times. Set Go Home! debug logging and verbose logging to true - will attach them if I can, but no errors and only warnings are around aminations.
Modding-OpenMW.com
A full color palette for Morrowind. Vanilla-like, but tweaked for readability. Use with your favorite UI mods!
Modding-OpenMW.com
Re-imagination of the dialogue interface, with an huge inspiration from Skyrim and ESO and the decluttering of the user interface, removing necessary interface noise, like double borders, unecessary line breaks and so on.
If the save is useful to you, can upload that as well
Should also mention, have tried moving at least 3 cells away and came back to see if it was something persistent in that cell
Thank you! The logs are really helpful, I can see that the NPC updater code is being repeatedly restarted. Did you happen to change any settings for the mod (aside from enabling very verbose messages)?
Can you also enable plain debug messages (labeled Enable debug messages in the log in the settings)? Those might give additional useful clues.
sure thing, both "enable debug messages in the log" and "Enable very verbose debug messages in the log" are set to "true" on Go Home!. I did not change any settings, however, priort to that save I recall that I did try the "reset settings" option for Go Home! in its settings
Thanks for the feedback! I'll take a look at the mod internals to try and track down what's going on.
Thank you!
Alright, I think I found the issue - thanks for your report @indigo jay ! Would you be willing to try a dev build of the mod and let me know if I've fixed the problem for you?
@obsidian barn looking into your issue (thanks as well for your report), I see that the mod actually doesn't seem to react to resting/waiting like you'd expect. That's definitely something I'll change for the next update.
But in your log I would expect to see stuff like this:
[17:57:49.731 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: day-night change detected; currently: day
[17:57:49.812 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Unlocked door: ex_redoran_hut_01_a (Ald-ruhn, Gildan's House)
[17:57:49.812 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Unlocked door: ex_redoran_hut_01_a (Ald-ruhn, Daynes Redothril: Pawnbroker)
[17:57:49.812 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Unlocked door: ex_redoran_hut_01_a (Ald-ruhn, Tiras Sadus: General Merchandise)
[17:57:49.812 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Unlocked door: ex_redoran_hut_01_a (Ald-ruhn, Bevene Releth: Clothier)
[17:57:49.813 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Unlocked door: ex_redoran_hut_01_a (Ald-ruhn, Ilmiril's House)
[17:57:49.813 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Unlocked door: ex_redoran_hut_01_a (Ald-ruhn, Codus Callonus: Bookseller)
and:
[17:59:01.612 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: day-night change detected; currently: night
[17:59:01.744 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Not locking door: ex_redoran_hut_01_a (Ald-ruhn, Ienas Sarandas's House)
[17:59:01.744 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Locked door: ex_redoran_hut_01_a (Ald-ruhn, Daynes Redothril: Pawnbroker)
[17:59:01.744 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Door already locked: ex_redoran_hut_01_a (Ald-ruhn, Dandera Selaro: Smith)
[17:59:01.776 I] Global[scripts/go-home-locking-doors/global.lua]: [GoHomeLockingDoors]: Locked door: ex_redoran_hut_01_a (Ald-ruhn, Ilmiril's House)
Just to confirm, you've got nothing like that? The mod checks for a day-night change every second so I would expect the change to be registered and entries like the above logged.
Nothing like that is showing up for me
Can you please share your openmw.log with me? It's enough to launch the game, walk around for a few seconds, then quit.
Where would I find the openmw.log file?
Documents/My Games/OpenMW/openmw.log
1 sec
Much appreciated
wel that's..... not right. That includes logs from the previous boot where I disabled Go Home. Let me try again
Send my way and I will try and verify over the weekend
Cool thank you and can you also please double check that this setting is turned on?
Awesome thanks! Please click the Dev Build link at the top of this page to get that build:
https://modding-openmw.gitlab.io/go-home/
Thank you!
And while you're getting a new log: it'd actually be cool to see what happens in the log when you wait until a day-night change, then give it a second or two for the mod to register that.
I see that the mod actually doesn't seem to react to resting/waiting like you'd expect. That's definitely something I'll change for the next update.
At a closer glance this statement is not true π
You want me to use wait tool to wait until midnight, and then use wait tool until 10am?
Yeahh that'd be great
on going from night-to-day, I got the following error in the logs
[16:43:59.607 E] Global[scripts/go-home-locking-doors/global.lua] onSave failed: Functions are not allowed to be serialized.
I loaded the game up with mod log activated, stood around for 2 ingame hours, then skipped time to the night, and then skipped time to the morning.
Awesome thanks a bunch
I saw this while testing as well and just fixed it. I don't know if it's related to your issue but you could try a dev build of the mod and see if it helps. Click the Dev Build link on this page:
https://modding-openmw.gitlab.io/go-home/
Aside from that, nothing stands out as unusual in your log. I'll keep trying to reproduce what you're seeing.
I had so much trouble getting the mod series to work at all, I'm nervous about re-downloading anything......
Fair enough
download the zip, then yeah drag and drop the files from it on top of the ones you already have. Say yes to replace all files.
No powershell for this.
ok, in game getting that log now
Thanks a bunch for working through this with me!
waiting a day and a night. There error didn't pop up, but neither did any log about GO HOME!
only thing relevant was a bunch of
[GoHomeLockingDoors]: Not checking door, it hasn't been more than an hour since last check: ex_redoran_hut_01_a
That showed up last time too
going to stand around for an ingame hour and see if anything pops up
Cool, this is what I'd expect to see in a normal log snippet for the Locking Doors stuff
I waiting until night, then to day. One additional door locked out of the 6 I was checking, none unlocked.
I went into an interior cell, and did the same wait, with all the same doors still locked when I exited.
I think I am having the same issue as yβall are talking about. Npcs arenβt coming back outside or re-enabling. Did you work out a fix?
Yes, the mod's dev build should fix that issue. Please click the Dev Build link on this page to download that:
https://modding-openmw.gitlab.io/go-home/
Ryan's got a bit of a different issue than that, still working out what's up there.
Gotcha. Iβll swap that in now. Thank you! Big fan of your work βοΈ
Thank you for providing the log. I think I did fix the root problem that caused what you're seeing, but unfortunately it did have a lasting negative effect on your save 
I'd recommend disabling the locking doors part of the mod and using the console to unlock doors as needed.
A brief description of what's wrong in your save now:
Basically the error we saw about "can't save functions" prevented the mod from properly saving info about the initial state of doors, including if they are locked by default or not. That caused it to see doors the mod locked as being locked by default, hence why your log has a bunch of Door already locked entries (when those doors are not locked by default).
So the problem is fixed but it's unfortunately not retroactive on existing saves. I'm really sorry about the trouble!
Hey thanks so much! Please do let me know if it solves the issue for you.
Once I get some confirmation about the "NPCs don't come outside" thing being fixed I'll release a mod update.
Works for me but... well you know how that goes π
oh so it's been fixed? That's great news! It's not a critical mod for me, so I've been playing most of it with it disabled anyway
Yeah I think it is, just with the unfortunate side effect that I mentioned. I really appreciate you giving me the logs, really helped me narrow down the issue.
Sorry to report back with negative news, afraid the dev release didnβt seem to solve the issue. After dropping it into my order, I loaded my save and visited Seyda Neen, because Eldafire has been a shut in my whole playthrough. Waited a whole week in 24 increments, no dice. I disabled the bad weather setting and tried it again, no dice.
Solved! The dev does work, however I needed to trigger the mod factory-reset. Just a heads up for anyone else in our position mid-game
Ah thanks for reporting back! I'll make it so that a factory reset is automatically triggered for those that update before I do a new release.
No prob! Cheers π₯
Cheers! π»
Johnny, I've recently encountered a similar issue with NPCs staying inside and/or disabled. I didn't report it at the time because I wrote it off as a test save with several mods added/removed, etc. That being said, I loaded an older test save at the time and the NPCs returned.
I haven't encountered it since though
Cool thanks as always for the feedback zsouza13!
Go Home! version 1.15 is released!
- [Go Home!] Fixed a problem that caused NPCs that went home to not come back out when you save your game then load it
- [Locking Doors] Added the door to
Ald-ruhn, Manor Districtto the list of doors that shouldn't lock - [Locking Doors] Fixed a problem that prevented the mod's internal data from being properly saved
Thank you @terse vortex ! Can verify it works in my case.
Awesome thanks a bunch for confirming that!
Hum... with a new game, i still encounter the issue with NPCs still at home locked
And you're using the very latest version? Can you please check the metadata toml file included with the mod to be sure?
I just tested it and can't reproduce the problem so if you could let me know exactly how you trigger it that'd be helpful. I'm doing this:
- Start new game
- Change the gamehour to 22
- Wait for NPCs to go home
- Change the gamehour to 12
- NPCs come out
I've also tried:
- Start new game
- Wait until 10PM
- Wait for NPCs to go home
- Save the game
- Load the game
- Wait until 11AM
- It was raining so I changed the weather to clear via the console
- After some time it became clear and NPCs came outside
[Locking Doors] Added the door to Ald-ruhn, Manor District to the list of doors that shouldn't lock
So i think you have to add "Ald'ruhn, quartier des Manoirs" in the rule-fr.lua blacklist...
question: does to NPCs use AiActivate on the doors to their own homes in order to enter/exit them at night and the morning?
I just got that error:
[15:43:43.460 E] L0x104642a[scripts/go-home/npc.lua] eventHandler[momw_gh_findHome] failed. Lua error: [string "scripts/go-home/npc.lua"]:329: attempt to call field 'destCell' (a nil value)
[15:43:43.460 E] stack traceback:
[15:43:43.460 E] [string "scripts/go-home/npc.lua"]:329: in function <[string "scripts/go-home/npc.lua"]:291>
[15:43:43.460 E] [C]: in ?
Running into lots of problems where houses including shops donβt unlock irregardless of time and weather
Maybe the word "DIstrict" should be a globally blacklisted word for locked doors?
It seems the problem is nearby.doors.type.destCell(door) The correct code should be nearby.doors.type.Door.destCell(door) no? I'm not sure.
No, the code seems good, the issue is:
for _, door in pairs(nearby.doors) do
returning also Light objects!?!
I don't know why, but a simple type check should fix it
nearby.doors returns also Light objects?! What a bug!
I don't know why, but a simple type check should fix it
You mean
local destCell = door.type.destCell(door)```?
yes, or rather:
door.type == types.Door
I correct myself; this is the complete trick (i think):
local destCell == nil
if door.type == types.Door then
destCell = door.type.destCell(door)
end```
seems good
Hi all! Was looking for help with the βGo Homeβ mod all over the internet, users suggested to try my luck here
The mod just doesnβt work
Check list:
- I have 0.49 latest daily build
- I started a new game
- I do not use any of conflicting mods
- I checked the npc with appropriate commands and it gives a blank debug message
Any help is much appreciated
You don't want to try with Go Home only? (no other mod)
Much obliged! Gonna try
Sadly, nothing changed. New game with no mods but Go Home only.
In the launcher, you ticked go-home.omwscripts and go-home.omwaddon and no other go-home plugin, that's it? And you turn on the GoHome debug button in the option?
does Door Locking not affect shops in the latest TR/Cyrodiil?
Thats right
I made an error: local destCell == nil is wrong. local destCell = nil is correct, but local destCell is shorter.
Also, we need to declare "types": local types = require("openmw.types")
So we have:
local types = require("openmw.types")```
```lua
local destCell
if door.type == types.Door then
destCell = door.type.destCell(door)
end```
Having the same issue, did you ever get it figured out?
Sadly no luck
@harsh canyon @night charm
I was also having an issue but got it running. I'm not sure if it matters but I have the go-home scripts and addons at the top of my load order, with "go-home.omwaddon" and "go-home.omwscripts" being the only two that are activated. See my example.
However the locking doors portion isn't working for me. Any know of a solution or if anything conflicts?
Okay so since the door locking mechanic wasn't working I used Go Home alongside with another mod to get the same effect. See the following:
https://www.nexusmods.com/morrowind/mods/45526
Hey, you were right on it! It works great for me now and the scripts are firing. FYI to anyone reading this in the future, the mod Boys in The Hood (itβs a rain-reaction mod) also stops some NPCs from activating. Thanks brother!
Also, my locking doors workβ I think you just need to turn on go-home-locking-doors.omwscripts
Wew thanks!
If "GoHome locking doors" still doesn't work for you, you can also see https://www.nexusmods.com/morrowind/mods/54638 (instead of Nighttime Door Locks); you will have the auto (de-)lock functionality for doors + a bash functionality for doors and containers.
I got a problem yesterday, doors not unlocking in the morning. I deactivated the locking addon (I see i'm not the only one). I don't mind personally. My character has a low security for now so it just blocks me, I may activate it back when I can unlock high level doors
Hi all, apologies about the delay in responding to these issues!
Based on a quick scan of feedback above, the dev build (and pending release) should fix everything.
But I had to revert some of @kindred dagger 's changes, so maybe we can work together to ensure compatibility between our mods. I've added an interface function to that end, it will allow your mod to disable mine as needed.
@somber nebula @harsh canyon @night charm @hidden crescent if any of you are willing to try my dev build before I release, just to verify that it fixes your issues, that'd be awesome. No biggie otherwise π
Not the very latest TR but yes it does support Cyrodiil!
Maybe just add the option to ignore cell whitelist? Or it's not possible to determine from Lua, which cells are proper settlements, and which are not?
By default the mod only works on cells that are explicitly whitelisted. Is there a specific issue you're referring to? I just skimmed the thread above so I might have missed something π
Just to "support" new landmasses automatically (I'm aware it could break things, I'm not saying it should be by default, by all means).
Ah thank you, I get ya. Because of the possibility for this mod's mechanics to break quests and stuff, automatic support just seems too risky tbh.
But the process for adding support for new content isn't too bad, for a manual one. It's basically:
- Find which cells need support
- Add them to the named cell or cell grid whitelist
- Add scripts to the script whitelist as needed
- Add quest exceptions as needed (these kinds of things don't usually get found until I or someone else plays content and finds the need for it)
Go Home! version 1.16 is released!
- [Go Home!] Improved support for Tribunal NPCs
- [Go Home!] Added handling for NPCs who can't make it to their door's position due to pathfinding quirks
- [Go Home!] Added a global interface function to enable better compatibility with other mods that try to affect AI on friendly NPCs
- [Go Home!] Fixed and improved exception support for AFFresh quests
- [Go Home!] Added support for a post-quest data reset
- Useful for when an NPC has a new home cell after a quest (Fargoth, Redoran stronghold wives)
- Includes an NPC interface command to force NPCs to use their default values:
I.GoHome.SetDefaultIsCurrent()
- [Go Home!] Fixed several issues with NPC responsiveness to required state changes
- [Locking Doors] Lowered the chance that a business might not unlock during the day
- [Locking Doors] Guild hall doors are now attempted to be ignored
- [Locking Doors] Several new destination cells are now explicitly ignored
- [Locking Doors] New rules for detecting several more houses and businesses
- [Locking Doors] Added automatic exceptions for hostels, hotels, inns, and rests to prevent places that sell beds from being locked overnight
- [Locking Doors] Several more doors for inns that are named in ways we can't automatically recognize them as such are explicitly ignored
- [Locking Doors] Loosened the business door match for
clothierto catch previously missed doors - [Locking Doors] Worked around a Lua API quirk that causes some doors to return
nilfortypes.Door.objectIsInstance() - [Locking Doors] Added more logging around when a door doesn't unlock (and explain why)
Hmmm I've installed the latest version and placed it at the top of my load order, however NPCs roam the seyda neen as usual at all times
Looks like the mod might be disabled (Factory Reset is on in the mod settings). Can you please check that?
You could also try this:
- Open the console
- Type
luagand press enter - Type
I.GoHome.IsActive()and press enter
It will saytrueif the mod is enabled.
Your in luas you wanted luag
You might need to leave and re-enter the cell so that the actors there can be re-processed by the mod and given their daily routines. Once they have their routine you'll get more output from I.GoHome.i() than what you showed above for Fargoth (that output you showed indicates the mod hasn't yet "seen" him).
This is happening because sometimes when there's a mod update I force a "Factory Reset" so that the mod can re-process actors. It's sometimes needed when I update rules for handling NPCs (in this case Fargoth happens to be an NPC with updated rules).
Might need to add that door to the blacklist, thanks Sophie! Maybe only with that mod installed π€
I mean, it's not like she exists only for 1 quest .
Hi johnny!
I test GoHome in Seyda; there is some pbs:
-
"No Disable Chance Number" setting isn't correct: for example, i set the number to 1 (100% chances to disable), but there are 3 NPCs who don't get "disabled" (Fargoth, Vodunius and Indrele)
-
Once a NPC is "disabled" with "No Disable Chance Number", GoHome never handle him again. It's over. (Even with the default setting (10))
-
When a NPC is fighting, and then the "go home time" come: he tries (a little bit) to go home (and sometimes he's successful) (i tested with Vodunius fighting Fargoth (both try to go home sometimes during the fight)). It's not very realistic. Previous version (1.15) doesn't have this pb.
-
Lock retry times aren't coherent: example: when night comes and GoHome doesn't lock Draren House: if you wait all night in Seyda, Draren House never locks. But if you teleport to another cell, wait 1 hour, then come back to Seyda, there's a big chance to find Draren House locked...
5?) Don't you forget the "door.type.destCell" pb? See these 2 posts: 28/03/2025 and 25/04/2025
Hey lelimule! Thanks for the writeup, I'll take a look at these!!
- When a NPC is fighting, and then the "go home time" come: he tries (a little bit) to go home (and sometimes he's successful) (i tested with Vodunius fighting Fargoth (both try to go home sometimes during the fight)). It's not very realistic. Previous version (1.15) doesn't have this pb.
@kindred dagger was this something you encountered with one of your mods? I added an interface function that I hoped would help with that, basically you can disable Go Home's handling of an NPC while your mod takes over their AI, then re-enable it as needed.
The code that allowed that to work in 1.15 caused other issues and unexpected states, so I had to change it.
Thanks for the writeup
Thanks to you johnny. π
was this something you encountered with one of your mods?
The pb isn't specific to a mod. The pb appear when a NPC is fighting and it's time to go home.
I think the best solution is to add a condition in GoHome: "if NPC is fighting or running, then this NPC doesn't go to home now". Something like that...
Ah, thank you for clarifying! I'll handle that.
Combat in general causes it, makes sense.
@terse vortex
Concerning the Combat pb, you don't like the suggestion i made in previous version? Here it is with a correction:
First, we don't initiate a GoHome action if NPC has an AI package inappropriate for GoHome (GoHome actions must not be prioritary; they are quiet actions for quiet times):
local active = AI.getActivePackage()
if active ~= nil and active.type ~= "Wander" and active.type ~= "Unknown" then
-- Don't try to handle an NPC if they have an AI different than "Wander" and "Unknown"
return
end
-- Finally, do work```
And in the final step, we check again before the final "go home" travel:
```lua
local function goToDoor()
routine.waitingToWalk = nil
routine.rand = nil
-- Begining of the main part
local active = AI.getActivePackage()
if active and active.type ~= "Wander" and active.type ~= "Unknown" then -- i made a mistake in this line. Now it's ok.
-- if NPC has an AI package inappropriate, we change his state to DEFAULT to properly avoid the final travel to door.
changeState(states.DEFAULT)
return
end
-- End of main part
veryVerboseMsg(string.format("Go to door for actor: %s", self.recordId))
AI.startPackage({type = "Travel", cancelOther = false, destPosition = routine.doorPosition})
end```
It seems to work well, no?
I don't see how that's better than (this is in the main update loop):
-- NPCs in combat shouldn't go home
if active and active.type == "Combat" then return end
Am I missing something? π
I also really don't like the changeState to default there -- that's exactly the kind of thing that created unexpected states before (because you're changing the state without actually changing their AI package at all).
The result can be, internally their state can be "default" but their actual state in the engine is just whatever
The way I see it, if we just do nothing in the main loop when combat is detected we avoid interrupting other AI packages in action without a lot of code all over.
Here's the diff for the above snippet, for more context on where it's at:
https://gitlab.com/modding-openmw/go-home/-/commit/3f8d4da67a9c0c3e40f66e80921b072700fa3e19
Did you try it and it did not work out?
Also, regarding this:
- Lock retry times aren't coherent: example: when night comes and GoHome doesn't lock Draren House: if you wait all night in Seyda, Draren House never locks. But if you teleport to another cell, wait 1 hour, then come back to Seyda, there's a big chance to find Draren House locked...
This is working as intended tbh:
https://gitlab.com/modding-openmw/go-home/-/blob/3f8d4da67a9c0c3e40f66e80921b072700fa3e19/scripts/go-home-locking-doors/global.lua#L615
Doors will be ignored if they were checked within the last in game hour
My intention behind that was to not have the locking/unlocking be so predictable/mechanical - give it a bit of "incoherent" nature.
- "No Disable Chance Number" setting isn't correct: for example, i set the number to 1 (100% chances to disable), but there are 3 NPCs who don't get "disabled" (Fargoth, Vodunius and Indrele)
Regarding this: those NPCs all have homes and wouldn't get disabled. Did you also use the "only disable" option?
Can you please add another quest exception for Apelles Matius? For the Early Transport to Mournhold mod, he needs to be enabled for journal stages necro_mh_transport >= 20 and < 50
You bet
If I can't do multiple quest exceptions for an NPC I'll just ignore him for now.
(and add support for multiple exceptions later)
Yea exceptions for multiple quests on an NPC will require a nontrivial refactor, so when Early Transport to Mournhold.esp is installed he's just gonna get ignored for now.
Go Home! version 1.17 is released!
- [Go Home!] Improved support for Early Transport to Mournhold
- [Go Home!] NPCs in combat no longer try to go home
- [Go Home!] Improved support for some Tamriel Rebuild NPCs
- [Go Home!] Alvela Saram no longer gets a schedule (
Morrowind.esmNPC)
Download link is borked, fixing that now π
Fixt!
@terse vortex
About this:
if active and active.type == "Combat" then return end
Yes it works, but i think it's better to exclude also Travel, Pursue, Follow and Escort. For a better compatibility with the game and with other mods. This is why i did active.type ~= "Wander" and active.type ~= "Unknown".
For example, if a NPC follow the player (AiFollow), sometimes he goes home when night come. I think he should stay with the player...
About my final check in the goToDoor() function, it's a security in case the NPC package AI has changed (because of the game, or because of another mod) after the begining of the go home process. But i'm not sure if it's useful. So perhaps you're right and it's a bad idea of mine.
By the way, there is a similar check in the goToDefault() function; so perhaps it must be modified too...
About "Lock retry times":
Doors will be ignored if they were checked within the last in game hour
We agree on this. This isn't the pb. π
This is the pb: when night comes and GoHome doesn't lock a house (Draren House, for example): if you wait all night in Seyda, Draren House never locks. But if you go to another cell, wait 1 hour, then come back to Seyda, there's a big chance to find Draren House locked... You see the incoherence? π
About "No Disable Chance Number": Ok, i didn't understood that it's only for NPCs without home. π
About pb nΒ°2 (Once a NPC gets this message: "Not disabling actor" (because of the rare chance to not disable at night), GoHome never handle him again. It's over. (Even with the default setting (10))), you said nothing? It's no good. π
And about pb nΒ°5 (Don't you forget the "door.type.destCell" pb?), eh? I see you. π
Sorry for this tedious list johnny. π
Excluding Travel would prevent interrupting states though
Sorry for this tedious list johnny. π
No need to be sorry, I absolutely appreciate the feedback π
I'm going to play around with excluding the other AI states as you suggested
About pb nΒ°2 (Once a NPC gets this message: "Not disabling actor" (because of the rare chance to not disable at night), GoHome never handle him again. It's over. (Even with the default setting (10))), you said nothing? It's no good. π
Sorry, I just didn't get a chance to look into it yet π
This is the pb: when night comes and GoHome doesn't lock a house (Draren House, for example): if you wait all night in Seyda, Draren House never locks. But if you go to another cell, wait 1 hour, then come back to Seyda, there's a big chance to find Draren House locked... You see the incoherence? π
I'll also take a closer look at this, because I don't think I understand the issue atm π
@terse vortex
Hey johnny! π
I remember exactly now why i did a check and a changeState to DEFAULT in the goToDoor() function:
When the game, or a mod, change the AI package of the NPC (to Combat, Travel, Follow, Pursue or Escort), between the go-to-door state and the goToDoor() function, your mod doesn't see that, and it erase the AI package of the NPC to put a "AI Travel to door" on him. It should not take priority, it should leave the NPC with his new AI package.
For example: wait the begining of the night; when Vodunius gets his go-to-door state (and before he begins to walk to his door) just give him a hit: he begins to fight you, and after a few seconds he goes home...
My modification stops this pb. My tests seem ok, but as you said it may be a bad solution, i don't know what to do. π₯Έ
Thanks for the heads up! I'm going to make some time to take a long look at your suggestions and approach and get back to you! π
Would it be possible to create localization patches for other languages? By the way, I can help translate cell and NPC names if needed.π₯Ή
Yeah, check out the L10N contexts: https://gitlab.com/modding-openmw/go-home/-/tree/master/l10n?ref_type=heads
cell and NPC names should be defined in the actual lua scripts:
https://gitlab.com/modding-openmw/go-home/-/blob/master/scripts/go-home/rules-fr.lua?ref_type=heads
https://gitlab.com/modding-openmw/go-home/-/blob/master/scripts/go-home-locking-doors/rules-fr.lua?ref_type=heads
Ohh I like that idea
Something that worked together with Burglary overhaul would be interesting. Of course, the biggest change for the better would be a system where NPCs actually sleep (but I know that's still difficult to implement)
Is it safe for a middle playthrough?
Can you add an interface to check if a door instance has been locked by this mod? I'd like to integrate it with Burglary Overhaul's trespassing feature
Edit: this isn't needed anymore so long as the door is owned
No problem on my part when I added it mid-playthrough
it seems to re-adjust things automatically even when upgrading between versions of the mod
it resets the actors positions
I'm noticing that with the "Locking Doors" addon activated, doors will lock not only when NPCs are home after nightfall (reasonable and makes sense), but doors will also lock when NPCs go home due to poor weather conditions (kind of annoying since, in a lot of areas, it rains almost constantly). Is this supposed to happen?
No I have not! Great idea π
Thanks for asking about that! I'll definitely accept patches for supporting other languages. To support non-English versions of Morrowind more changes are needed outside the l10n stuff S3ctor linked (there's FR language support already).
Yes, it should be totally safe to add mid-playthrough!
No, doors aren't supposed to lock on account of rain. The code only considers time of day and completely ignores weather.
Hey lmk if you do end up needing something like this, I'm absolutely down to add it!
Thanks! So far it seems like it works well. The only issue really is that NPCs stand right inside the door instead of moving away from the door once they are in their house
Yeah that's because they can't move again until the scene is loaded. I could maybe load their interior and pick a random point inside there, I might try that in a future update.
It turns out that I'll need a method to check if a door is locked after all, since ownership isn't set when a door is locked (alternatively, you could set ownership on the door)
If you set ownership on the door, you'd have to unset it on unlock to keep compatibility
Yeah I do recall experimenting with setting ownership on doors because it sounded like a neat idea but not getting anywhere with it. I will revisit that idea since my memory is a bit foggy
Ah yeah, door records are read-only in 0.49 
So I can't change owners.
It turns out that I'll need a method to check if a door is locked after all
BTW could this work for you?
obj.type.isLocked(obj)
Just do that on any door object.
I specifically need to know if the player is "allowed" to be in there, not just if it is locked or not. This powers the Trespassing crime feature
There are lots of areas that are locked but wouldn't be considered trespassing, so I have to rely on a variety of heuristics to figure that out
Gotcha! Makes sense
Sounds like it'd be useful if I could provide a list of the destCell from each door I lock then, right?
or something that returns true/false for a given cell name/coords
A door instance id lookup would be better in my case
since sometimes there are doors you are allowed to use, and others you aren't
So something like:
I.GHLD.IsLocked(doorID)
that would be great π
Cool you got it! That will be in the next update. I probably won't get to work on Go Home for a few weeks but I'll definitely add that.
thank you! no rush π
Apparently 0.49 lets you set ownership

I definitely tried this several months back and I recall it not working because Door records are read-only. I'll give it another try though!
But you are correct: GameObject has an owner field! https://openmw.readthedocs.io/en/latest/reference/lua-scripting/openmw_core.html##(GameObject).owner
One question that I had while attempting this was: who do you make the owner of a given door? For NPCs that default to being outside, it's probably an easy decision. But some doors "belong" to NPCs that are inside, and we don't have a great way of getting access to those game objects without some gymnastics that involve loading a cell and etc.
In my last attempt, I selected a local guard and made them the owner of all doors 
I think the guard solution is good enough π
If you intend on moving NPCs away from the door, you'd have to load the cell anyway right?
Or would you do that on NPC activation or something
There's two approaches I can try for that:
- Load the cell, use the navigator API to pick a random point and when then "go inside" they would go to that point. This might not work because I think the navigator api only works on player-local cells. I want to say I've tried this in the past (I need to do a better job of recording things I've tried π ) and it didn't work for that reason.
- using onObjectActivate (or a similar handler) I could make the NPC walk to some random point when the player loads the cell. In this case, when the player enters the cell they'd still be right by the door but at least they'd then move to some other point upon the player arriving.
Maybe there's more approaches! I need to think about it a bit, experiment with things.
The nice thing about the interface we discussed is: I'm already storing the data that's needed for it, so it's in theory trivial to implement. Just need to find time to make it happen!
For option 2, when the NPC becomes active, you could just teleport him to the calculated random position
For option 1, I thought nearby functions works on local scripts for any game object
For option 2, when the NPC becomes active, you could just teleport him to the calculated random position
That's another option I'll probably have to consider, I don't doubt there's likely to be issues with making NPCs walk to points in interiors
For option 1, I thought nearby functions works on local scripts for any game object
The docs say "Can be used only from local scripts.", but I have a recollection of it not working. It's worth another try
This mod is amazing, it makes such a huge difference to feel like the NPCs are alive, locking doors etc. it would be amazing to find them in bed, i assume that would be pretty complicated, would an approach like how Repopulated MW does the sitting NPCs be possible do you reckon?
Using with service refusal and devilish needs makes it so immersive. It's funny, such a seemingly small change but i find it so exciting when it's quiet on the streets at night. Its just so good
I'm surprised that night service refusal isn't part of Vanilla. It's pure dialogue and it's not a bit deal having to wait. It also makes sense immersion-wise. I get it that the devs didn't implement NPC schedules as they clearly weren't ready for that back in 2002, but no dialogue-based night service refusal? Weird.
And yeah, combining the needs mod with Go Home and night service refusal is great. It's the version of MW I've always wanted. I also think that the mod which adds signing bards to taverns is great as it makes them much more lively. Taverns in TES games tend to be so damn quiet, lol
To be fair there's quite strict laws in Morrowind regarding ribaldry in public houses, I was just reading about it. but it's more likely a result of the tech they had then the other way around
Yeah I just wish it was some better music, I really dislike the Skyrim bard songs. π€ Might be a fun project, could record versions of the songs from bardcraft or something
@terse vortex
Hey there, Johnnyhostile
Sorry to necro this thread.
Could use your expertise.
Feeling like an doofus that I can't this working
F10 log is showing me it's not installed
I'm using this with Path of the Incarnate modlist and OpenMW 51 latest dev build
What I've done
Downloaded Go Home from Github activated it in ModOrganizer 2
Note that I've added [NoDelete] to the name of the mod on the left panel
So it's listed as [NoDelete] go-home to save it from getting nuked if a new update comes out for POTI modlist.
I opened up my openmw.cfg and added this to the bottom.
data="E:\Wabbajack Modlists\MW Path of the Incarnate\mods[NoDelete] go-home"
Should [NoDelete] be there? Wasn't sure. Delete the [NoDelete] and no change occured.
I am seeing the Go Home and Go Home Locks in my scripts
I've reset to factory settings in here
But F10 log is saying it's not installed.
This is what I am getting error wise:
08:50:43.644 E] Can't start Global[scripts/go-home/rules-fr.lua]; Lua error: [string "scripts/go-home/rules-fr.lua"]:4: ERROR: Go Home! is not installed!
[08:50:43.644 E] Can't start Global[scripts/go-home-locking-doors/rules-fr.lua]; Lua error: [string "scripts/go-home-locking-doors/rules-fr.lua"]:4: ERROR: Go Home! Locking Doors is not installed!
I've tried enabling all these files and it still showed as not installed in the F10 log.
it's the things with -fr they are for the French translation version or something, you should remove those, iirc that should sort it. I had the same issue but it was a while ago
also those files that say .omwaddon.esp, is that a mo2 thing? that doesn't seem right to have both types of extension (usually it's .esp OR .omwaddon for openmw so I'm curious where that came from)
to be clear I'm not involved π just being nosy
Thanks, I've removed those -fr ones.
I think the .omwaddon.esp is a M02 thing. In M02 on the right panel when I hover a line it says it's a dummy plugin
ah OK I see, yeah that looks good, did you try it?
it should be OK, I think as long as the path is correct your good. it's showing in the launcher so should be good to go
Yep it appears to be working as intended! Thanks for your help.
I am seeing a few stray merchants in the market area of Balmora after midnight but maybe it's because they were added via some mod and have no home in Balmora to return to?
nice one! yeah it intentionally avoids some mod added npcs to avoid conflicts but theres also a variable on it so sometimes people will stay up
iirc if they have a home they will go to it, but if they dont have one linked they may just disapear for the night too
most of it can be adjusted in the ingame settings
Hey @terse vortex . I've been seeing Abishpulu Shand getting stuck near his home in Gnisis over and over again. He can't reach the door because of the building's model and doesn't try to go around. "Going home" pathfinding seems to be worse than standard one in general. Why is that, I wonder? Are the NPCs ignoring path grids/navmesh? Is there a way to improve handling of such cases?
Hey @karmic wadi - are you by chance using BCOM? I've noticed with certain OAAB assets the navigator gets confused (this happens in BCOM Balmora and BCOM Gnisis that I've seen). I need to get a solid recipe and file a bug report π
Yes!
BCOM is included in EV modlist. I haven't removed it via customizations.
Cool cool - then yeah it'd be a funky interaction happening with OAAB stuff
I have seen this before π
I can work around it by setting an arbitrary "home door" point when BCOM is loaded.
Nords Shut Your Windows adds window shutters and they get stuck on them a lot too π
lmao! I've not seen that
I saw some NPCs in Helnim walking into buildings
why do the NPCs ignore standard path nodes?
do you force them to go straight to the door?
I'm just ramping back up after being on hiatus but I will look into these and other issues.
Yes, exactly. It uses the navigator and not necessarily the pathgrid
welcome back! :) its a good time for it
lots going on
btw https://www.nexusmods.com/morrowind/mods/58635 some interesting ideas here
Foxunder flooded the Nexus with cool mods in the last 2 months or so π
Hey thanks! I needed some Morrowind (and
) in my life π
Nice, cool to see another take on this idea
The safe places thing is something that's been suggested
The author claims it has better pathfinding... how? π€
He's not active on discord, but quite responsive on nexus
And was happy to share stuff last we spoke
Dralcea Arethi in Balmora always chooses balcony exit when going out of the house and gets stuck there 
She just likes the view
For me, Dralcea Arethi doesn't go home; she disapears as if she has no home in Balmora. I wonder why this bug occurs...
that's not a bug iirc. NPCs that have no home will disappear during night or bad weather
But she has a home in Balmora...
Yes, as if... π
Hey lelimule! Thanks for reporting, I'll take a look π
Hi johnny!
I've found it: the pb appears with (some) other language versions of Morrowind: in these versions the cells names are translated (but not the record id of the actors). Example of the french version: the cell of "dralcea arethi" home is "balmora, maison de dralcΓ©a arΓ©thi"; so when we search a match between "dralcea arethi" and "balmora, maison de dralcΓ©a arΓ©thi", the mod finds nothing...
So i have to create a conversion table for the problematic cells...
Ah, I see! Thanks for finding that. I'm happy to add that fix into the mod itself if you come up with that table.
translated versions strike again
A first generic approach could try to remove diacritics from strings before comparisons
Yes mym. But i wonder, in terms of performance, if a diacritics remove wouldn't be far more slower (?).
Or else, a diacritics remove with a memorization of the results (in a table)...
Yeah, a cache could be useful.
But you're right, I don't know whether such a diacritic removal approach would be really useful: Are there many cases? Would it work for other languages?
I think there are not many cases; i'm going to do the list... If there are not many cases, i think a diacritic removal doesn't worth it, a simple table will be more efficient.
And about other languages, there is no demand for other langage, so... (i don't even know if this pb exist in other languages)
That's a good callout mym. Some kind of automated approach would be nice for many other contexts. For now, maybe a static table is the simplest approach for this mod.
Diacritics may work for German and French, it will likely break on Polish and russian, but that depends on if you want to support that
I'd like to support as many languages as possible tbh
Of OMW supported languages - there's also Swedish, but there exist fan translations of MW to Turkish and Ukrainian as well.
Not even sure a global solution is possible aside from individual "translation tables" for each
Ok, there are 9 french cells concerned:
ald vΓ©lothi, cabane de virevΓ©ri darΓ©thran
ald'ruhn, dandΓ©ra sΓ©laro, forgeron
balmora, maison de dralcΓ©a arΓ©thi
caldΓ©ra, maison de nΓ©dhΓ©las
ferme de nilΓ©ra
gnaar mok, cabane de nadène rothéran
longsanglot, manoir vΓ©las
seyda nihyn, cabane d'erène llénim
seyda nihyn, maison d'eldafaΓ―re```
So we can do this, for example:
In npc.lua:
```lua
local french_cells_pb = {
--["ald vΓ©lothi, cabane de fΓ©vila bΓ©thrano"] = "fevila bethrano", -- Fevila Bethrano is already in her shack
["ald vΓ©lothi, cabane de virevΓ©ri darΓ©thran"] = "vireveri darethran",
--["ald'ruhn, chambres du manoir llΓ©thri"] = "llethri", -- the Llethris are in interior cells
-- ...
["ald'ruhn, dandΓ©ra sΓ©laro, forgeron"] = "dandera selaro",
["balmora, maison de dralcΓ©a arΓ©thi"] = "dralcea arethi",
["caldΓ©ra, maison de nΓ©dhΓ©las"] = "nedhelas",
["ferme de nilΓ©ra"] = "nilera",
["gnaar mok, cabane de nadène rothéran"] = "nadene rotheran",
["longsanglot, manoir vΓ©las"] = "velas",
["seyda nihyn, cabane d'erène llénim"] = "erene llenim",
["seyda nihyn, maison d'eldafaΓ―re"] = "eldafire",
}```
And in the findHome function:
[...]
```lua
if destCell ~= nil then
local normCell = string.lower(destCell.name)
if french_cells_pb[normCell] then
normCell = french_cells_pb[normCell]
end
-- Try to match NPCs to door destCells
if string.match(normCell, string.lower(self.recordId))
-- False match -- Ian and Argonian
and not (self.recordId == "ian" and string.match(normCell, "argonian"))
-- Try to match first and last names individually
or (t[1] ~= nil and noFindDoor == nil and string.match(normCell, string.lower(t[1]))
or t[2] ~= nil and noFindDoor == nil and string.match(normCell, string.lower(t[2])))
then```[...]
.
But it seems there's a better solution: Foxunder, in his fork, do the match test with the "displayed name" of the NPC (instead of recordId of the NPC); the "displayed name" is a translated name, so it potentially works with all languages version of Morrowind (if they apply the same principle (the translation of the cell names)).
.
There is another pb, much more serious, for all users (english and others): in npc.lua, in the update function, the code part designed to reset the NPC after 6 hours doesn't work (lines 206 to 240). For several reasons. The first reason is the "unknownCount" test. For a long time i think this unknownCount brings pbs and useless complexity.
This is a working solution (with improvement):
local stateMem = "-1"
local timeTrig
local function update()
```[...]
and change this non-working code part by this:
```lua
-- Change the NPC "state" to default when he is stuck in the same state for more than 1 hour (game time):
if routine.state == "Unknown" or routine.state == states.DEFAULT or routine.state == states.GO_TO_DOOR or routine.state == states.GO_TO_DEFAULT then
if routine.state ~= stateMem then
stateMem = routine.state
timeTrig = core.getGameTime() + 3600 -- +3600 = +1h game time
elseif core.getGameTime() > timeTrig then
stateMem = "-1"
routine.waitingToWalk = nil
routine.rand = nil
changeState(states.DEFAULT)
end
end
.
There is another pb: dralcea arethi never finds the way to her door; she's heading straight for a wall. This is because the destination point is slightly in the house (unreachable). I imagine it's the same pb with the english version.
So i put a corrected destination point in global.lua, registerAllDefaults function:
registerDoorPosOverride({
-- Due to a pathfinding quirk relating to the mesh that his home uses (he
-- can't navigate around one of the protrusions) we have to set his door point
-- a little bit in front of it so that he can actually fully make it home.
["braynas hlervu"] = { x = -7366.73486328125, y = 52841.2734375, z = 2345.718994140625 },
["dralcea arethi"] = { x = -16539, y = -14446, z = 186 },
})```
.
Another thing: in the cases where a NPC try to go to his door, to no avail (blocked, ...) - we just see a case...: it would be a good idea to teleport him to his door. For that we can add a little modification to our code part designed to change NPC state after 1 hour of blockage:
-- Change the NPC "state" to default when he is stuck in the same state for more than 1 hour (game time):
if routine.state == "Unknown" or routine.state == states.DEFAULT or routine.state == states.GO_TO_DOOR or routine.state == states.GO_TO_DEFAULT then
if routine.state ~= stateMem then
stateMem = routine.state
timeTrig = core.getGameTime() + 3600 -- +3600 = +1h game time
elseif core.getGameTime() > timeTrig then
stateMem = "-1"
routine.waitingToWalk = nil
routine.rand = nil
local active = AI.getActivePackage()
if routine.state == states.GO_TO_DOOR and active and active.type == "Travel" then
core.sendGlobalEvent('GoHome_Teleport', {
actor = self,
cell = self.cell.name,
position = routine.doorPosition,
})
else
changeState(states.DEFAULT)
end
end
end
and add the little 'GoHome_Teleport' eventHandler in global.lua.
.
At last, a little improvement: in the update function, change:
-- NPCs in combat shouldn't go home
if active and active.type == "Combat" then return end```
by
```lua
-- NPCs in other AI mode shouldn't go home
if active and active.type ~= "Wander" and active.type ~= "Unknown" and active.type ~= "Travel" then
return
end```
.
Thank you @kindred dagger ! I'll be working on an update soon and will incorporate your feedback!! β€οΈ
For a long time i think this unknownCount brings pbs and useless complexity.
I get what you mean, but I think "useless" is a bit harsh π
The code lets an actor recover when they're stuck and the engine reports their AI package as "Unknown". If you have a better way of handling that I'm open to suggestions! But when I work on this mod again I will review that.
I do recall you tried to remove that before (and I accepted that change) but I remember it caused some issues. I can't remember exactly what, though. It's been too long. Definitely worth another look!
Hi johnny!
Excuse me for my expressions; i didn't realize all the meaning, and i'm not very good in english. Sorry.
The code lets an actor recover when they're stuck and the engine reports their AI package as "Unknown".
I think my proposition above resolve that (but tell me if it doesn't work for you): if an actor is stuck with AI package == "Unknown", it doesn't change the fact that he has routine.state == "Unknown" or states.DEFAULT or states.GO_TO_DOOR or states.GO_TO_DEFAULT; and if he's in one of these routine.state for more than 1 hour (game time), we reset him (a light reset) with 2 little variables and states.DEFAULT; and after this reset, the mod can give him a new AI package (for example, if he's in the condition to go to door, the mod will give him a Travel package).
Thank you lelimule! I really appreciate your feedback. Last night I was thinking specifically about the unknown stuff and decided to just delete all of that code and see what happens π
I'm working through the rest of your comments as well.
Tauryon in Ald'ruhn also gets stuck near his home. Redoran architecture seems to be a problem for pathfinding.
Should get the path curve when they are stuck and teleport them forward along the curve by some amount
I've just done 2 tests with Tauryon (yes, only 2) and it seems ok, he didn't get stuck. Note that i've tested with my GoHome modifications, but i don't think it makes a difference in this case.
Do you use BCOM?
A similar issue appears in Gnisis.
No i don't have BCOM.
Do these issues appear with BCOM?
I know Johnny has been working hard on the next update, which will have improved pathfinding and more features. It'll be awesome
Cirtiel in Old Ebonheart cannot get back to her stand (stuck). I wonder whether you should teleport or disable stationary NPCs by default. They are usually located near the stands and the basic dumb pathfinding used simply cannot handle it π .
@karmic wadi are you using the latest release of Go Home? The dev build has many improvements as zsouza13 noted, I'm curious if Cirtiel is still a problem (I'll try it out myself a bit later, too).
Thanks blurpandra - somehow I had never seen findPath but the next version of Go Home will use it.
@terse vortex findPath is the way π
No, I'm using the "live" version. Not dev build.
Cool thanks for letting me know!
So far, in my local testing with the new dev build I have yet to have a need for special case handling or "unstuck" code.
Try Helnim, Old Ebonheart, Raynon-ruhn. Goid testing grounds because of stands and street setup.
Thank you! Will do π
I just wanted to give you a quick update: I think the refactor of NPC update logic (removing unknown detection and etc) will solve many of the issues you reported. All that's left for me to do is implement a way to handle non-English names (and detecting their houses). The tip about display name vs recordId is good, I'll work on that.
Thank you again lelimule!
findPath() seems to consistently fail for this NPC, meaning it falls back to the old way of trying to path find which results in their not making it back.
So yeah in this case, they make it back to the stand but findPath() wants them to walk through it.
In this case, the "stand" is two barrels with a board on top lol. Might be what's confusing it.
It may ultimately be necessary for some degree of "stuck" tracking, but I think this will be much more manageable than counting "unknown".
I'm thinking:
- If the NPC should be walking to the door or their default position
- If
Wanderis active (should beTravel) - Pick a random point nearby, walk to it, then from there try to go to the intended position
OR... just keep it simple and teleport 'em
OR... just keep it simple and teleport 'em
Tested this with Cirtiel and it works well enough
I thought your indev ver was 0.51
the issues I mentioned were on 0.50 save with live Go Home version
I decided to not make it 0.51 exclusive.
Ok
I'll also try it with 0.50
They are not mages. I'd do it silently when the player doesn't look at the NPC. And if the player talks to the NPC, he could say "please turn around" π
I'm now trying to think of how I could justify this in a lorebeard-approved way
But yeah I've got the teleport approach working with 0.49-0.51. Gonna go with it for now until I develop a better way to pathfind out of jams (there's quite a few NPCs in TR that could maybe find their way home if they only knew to walk around something that the navigator API can't quite work out how)
I've also implemented a new way of matching NPCs to homes that should be less prone to false matches.
Unless there's any major issues that come up while testing, I think I'll do a release soon.
happy to hear that π
Looking forward to it brother
Go Home! version 1.19 is released!
- [Go Home!] Improved matching NPCs to homes
- [Go Home!] Improved support for BCOM's
Balmora waterworks merchants addon.ESP - [Go Home!] Homes are now detected in a more language-agnostic way
- [Go Home! and Locking Doors] Improved support for Tamriel Rebuilt
- [Go Home!] Added support for Repopulated Morrowind
- Only a small subset of NPCs are supported at this time, focusing on those that are intended by Repopulated Morrowind to be out during the day (using the
gvrm_day_npc_deletescript)
- Only a small subset of NPCs are supported at this time, focusing on those that are intended by Repopulated Morrowind to be out during the day (using the
- [Go Home!] Improved pathfinding with
nearby.findPath()- This isn't always successful (for various reasons) so the older method is used as a fallback in that case
- [Go Home!] Added an escape hatch for NPCs with troublesome paths home/to their default position (e.g., Cirtiel in Old Ebonheart) that will teleport them back if they are found to be stuck (usually because
nearby.findPath()has failed) - [Go Home!] Improved and simplified the main loop for managing NPC behavior
- [Go Home!] Improved detection of being near a door (and entering it)
- [Go Home!] Fixed a problem where an NPC that was to be disabled but wasn't due to random chance would never ever be disabled again
- [Go Home!] Added support for OpenMW 0.51.0's new Lua API for weather
- This means
go-home.omwaddonis no longer required, the mod is now a single Lua plugin - Support for new bad weathers can be added via the global Lua interface, see the README for more information
- If you're using OpenMW 0.49 or 0.50, then you still need
go-home.omwaddon
- This means
Nexus Mods :: Morrowind
Adds named NPCs to all cities using leveled lists with items from TR_Data, Morrowind/Bloodmoon/Tribunal. OpenMW/MWSE/Vanilla compatible with optional Beautiful Cities of Morrowind, Tomb of the Snow Pr
Does this mod and lua npc schedule do similar things?
Yes, more or less the same thing. This one doesn't do the "they go to the store" thing (yet).
Thank you Johnny
Thanks for this mod, it's wonderful. I just wanted to report that I also use the mod Persuasive Speech and I've noticed that sometimes, but not always, NPCs I recruit with it will disappear when following me. I assume this has something to do with the scheduling in Go Home!, because with Go Home! disabled, this doesn't happen.
Here's the Persuasive Speech mod for reference: https://www.nexusmods.com/morrowind/mods/47388
If there's a setting I've missed on my end that I can tick to prevent this, I'd love to know
Hi johnny!
Is there a procedure to uninstall GoHome properly? (to ensure that the NPCs are returned to their correct locations)
I guess we just have to do a Factory Reset and then uninstall GoHome, that's it?