#Go Home!

1 messages Β· Page 2 of 1

lyric shore
#

[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>

#

should clarify this is with every esp + omwscript disabled

keen flax
#

Do you have a recent dev build? It works for me hmm

lyric shore
#

i have rc 3.0

terse vortex
#

@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.

lyric shore
#

Is debug messages f10 or something else?

#

How do i enable it

terse vortex
#

ESC >> Options >> Scripts >> Go Home! >> Look for "enable debug messages"

#

they will show up in the F10 console

lyric shore
#

Ok

#

Will do

terse vortex
#

the lines will be prefixed with GoHome

terse vortex
lyric shore
#

[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

terse vortex
#

Might even be helpful to see your entire openmw.log tbh

lyric shore
#

Ok

terse vortex
#

thank you!

lyric shore
#

Np

mellow nest
#

#momw-general message

bright sailBOT
#

There's nobody on the docks in Old Ebonheart, which is, uh, problematic, I need them for a TR quest

terse vortex
#

Yes that should be fixed in the latest release

kindred dagger
#

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?

terse vortex
lyric shore
#

hey, is there an eta for the update of this and the bound balance update? No rush I was just curious

jagged light
#

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

terse vortex
#

Thanks for testing it out, I really appreciate the feedback!

terse vortex
#

payam I did not forget about you, I just got a bit busy. We'll get the issue you found sorted!

lyric shore
#

Tyty

#

you make excellent mods, so take all the time you need

#

I was just curious is all

terse vortex
#

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. sipsshein

kindred dagger
terse vortex
kindred dagger
#

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")```
[...]
terse vortex
#

For this it's probably better to change it to case-insensitive tbh

#

downcase everything before we do the string.match() calls

kindred dagger
#

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?
terse vortex
# kindred dagger It seems to work. I added a "namedCellWhitelistFR" to commonData.lua (the same l...

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.

kindred dagger
# terse vortex Thank you for your work! > by the way, i see i made case error for rules-fr.lua;...

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"
kindred dagger
terse vortex
#

Thanks for all the feedback lelimule!!

lyric shore
#

Hey, did you manage to figure out why my npcs are teleporting when leaving their houses

terse vortex
terse vortex
#

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.

lyric shore
#

Will do shortly

terse vortex
#

No rush, and thanks a bunch!

terse vortex
#

Thanks! I'll take a look at that in the next day or so and see what I find. Much appreciated.

keen flax
#

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

terse vortex
#

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.

keen flax
#

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

terse vortex
#

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 πŸ˜…

keen flax
#

Haha thats a possibility

terse vortex
#

One interesting data point is that it doesn't happen with Expanded Vanilla, only Total Overhaul (presumably also Graphics Overhaul)

keen flax
#

I wonder what it is, ive been trying to find it haha. I saw it happens sometimes in anvil

terse vortex
terse vortex
#

Thanks for checking in, I'm gonna take a look at your extra verbose log tomorrow payam

lyric shore
#

Will it be safe to update mid playthrough

#

With deltamerge enabled

terse vortex
#

Yep it will be

lyric shore
#

Thx

pallid gyro
#

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?

terse vortex
pallid gyro
#

Sure thing, I’ll do it once I’m at my desk tonight

keen flax
#

I think those two get disabled because they have no homes

#

I could be wrong though

terse vortex
#

Depending on the setup they could have a script attached that isn't recognized (making the mod ignore them)

terse vortex
#

Also @lyric shore my apologies about the delay. I hope to make time to dig into this soon.

pallid gyro
terse vortex
#

Cool cool, sounds good!

robust gyro
#

How well does this work with mods? Like Project Cyrodiil for example

terse vortex
# robust gyro 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).

pulsar birch
#

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.

terse vortex
#

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).

robust gyro
#

There's no issues with turning this mod on and off in saves because it's lua right?

terse vortex
#

Factory Reset also stops the mod from doing its thing until you turn the setting back off.

pulsar birch
#

Something like that:

    local status, path = nearby.findPath(
            actor.position,
            object.position,
            { agentBounds = types.Actor.getPathfindingAgentBounds(actor) })
    return status == nearby.FIND_PATH_STATUS.Success
silk nacelle
#

I think GoHome is one of my favorite OpenMW lua mods

keen flax
#

Me too

terse vortex
#

Hey, thanks! ❀️

terse vortex
# pallid gyro Not had a chance to playtest yet, but it's on my todo list πŸ™‚

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).

