Dev build/Linux: ArgumentOutOfRange exception talking to NPC (maybe QuestPack triggered) [UNREPRODUCIBLE]

Locked
User avatar
pango
Posts: 3358
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Dev build/Linux: ArgumentOutOfRange exception talking to NPC (maybe QuestPack triggered) [UNREPRODUCIBLE]

Post by pango »

I trigger ArgumentOutOfRangeException trying to talk to some NPC in the tavern The Unfortunate Hedgehog of Celiburea, Alik'R desert.

Code: Select all

ArgumentOutOfRangeException: Argument is out of range.
Parameter name: index
  at System.Collections.Generic.List`1[DaggerfallWorkshop.Game.UserInterface.ListBox+ListItem].get_Item (Int32 index) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.ListBox.GetItem (Int32 index) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.DaggerfallTalkWindow.ButtonLogbook_OnMouseClick (DaggerfallWorkshop.Game.UserInterface.BaseScreenComponent sender, Vector2 position) [0x00000] in <filename unknown>:0 
  at (wrapper delegate-invoke) DaggerfallWorkshop.Game.UserInterface.BaseScreenComponent/OnMouseClickHandler:invoke_void__this___BaseScreenComponent_Vector2 (DaggerfallWorkshop.Game.UserInterface.BaseScreenComponent,UnityEngine.Vector2)
  at DaggerfallWorkshop.Game.UserInterface.BaseScreenComponent.MouseClick (Vector2 clickPosition) [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.BaseScreenComponent.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.Panel.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.Button.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.Panel.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.Panel.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.Panel.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.UserInterfaceWindow.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterfaceWindows.DaggerfallBaseWindow.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterfaceWindows.DaggerfallPopupWindow.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.UserInterface.DaggerfallTalkWindow.Update () [0x00000] in <filename unknown>:0 
  at DaggerfallWorkshop.Game.DaggerfallUI.Update () [0x00000] in <filename unknown>:0 
The HUD eventually freezes, not always talking to the same person.
Looking at the Player.log, I noticed that two quests are triggered, JHIM006 and A0C00Y16, so it could be a quest bug or a quest conflict. Either way, crashing HUD is not a good outcome.
Attachments
Player.log.zip
(9.79 KiB) Downloaded 68 times
SAVE1.zip
(250.93 KiB) Downloaded 74 times
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

User avatar
Jay_H
Posts: 4070
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Dev build/Linux: ArgumentOutOfRange exception talking to NPC (maybe QuestPack triggered)

Post by Jay_H »

In case it's relevant, here's the code for JHIM006. Some takeaways are various timers, hiding the questgiver, and an add face command.
Spoiler!
Quest: JHIM006
DisplayName: Ritual of Sanctification
-- Message panels
QRC:

QuestorOffer: [1000]
<ce> My name is _questgiver_. I recently made
<ce> the mistake of desecrating a sorceror's grave
<ce> within ___dung_, and I must now pay
<ce> the price. I seek a champion to guide me into its
<ce> depths once more, that I might break this curse.
<ce> Will you protect me in my journey, %ra?

RefuseQuest: [1001]
<ce> Then leave me to my misery,
<ce> lest the curse strike you too.

AcceptQuest: [1002]
<ce> Thank you, %pcn. I have my
<ce> things packed now, and we will leave immediately.
<ce> I did not tell you that the curse will cause skeletal
<ce> apparitions to rise against us every few hours,
<ce> as I can tell that such presents no great difficulty
<ce> for one such as yourself. The same cannot be said
<ce> for my family, who also suffer. I must hasten to free
<ce> them from it. %god be with us. We will find the
<ce> _relig_ on the floor therein, which you must
<ce> take into your hands. We will speak again at that time.
<ce> Let my family be free within =timer_ days, my guardian.

QuestFail: [1003]
<ce> "We agreed to have this finished within =timer_ days.
<ce> Each passing day puts my family in further danger.
<ce> I must finish this myself and waste no more time."
<ce>
<ce> _questgiver_ departs
<ce> without further comment.

QuestComplete: [1004]
<ce> The curse is now over. You feel
<ce> satisfaction as you take your reward.

Message: 1010
<ce> "Thank you, %ra. With that _relig_
<ce> removed, the curse is now almost over.
<ce> It will nevertheless require one more act.
<ce> I must satisfy the warlock's vengeance with
<ce> my own life. Please do this quickly and
<ce> painlessly. You can collect your payment
<ce> from my pockets once I am dead."
<ce>
<ce> _questgiver_ kneels on the
<ce> floor, eyes closed. Will you slay %g2?

Message: 1011
<ce> "Then I will find some savage creature
<ce> to do it for me. I thank you for bringing
<ce> me thus far, even if you could not bear
<ce> to kill me. %god watch over you
<ce> as you leave this place."
<ce>
<ce> _questgiver_ sighs heavily
<ce> and hurries into the darkness.

Message: 1012
<ce> You hear an agonizing scream.
<ce> It appears the curse has
<ce> taken care of itself.

Message: 1013
<ce> "Thank you, %ra. If you meet my family,
<ce> tell them you were our savior. They
<ce> will want to know your name."
<ce>
<ce> You finish it with one swift strike.

Message: 1020
<ce> "Thank you, %ra. With this _relig_
<ce> recovered, the curse is now over. I will
<ce> find my way out with the path you have
<ce> cleared. Please take this money and
<ce> my deep gratitude."
<ce>
<ce> _questgiver_ takes out
<ce> a sack of gold and tosses it to
<ce> you, waving as %g1 leaves.

Message: 1030
%qdt:
_questgiver_ has asked
me to accompany %g2 into
___dung_ to retrieve some
_relig_ which has caused a
curse to fall on %g2. Skeletons
will attack him until we solve it.
We have =timer_ days.

QBN:
Item _reward_ gold range 300 to 500
Item _relig_ religious

Person _questgiver_ group Questor male

Place _dung_ remote dungeon

Clock _timer_ 00:00 0 flag 17 range 0 2
Clock _death_ 00:05 00:08

Foe _skel_ is Skeletal_warrior
Foe _skel2_ is Skeletal_warrior

-- Quest start-up:
start timer _timer_
log 1030 step 0
hide npc _questgiver_
add _questgiver_ face
pick one of _peace_ _sacr_
place item _relig_ at _dung_

variable _peace_
variable _sacr_

_spawn_ task:
when not _decision_
create foe _skel_ every 60 minutes indefinitely with 60% success
create foe _skel2_ every 120 minutes indefinitely with 20% success

_take_ task:
clicked item _relig_
drop _questgiver_ face
start task _decision_

variable _decision_
_path1_ task:
when _decision_ and _peace_
say 1020
give pc _reward_

_path2_ task:
when _decision_ and not _peace_
prompt 1010 yes _path2a_ no _path2b_

_path2a_ task:
say 1013
give pc _reward_
end quest

_path2b_ task:
say 1011
start timer _death_

_death_ task:
say 1012
end quest

_timer_ task:
say 1003
drop _questgiver_ face
end quest

_qgclicked_ task:
clicked npc _questgiver_

_clearclick_ task:
when _qgclicked_
clear _qgclicked_ _clearclick_

User avatar
Hazelnut
Posts: 3016
Joined: Sat Aug 26, 2017 2:46 pm
Contact:

Re: Dev build/Linux: ArgumentOutOfRange exception talking to NPC (maybe QuestPack triggered)

Post by Hazelnut »

I can't reproduce the problem. When I talk to NPCs in that tavern it works fine. What action is it that's causing the issue?

Maybe you could provide a different save? This one has me repositioned because terrain sampler mismatch and also fills the log with quest errors. I tried to ensure I'm running with all of JH's quests so that didn't happen but I can't get the task/var no found errors to stop even with all of the quest packs from his repo.
See my mod code for examples of how to change various aspects of DFU: https://github.com/ajrb/dfunity-mods

User avatar
pango
Posts: 3358
Joined: Wed Jul 18, 2018 6:14 pm
Location: France
Contact:

Re: Dev build/Linux: ArgumentOutOfRange exception talking to NPC (maybe QuestPack triggered)

Post by pango »

I noticed all the Q8/Q9/Q10 errors in my logs few days ago too, so I killed/restarted Warm Ashes perpetual quests.
I don't know if that's the cause of this issue; But I'm not sure I can provide more saves :oops:
Maybe that issue can be marked "not reproduced" until I (eventually) experience that exception again...
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart

Locked