边缘世界 RimWorld

边缘世界 RimWorld

Real Ruins
Jirro 2019 年 2 月 16 日 下午 9:15
Incompatibility with Locks (DoorsExpanded)
Latest update seems to have broken it for me and several others. Pawns cant seem to path through doors spawned in by Real Ruins.
< >
正在显示第 1 - 10 条,共 10 条留言
MR. TETEREW  [开发者] 2019 年 2 月 17 日 上午 2:18 
Could you please give a bit more background? For me all doors in ruins are spawned as locked, but I can claim them, unlock and use normally (like in vanilla game). Probably that's not just locks and doors problems, but a combination of several mods at once. Anyway, more info will be very useful.
Jirro 2019 年 2 月 18 日 上午 10:10 
Of course! It seems that for some reason anytime realruins spawns in a door while Locks (DoorsExpanded) is also active it throws a constant log spam similar to "System.NullReferenceException: Object reference not set to an instance of an object at LocksDoorsExpanded.LockUtility.PawnCanOpen (RimWorld.Building_Door,Verse.Pawn) <0x000de>" for any pawns and animals on the map. In my experience it causes things to break in such a way that the pawns will sit around doing almost nothing, such as refusing to eat/cook meals, which I assume is due to the logspam gunking up the works, but I know almost nothing about modding rimworld. What is even stranger, at least for me, is that turning on god mode and deleting all doors on the map causes the error spam to go away, but turns the screen gray and soft-locks the game.

I will also mention that it looks like this was mentioned to the creator of Locks (DoorsExpanded), but he said that he doesn't have time to focus on correcting at the moment due to work on the Prison Labor mod, but I thought I would mention it here in case others were having a similar issue and were wondering what was up/



Thank you!
SebSeb 2019 年 2 月 18 日 下午 4:08 
I'm not entirely sure how it works but it seems it spawn a invisible thingie that's supposed to be linked to de door but when generated through Real Ruins often get a null reference. I make a save and clean the objects from the save file and reload to get rid of the issue. The def is "HeronInvisibleDoor" and it needs a parent door (which is what's null). At least that's the issue I've had
Jirro 2019 年 2 月 19 日 上午 7:36 
引用自 SebSeb
I'm not entirely sure how it works but it seems it spawn a invisible thingie that's supposed to be linked to de door but when generated through Real Ruins often get a null reference. I make a save and clean the objects from the save file and reload to get rid of the issue. The def is "HeronInvisibleDoor" and it needs a parent door (which is what's null). At least that's the issue I've had

Thanks for the fix! That 100% solved the issue for me.
Lamentaria 2019 年 2 月 23 日 上午 2:44 
Hey, so how do you go about fixing this? I'm not really knowledgeable with coding and figure it might be handy to add the steps to this thread for people like myself who might not be able to fully pick up what they need to do.

What is it that you need to change the parent door area to?
Or are there other steps you also need to take?
SebSeb 2019 年 2 月 23 日 上午 7:11 
Sure. When you ancounter this issue:
  1. Make a save
  2. Open the save in your text editor of choice (The options in Rimworld have a "OPen save data folder" button
  3. Search the file for "HeronInvisibleDoor". You'll find something that looks sort of like this:
    <thing Class="DoorsExpanded.Building_DoorRegionHandler"> <def>HeronInvisibleDoor</def> <id>HeronInvisibleDoor264319</id> <map>0</map> <pos>(144, 0, 119)</pos> <faction>Faction_1149</faction> <lastFriendlyTouchTick>3279131</lastFriendlyTouchTick> <Locks_LockData_Owners_current /> <Locks_LockData_Owners_wanted /> <parentDoor>Thing_PH_DoorThickBlastDoor264126</parentDoor> </thing>
  4. If parentDoor says "null" delete the entire block, from "<thing", to "</thing>".
  5. Repeat until you've gone through the file
  6. Save your changes and reload the save

I hope those instruction are clear enough to follow
最后由 SebSeb 编辑于; 2019 年 2 月 23 日 上午 7:13
Lamentaria 2019 年 2 月 23 日 上午 9:22 
Oh, I thought you had to replace the null with a parent object but that makes more sense.

Thank you very much for the help!
MR. TETEREW  [开发者] 2019 年 3 月 1 日 下午 9:10 
I've made some compatibility fixes, so I hope it will make it better (I haven't seen any similar bugs after the fix)
Lamentaria 2019 年 3 月 5 日 下午 3:52 
I appear to still be having the issue, though when I try to search through the save file "HeronInvisibleDoor" can't be found so I'm unsure how to fix it.
bonesbro 2019 年 3 月 25 日 下午 8:07 
I can confirm that I have the same bug. The crash callstack always looks like this:

System.NullReferenceException: Object reference not set to an instance of an object
at LocksDoorsExpanded.LockUtility.PawnCanOpen (RimWorld.Building_Door,Verse.Pawn) <0x000de>
at (wrapper dynamic-method) RimWorld.Building_Door.PawnCanOpen_Patch1 (object,Verse.Pawn) <0x00073>
at (wrapper dynamic-method) RimWorld.Building_Door.CanPhysicallyPass_Patch1 (object,Verse.Pawn) <0x00079>

A good way to repro this is to turn the region spawn rate way up (I used 15x) and start a new colony. You will likely see the error immediately.

My save file also has HeronInvisibleDoor defs with null parentDoors, just like SebSeb reported, and I'll try deleting them and loading that save.

edit: Yes, SebSeb's workaround of deleting those <things> fixed it for me too.
最后由 bonesbro 编辑于; 2019 年 3 月 25 日 下午 8:21
< >
正在显示第 1 - 10 条,共 10 条留言
每页显示数: 1530 50