terse vortex
pallid gyro
terse vortex
#

Cool no worries πŸ™‚

pallid gyro
#

4am in Gnisis and it's raining. No one seems to be home?

terse vortex
#

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)

pallid gyro
#

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.

terse vortex
#

Quite a few NPCs in Sadrith Mora should be affected, but IIRC there's a larger chance that merchants will stay out

pallid gyro
#

DD's musician that plays the lyre(?) seems to be in bed though - could have sworn he normally plays through the night

terse vortex
#

All of DD's NPCs should be ignored tbh

pallid gyro
#

I guess my "issue" is all on my end since I run such a heavily modded install πŸ˜…

terse vortex
#

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 πŸ˜„

pallid gyro
#

I'll go coc to Ebonheart and walk around the docks to see if there's fewer people

terse vortex
#

As for DD NPCs; that was mostly being safe about not messing with their quests. But in theory explicit quest support can be added.

pallid gyro
#

I can't tell as there's heaps of NPCs still lol

terse vortex
#

The F10 log should mention which NPCs it's going to affect

pallid gyro
#

ignore the ori to the left

terse vortex
#

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.

pallid gyro
#

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!

pallid gyro
#

Oh wait never mind he's still here lol

terse vortex
#

When an actor gets disabled it'll say something like "LOS disable for: ..."

pallid gyro
terse vortex
#

What problem are we trying to solve here? πŸ˜… Are you looking to see if an NPC is being affected?

pallid gyro
#

That none of the NPCs are being disabled, but maybe I just can’t read logs πŸ˜…

terse vortex
#

Absolutely none?!

#

Some is 100% normal

pallid gyro
#

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

terse vortex
pallid gyro
#

Nice, I’ll do that just as soon as I can get back to my desk.

terse vortex
#

Sweet, thanks for trying the mod! πŸ™‚

pallid gyro
#

Thanks for making all the awesome stuff you do!

#

Harvest Lights is a must have imo

terse vortex
#

Hey I'm glad you noticed my work and enjoy it! ❀️

pallid gyro
#

Okay so this mod doesn't affect the Orc in Balmora then it appears

#

Nord lady and Argonian in Balmora also unmanaged

keen flax
#

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

pallid gyro
keen flax
#

Hmm not sure, my omw is from a couple of days ago though

pallid gyro
#

I'm using RC3 I think

silk nacelle
terse vortex
# pallid gyro Nord lady and Argonian in Balmora also unmanaged

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?

pallid gyro
#

Just BCOM as far as I know. Other than quest mods that might touch the cells

terse vortex
#

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.

keen flax
#

This is interesting, I tried to replicate but I can't. The only people who didn't get disabled were the sleepers in Balmora

terse vortex
#

Which, that also is changed in the dev build sipsshein

#

In the dev build, now everyone in Balmora should go home.

#

||sleepers won't get disabled once you start the related quest though||

keen flax
#

Oh awesome, that's for the next release correct?

terse vortex
#

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

pallid gyro
terse vortex
#

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
pallid gyro
#

Ah I’ll try that first then πŸ™‚

keen flax
pallid gyro
#

Nothing Go Home loading oddly enough

#

Will try new game

#

How odd... The script is enabled as far as I can tell.

terse vortex
# pallid gyro 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

terse vortex
# pallid gyro

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).

terse vortex
# lyric shore

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!

terse vortex
keen flax
#

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

pallid gyro
terse vortex
terse vortex
keen flax
#

No problem I'm glad I could help. Let me know if I can do anything else to help my friend

terse vortex
#

I've made a couple tweaks to the code that teleports to hopefully stop that

keen flax
terse vortex
#

Much appreciated!!

terse vortex
keen flax
terse vortex
#

Yeah I personally can't play with pause anymore πŸ™‚

keen flax
terse vortex
#

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.

keen flax
#

Thank you very much

terse vortex
#

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 todd

keen flax
#

