边缘世界 RimWorld

边缘世界 RimWorld

RiMind
Pawns don't talk
No idea what's causing it cuz im stupid:

Root level exception in Update(): System.ArgumentNullException: Value cannot be null.
Parameter name: key
[Ref F7548459]
[0x00006] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.Collections.Generic.Dictionary`2[TKey,TValue].FindEntry (TKey key) [0x00008] in <51fded79cd284d4d911c5949aff4cb21>:0
at System.Collections.Generic.Dictionary`2[TKey,TValue].ContainsKey (TKey key) [0x00000] in <51fded79cd284d4d911c5949aff4cb21>:0
at RiMind.Service.PawnService.UpdateCacheIfNeeded (Verse.Map map) [0x00056] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Service.PawnService.GetOpenDoorsBetweenSpaces (Verse.Room roomA, Verse.Room roomB, Verse.Map map) [0x00015] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Service.PawnService.CanHearThroughDoors (Verse.Pawn speaker, Verse.Pawn listener, Verse.Room speakerRoom, Verse.Room listenerRoom, System.Single maxRange) [0x00008] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Service.PawnService.CanHearEachOther (Verse.Pawn speaker, Verse.Pawn listener) [0x000a4] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Service.PawnService+<>c__DisplayClass30_0.<GetNearByPawnsList>b__3 (Verse.Pawn colonist) [0x00000] in <d56d1ba53cbe440194dd408d20f8a093>:0
at System.Linq.Utilities+<>c__DisplayClass1_0`1[TSource].<CombinePredicates>b__0 (TSource x) [0x0000e] in <1f993cbf88314b1baa1e10ca917bdc64>:0
at System.Linq.Enumerable+WhereListIterator`1[TSource].ToList () [0x00017] in <1f993cbf88314b1baa1e10ca917bdc64>:0
at System.Linq.Enumerable.ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <1f993cbf88314b1baa1e10ca917bdc64>:0
at RiMind.Service.PawnService.GetNearByPawnsList (Verse.Pawn pawn) [0x000cb] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Data.PawnState.UpdateTalkUrgency () [0x00077] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Service.TalkService.UpdateAndTriggerTalks () [0x00055] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Patch.TickManager_DoSingleTick.HandleTalkGeneration () [0x00010] in <d56d1ba53cbe440194dd408d20f8a093>:0
at RiMind.Patch.TickManager_DoSingleTick.Postfix () [0x00027] in <d56d1ba53cbe440194dd408d20f8a093>:0
at Verse.TickManager.DoSingleTick () [0x003d4] in <24d25868955f4df08b02c73b55f389fe>:0
- PREFIX OskarPotocki.VEF: Void VEF.Maps.VanillaExpandedFramework_DoSingleTick_Patch:Prefix(Stopwatch& __state)
- POSTFIX OskarPotocki.VEF: Void VEF.Maps.VanillaExpandedFramework_DoSingleTick_Patch:Postfix(Stopwatch __state)
- POSTFIX cj.RiMind: Void RiMind.Patch.TickManager_DoSingleTick:Postfix()
at Verse.TickManager.TickManagerUpdate () [0x00087] in <24d25868955f4df08b02c73b55f389fe>:0
at Verse.Game.UpdatePlay () [0x00018] in <24d25868955f4df08b02c73b55f389fe>:0
at Verse.Root_Play.Update () [0x00032] in <24d25868955f4df08b02c73b55f389fe>:0
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition:Verse.Log.Error_Patch3 (string)
Verse.Root_Play:Update ()
< >
正在显示第 1 - 2 条,共 2 条留言
SNAC  [开发者] 9 月 6 日 上午 12:37 
I'll check this. thx!
SNAC  [开发者] 9 月 6 日 上午 12:50 
In RimWorld, being outdoors is considered null: If a pawn is indoors, pawn.GetRoom() returns a Room object, but if they are outdoors, it returns null.

A Dictionary's Key cannot be null: In C#, a dictionary uses a key to find a value. If you try to use null as this key, you'll get an ArgumentNullException error, which essentially means "I don't know which key to look for."

I suspect this is the problem and will now begin to work on a fix.
< >
正在显示第 1 - 2 条,共 2 条留言
每页显示数: 1530 50