Issue Data
|
Issue #25354: MinRadiantOwned10ChangeLocOnly - none error
[11/21/2018 - 05:17:06PM] error: None: is not a valid object to check distance with.
stack: [MinRadiantOwned10ChangeLocOnly (00109D73)].MinRadiantOwned10Script.RegisterForDistanceLessThanEvent() - "<native>" Line ? [MinRadiantOwned10ChangeLocOnly (00109D73)].rescript.Startup() - "C:\Users\Dr. Peter Haas\AppData\Local\Temp\PapyrusTemp\REScript.psc" Line 174 [MinRadiantOwned10ChangeLocOnly (00109D73)].MinRadiantOwned10Script.Startup() - "g:\_F4\Art\Raw\Scripts\MinRecruitQuestScript.psc" Line 230 [MinRadiantOwned10ChangeLocOnly (00109D73)].Fragments:Quests:QF_MinRadiantOwned10ChangeLo_00109D73.Fragment_Stage_0010_Item_00() - "g:\_F4\Art\Raw\Scripts\Fragments\Quests\QF_MinRadiantOwned10ChangeLo_00109D73.psc" Line 12 |
Related Issues: 27439
Now that's the stuff FO4 is infamous for: MinRadiantOwned10ChangeLocOnly extends MinRecruitQuestScript which extends REScript and it's a convoluted mess because the extensions do not properly overwrite the functionality of their parents.
If the quest runs its startup, the Startup() function on MinRecruitQuestScript is called. The first thing this does is to run the StartUp() function on the parent script, i.e. REScript, and that function tries to register for a distance event with the RE trigger because there is a RangeCheckDistance property other than zero specified. This is required because MinRadiantOwned10ChangeLocOnly, whose startup runs last, will register for a distance event with one of its quest aliases.
Remains one problem though: if RangeCheckDistance is not zero, REScript will try to register for a distance event with its myTrigger property no matter what, and this fails because there is no trigger: the minutemen quests are using the functions on REScript but they are not started from a trigger. It would have been better here to define a new property for the distance on one of the child scripts: in order to avoid kicking off special code on REScript that is predestined to fail - but they didn't. Thus, we have just another misuse of REScript here: one of its properties being used for other purposes, and not caring the least about superfluous code running as a result of that.
Will add another sanity check.
Will also make a new ticket for the unknown quest objectives, because that's an entirely different error.
Showing Comments 1 - 2 of 2