That makes sense, I only caught the issue when she was leaving her house, I saw her kinda jump and teleport

terse vortex
#

I never was able to see it happen for whatever reason, which is why it was painful to see where it broke.

keen flax
#

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

terse vortex
#

Yeah same πŸ˜„

lyric shore
#

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

terse vortex
#

No worries, take your time πŸ™‚

pallid gyro
#

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! πŸ™‚

keen flax
#

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

pallid gyro
#

Should Anvil NPCs be going home too?

terse vortex
terse vortex
# pallid gyro Should Anvil NPCs be going home too?

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! πŸ™‚

pallid gyro
#

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.

pallid gyro
terse vortex
#

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 πŸ™‚

terse vortex
#

Just checked Anvil and I see 32 NPCs that should be getting handled

pallid gyro
#

Looks like Anvil is working too πŸ™‚

terse vortex
#

Nice! datchim

#

I'll add lelimule's FR language support stuff and do a release tonight (most likely)

terse vortex
#

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!)

Download it here!

pallid gyro
kindred dagger
#

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?

terse vortex
# kindred dagger Hi johnny! A few questions: - You put "Sadrith Mora, Wolverine Hall: Mage's Gui...
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! πŸ™‚

kindred dagger
#

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... Β£:^)
terse vortex
eager basalt
#

Thanks for this fantastic mod

#

One question though

#

Is it intentional that fargoth never goes to his houseπŸ˜…?

terse vortex
#

Nope, he should be supported

#

He's going home in the video I made for the mod πŸ™‚

#

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!

eager basalt
#

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

terse vortex
#

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

terse vortex
kindred dagger
#

Ok, i did a rapid test: it seems to work. Good job.

terse vortex
#

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

kindred dagger
#

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... Β£:^)

terse vortex
#

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.

kindred dagger
eager basalt
#

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

eager basalt
#

I'm an absolute idiot

#

I set the minimum distance to 8000

#

Everything works fine now

terse vortex
#

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

robust gyro
#

These threads need to have an option to go to top to actually get the mod link πŸ˜…

#

oh one appeared!

robust gyro
#

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" ?

terse vortex
#

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?

robust gyro
robust gyro
#

I think it just said going home?

terse vortex
#

Thanks, I'll look into it!

terse vortex
#

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!

robust gyro
#

No problem I'm good at breaking stuff

terse vortex
#

It's an under-appreciated skill! πŸ˜‚

robust gyro
#

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

terse vortex
#

I have plans to make indoor NPCs come out/go home - that could definitely include some handling for shop owners

robust gyro
#

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 sadcat

terse vortex
robust gyro
#

he was closed 2 days in a row

#

lazy maormer

#

no wonder he was in prison

#

Send that malingerer back where he came from!

terse vortex
# robust gyro he was closed 2 days in a row

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.

terse vortex
#

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.esp plugin

Download it here!

keen flax
#

Thank you for the update, my friend

gloomy elk
#

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

terse vortex
#

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.

terse vortex
#

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

gloomy elk
#

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

terse vortex
#

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

gloomy elk
#

does she get teleported all the way back to her bedroom everytime, or does she stay somewhere else or just get disabled?

trim matrix
#

Enabled the debug logging, but no log spam in lua window. How could I debug this issue?

trim matrix
#

OK, enabled very verbose mode. What do messages like this mean?

GoHome VeryVerbose : Retrying enable for ID 0xa009ca8
trim matrix
#

OK, I may have found the culprit. The suspect is "RUN!".

#

Could it be, that FOV manipulation breaks Go Home?

terse vortex
terse vortex
terse vortex
terse vortex
trim matrix
#

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.

terse vortex
#

Thanks for letting me know -- please try the latest version and let me know if it persists!

terse vortex
trim matrix
#

Thanks for the information. Already updated, gonna try it.

obsidian barn
#

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.

mellow nest
#

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.

terse vortex
obsidian barn
#

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.

terse vortex
robust gyro
#

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?

terse vortex
#

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.

robust gyro
terse vortex
#

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.

terse vortex
#

Thanks!

indigo jay
#

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.

#

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

terse vortex
# indigo jay

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.

indigo jay
#

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

terse vortex
#

