Difference between revisions of "ObjectReference Broken Pointer Bug"

m
added source tags to make more readable
imported>Taleden
m (missing bullet list)
imported>Egocarib
m (added source tags to make more readable)
 
Line 24: Line 24:
The log then reads:
The log then reads:


<source lang="papyrus">
  [10/25/2013 - 02:10:58PM] [SilverSwordScript < (FF000898)>] GetFormID()=-16775016, SilverPerk=[Perk < (0010D685)>]
  [10/25/2013 - 02:10:58PM] [SilverSwordScript < (FF000898)>] GetFormID()=-16775016, SilverPerk=[Perk < (0010D685)>]
  [10/25/2013 - 02:10:58PM] [SilverSwordScript <Item 3 in container  (00000014)>] GetFormID()=-16775016, SilverPerk=[Perk < (0010D685)>]
  [10/25/2013 - 02:10:58PM] [SilverSwordScript <Item 3 in container  (00000014)>] GetFormID()=-16775016, SilverPerk=[Perk < (0010D685)>]
Line 34: Line 36:
     [alias PlayerRef on quest TestQuest (0A000D6A)].TestQuest_PlayerRef_Script.OnUpdate() - "TestQuest_PlayerRef_Script.psc" Line 33
     [alias PlayerRef on quest TestQuest (0A000D6A)].TestQuest_PlayerRef_Script.OnUpdate() - "TestQuest_PlayerRef_Script.psc" Line 33
  [10/25/2013 - 02:10:58PM] [SilverSwordScript <Item 3 in container  (00000014)>] GetFormID()=0, SilverPerk=[Perk < (0010D685)>]
  [10/25/2013 - 02:10:58PM] [SilverSwordScript <Item 3 in container  (00000014)>] GetFormID()=0, SilverPerk=[Perk < (0010D685)>]
</source>


Note that the item must have a script either on its base form (as the Silver Sword does here) or on the particular cell-placed reference that the player picks up (such as Ghostblade and Zephyr), and the reference must be persistent at the moment it is dropped back into the world (as is done here by having the PlaceAtMe()-created reference stored in a running script variable at the time DropObject() is called; PlaceAtMe() can also force the created reference to be persistent, but the result is the same in this test).
Note that the item must have a script either on its base form (as the Silver Sword does here) or on the particular cell-placed reference that the player picks up (such as Ghostblade and Zephyr), and the reference must be persistent at the moment it is dropped back into the world (as is done here by having the PlaceAtMe()-created reference stored in a running script variable at the time DropObject() is called; PlaceAtMe() can also force the created reference to be persistent, but the result is the same in this test).
Anonymous user