Problem: Scripped dropped item changes ownership?

Post » Thu Nov 22, 2012 7:21 am

In the discussion thread of http://skyrim.nexusmods.com/downloads/file.php?id=11322 a user complained that his exquisite dwarfen shield was flagged as 'pick up to steal' when dropped by my mod in an owned cell.

Indeed I can reproduce this using his savegame (but not trigger this behaviour in my own game): The shield is
  • not flagged as stolen in the inventory,
  • is not flagged as another's property when dropped manually,
  • is flagged as another's property ('steal item' text) but only when dropped by my mod
  • and then has the stolen hand symbol after pickup.
The code responsible for dropping the item is this:
Spoiler
  ; drop, move object to prevent disappearing, silently disappear bound arrows  if ( nDropNow > 0 )	DroppedObject = Player.DropObject(ThisItem, nDropNow)		Count = -1		if ( DroppedObject )			Count = 0			While ( !DroppedObject.Is3DLoaded() && (Count < 10) )				Utility.Wait(0.1)				Count = Count + 1			EndWhile		endif	if ( ThisItem.HasKeyword(WeapTypeBoundArrow) )	  DroppedObject.Disable()	else	  DroppedObject.MoveTo(Player, \						   120 * Math.Sin(Player.GetAngleZ()), \						   120 * Math.Cos(Player.GetAngleZ()), \						   0.7 * Player.GetHeight())	endif

I cannot imagine why this code should cause a change in item ownership.

As I said, I've tested using this player's savegame but without most of the mods he additionally uses (see his post in the mod's discussion thread). However, after a clean save Papyrus.log still lists a lot of savegame remnants it cannot load, so I cannot say for sure that there is not another mod involved.

Does anyone have a idea? Are there Papyrus or SKSE commands to determine item ownership in-script to see when it changes?

Thanks in advance
User avatar
(G-yen)
 
Posts: 3385
Joined: Thu Oct 11, 2007 11:10 pm

Return to V - Skyrim