Thanks for the feedback! I'll take a look at the mod internals to try and track down what's going on.

indigo jay
#

Thank you!

terse vortex
#

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.

obsidian barn
terse vortex
#

Can you please share your openmw.log with me? It's enough to launch the game, walk around for a few seconds, then quit.

obsidian barn
#

Where would I find the openmw.log file?

terse vortex
#

Documents/My Games/OpenMW/openmw.log

obsidian barn
terse vortex
#

Much appreciated

obsidian barn
#

wel that's..... not right. That includes logs from the previous boot where I disabled Go Home. Let me try again

indigo jay
terse vortex
terse vortex
terse vortex
#

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 πŸ˜…

obsidian barn
terse vortex
#

Yeahh that'd be great

obsidian barn
# terse vortex 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.

terse vortex
#

Awesome thanks a bunch

terse vortex
obsidian barn
#

I had so much trouble getting the mod series to work at all, I'm nervous about re-downloading anything......

terse vortex
#

Fair enough

obsidian barn
#

would it just be drag and drop files?

#

or would I have to open powershell again?

terse vortex
#

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.

terse vortex
obsidian barn
#

ok, in game getting that log now

terse vortex
#

Thanks a bunch for working through this with me!

obsidian barn
#

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

terse vortex
obsidian barn
#

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.

potent girder
#

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?

terse vortex
#

Ryan's got a bit of a different issue than that, still working out what's up there.

potent girder
#

Gotcha. I’ll swap that in now. Thank you! Big fan of your work ✌️

terse vortex
# obsidian barn I waiting until night, then to day. One additional door locked out of the 6 I wa...

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 sadcat
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!

terse vortex
#

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 πŸ˜…

obsidian barn
#

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

terse vortex
#

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.

potent girder
#

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.

potent girder
#

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

terse vortex
potent girder
#

No prob! Cheers πŸ₯‚

terse vortex
#

Cheers! 🍻

keen flax
#

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

terse vortex
#

Cool thanks as always for the feedback zsouza13!

terse vortex
#

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 District to the list of doors that shouldn't lock
  • [Locking Doors] Fixed a problem that prevented the mod's internal data from being properly saved

Download it here!

indigo jay
terse vortex
#

Awesome thanks a bunch for confirming that!

meager mason
terse vortex
#

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
meager mason
#

oups my bad, seems it was the bad weather that kept the npcs at home

#

πŸ˜…

kindred dagger
obsidian summit
#

And the related secret door in ald skaar for a redoran quest

#

iirc

gloomy elk
#

question: does to NPCs use AiActivate on the doors to their own homes in order to enter/exit them at night and the morning?

pulsar birch
#

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 ?
eternal current
#

Running into lots of problems where houses including shops donβ€˜t unlock irregardless of time and weather

tall rapids
#

Maybe the word "DIstrict" should be a globally blacklisted word for locked doors?

kindred dagger
pulsar birch
kindred dagger
pulsar birch
#

yes, or rather:

door.type == types.Door
kindred dagger
harsh canyon
#

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:

  1. I have 0.49 latest daily build
  2. I started a new game
  3. I do not use any of conflicting mods
  4. I checked the npc with appropriate commands and it gives a blank debug message

Any help is much appreciated

kindred dagger
harsh canyon
harsh canyon
kindred dagger
#

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?

blazing gyro
#

does Door Locking not affect shops in the latest TR/Cyrodiil?

kindred dagger
night charm
harsh canyon
hidden crescent
#

@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

Nexus Mods :: Morrowind

Fixed version of LDones beautiful Nighttime Door Locks mod that wasn't here on Nexus. Does what it says.

night charm
night charm
kindred dagger
# hidden crescent Okay so since the door locking mechanic wasn't working I used Go Home alongside ...

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.

Nexus Mods :: Morrowind

This mod allows to use brute force to open most doors and containers. It also locks the doors of most shopkeepers/NPCs/Guilds at night (optional and editable, activated by default). Breaking locks is

somber nebula
#

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

terse vortex
#

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 πŸ™‚

terse vortex
trim matrix
#

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?

terse vortex
trim matrix
#

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).

terse vortex
#

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)
terse vortex
#

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 clothier to catch previously missed doors
  • [Locking Doors] Worked around a Lua API quirk that causes some doors to return nil for types.Door.objectIsInstance()
  • [Locking Doors] Added more logging around when a door doesn't unlock (and explain why)

Download it here!

harsh canyon
#

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

terse vortex
#

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 luag and press enter
  • Type I.GoHome.IsActive() and press enter
    It will say true if the mod is enabled.
mellow nest
harsh canyon
#

oh my bad

#

moment

#

Hmm...

terse vortex
#

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).

mellow nest
terse vortex
#

Might need to add that door to the blacklist, thanks Sophie! Maybe only with that mod installed πŸ€”

terse vortex
terse vortex
trim matrix
#

I mean, it's not like she exists only for 1 quest .

kindred dagger
#

Hi johnny!
I test GoHome in Seyda; there is some pbs:

  1. "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)

  2. Once a NPC is "disabled" with "No Disable Chance Number", GoHome never handle him again. It's over. (Even with the default setting (10))

  3. 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.

  4. 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

terse vortex
#

Hey lelimule! Thanks for the writeup, I'll take a look at these!!

#
  1. 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.

kindred dagger
#

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...

terse vortex
#

Ah, thank you for clarifying! I'll handle that.

#

Combat in general causes it, makes sense.

kindred dagger
#

@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?
terse vortex
#

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.

#

Also, regarding this:

  1. 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.

#
  1. "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?
exotic thorn
#

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

terse vortex
#

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)

terse vortex
#

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.

terse vortex
#

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.esm NPC)

Download it here!

Nexus Mods :: Morrowind

Allows travel to Mournhold before the Dark Brotherhood attacks begin.

#

Download link is borked, fixing that now πŸ˜… Fixt!

kindred dagger
#

@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. πŸ™

terse vortex
#

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 πŸ˜…

kindred dagger
#

@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. πŸ₯Έ

terse vortex
flint socket
#

Would it be possible to create localization patches for other languages? By the way, I can help translate cell and NPC names if needed.πŸ₯Ή

fluid forge
#
karmic wadi
#

Have you considered a trespassing system, @terse vortex ? πŸ˜‰

keen flax
#

Ohh I like that idea

forest quest
#

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)

potent birch
#

Is it safe for a middle playthrough?

quasi charm
#

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

rose anchor
#

it seems to re-adjust things automatically even when upgrading between versions of the mod

#

it resets the actors positions

polar dust
#

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?

terse vortex
terse vortex
terse vortex
terse vortex
terse vortex
quasi charm
terse vortex
#

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.

quasi charm
quasi charm
#

If you set ownership on the door, you'd have to unset it on unlock to keep compatibility

terse vortex
#

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

terse vortex
#

Ah yeah, door records are read-only in 0.49 sadcat
So I can't change owners.

terse vortex
#

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.

quasi charm
#

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

terse vortex
#

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

quasi charm
#

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

terse vortex
#

So something like:

I.GHLD.IsLocked(doorID)
quasi charm
#

that would be great πŸ™‚

terse vortex
#

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.

quasi charm
#

Apparently 0.49 lets you set ownership datchim datchim

terse vortex
#

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!

#

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 todd

quasi charm
#

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

terse vortex
#

There's two approaches I can try for that:

  1. 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.
  2. 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!

pulsar birch
#

For option 1, I thought nearby functions works on local scripts for any game object

terse vortex
#

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 todd

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

terse vortex
#

Forwarding this here so it doesn't get lost in the backscroll

bronze skiff
#

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

karmic wadi
#

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

bronze skiff
#

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

bronze skiff
zenith granite
#

@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.

bronze skiff
#

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

zenith granite
bronze skiff
#

ah OK I see, yeah that looks good, did you try it?

zenith granite
#

I wasn't sure if that was right (especially with the [NoDelete] tag

bronze skiff
#

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

zenith granite
#

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?

bronze skiff
#

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

karmic wadi
#

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?

terse vortex
#

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 πŸ˜…

karmic wadi
#

BCOM is included in EV modlist. I haven't removed it via customizations.

terse vortex
#

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.

bronze skiff
#

Nords Shut Your Windows adds window shutters and they get stuck on them a lot too πŸ˜…

terse vortex
#

lmao! I've not seen that

karmic wadi
#

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?

terse vortex
#

I'm just ramping back up after being on hiatus but I will look into these and other issues.

terse vortex
bronze skiff
#

lots going on

karmic wadi
#

Foxunder flooded the Nexus with cool mods in the last 2 months or so πŸ˜„

terse vortex
terse vortex
#

The safe places thing is something that's been suggested

#

The author claims it has better pathfinding... how? πŸ€”

trail parcel
#

He's not active on discord, but quite responsive on nexus

#

And was happy to share stuff last we spoke

karmic wadi
#

Dralcea Arethi in Balmora always chooses balcony exit when going out of the house and gets stuck there todd

trail parcel
#

She just likes the view

kindred dagger
#

For me, Dralcea Arethi doesn't go home; she disapears as if she has no home in Balmora. I wonder why this bug occurs...

trail parcel
kindred dagger
#

But she has a home in Balmora...

trail parcel
#

ah. You meant "as if"

#

yeah, not sure

kindred dagger
#

Yes, as if... πŸ˜…

terse vortex
kindred dagger
# terse vortex 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...

terse vortex
#

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.

trail parcel
#

translated versions strike again

pulsar birch
kindred dagger
kindred dagger
pulsar birch
kindred dagger
terse vortex
#

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.

trail parcel
#

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

terse vortex
#

I'd like to support as many languages as possible tbh

trail parcel
#

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

kindred dagger
#

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```
.
terse vortex
#

Thank you @kindred dagger ! I'll be working on an update soon and will incorporate your feedback!! ❀️

terse vortex
#

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!

kindred dagger
# terse vortex > For a long time i think this unknownCount brings pbs and useless complexity. I...

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).

terse vortex
#

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.

karmic wadi
#

Tauryon in Ald'ruhn also gets stuck near his home. Redoran architecture seems to be a problem for pathfinding.

quasi charm
#

Should get the path curve when they are stuck and teleport them forward along the curve by some amount

kindred dagger
karmic wadi
#

A similar issue appears in Gnisis.

kindred dagger
keen flax
#

I know Johnny has been working hard on the next update, which will have improved pathfinding and more features. It'll be awesome

karmic wadi
#

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 πŸ˜… .

terse vortex
#

@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).

terse vortex
pulsar birch
karmic wadi
terse vortex
#

Cool thanks for letting me know!

terse vortex
karmic wadi
terse vortex
#

Thank you! Will do πŸ‘€

terse vortex
terse vortex
terse vortex
#

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 Wander is active (should be Travel)
  • 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 todd

terse vortex
#

Well, it actually doesn't work in 0.49 πŸ€”

#

Cirtiel just keeps walking.

karmic wadi
#

I thought your indev ver was 0.51

#

the issues I mentioned were on 0.50 save with live Go Home version

terse vortex
#

I decided to not make it 0.51 exclusive.

karmic wadi
#

Ok

terse vortex
#

I'll also try it with 0.50

quasi charm
#

Teleporting when stuck is a great solution imo

#

Play the little recall vfx 😁

pulsar birch
#

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" 😁

terse vortex
#

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.

karmic wadi
#

happy to hear that πŸ˜„

keen flax
#

Looking forward to it brother

terse vortex
#

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_delete script)
  • [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.omwaddon is 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

Download it here!

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

young anvil
#

Does this mod and lua npc schedule do similar things?

terse vortex
#

Yes, more or less the same thing. This one doesn't do the "they go to the store" thing (yet).

keen flax
#

Thank you Johnny

obtuse quiver
#

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

Nexus Mods :: Morrowind

This roleplayer-friendly mod adds the ability to recruit nearly any NPC as a companion with functional inventory sharing, as long as the proper conditions are met. OpenMW required.

#

If there's a setting I've missed on my end that I can tick to prevent this, I'd love to know

kindred dagger
#

Hi johnny!
Is there a procedure to uninstall GoHome properly? (to ensure that the NPCs are returned to their correct locations)

kindred dagger
#

I guess we just have to do a Factory Reset and then uninstall GoHome, that's it?