Scriptname _00E_SafeItemRemove extends Quest Hidden Function RemoveAllItemsSafeVersion(ObjectReference TransferToLoc = NONE) If Gold001 == NONE || _00E_AllAmmos == NONE Return EndIf RemoveItemsIncrementally(Gold001, TransferToLoc) Int nItems = _00E_AllAmmos.GetSize() Int i = 0 While i < nItems RemoveItemsIncrementally(_00E_AllAmmos.GetAt(i), TransferToLoc) i += 1 EndWhile If TransferToLoc == NONE PlayerREF.removeAllItems(_00E_RemoveAllItems_TrashContainer, abRemoveQuestItems = false) _00E_RemoveAllItems_TrashContainer.removeAllItems() Else PlayerREF.RemoveAllItems(akTransferTo = TransferToLoc, abRemoveQuestItems = true) EndIf EndFunction Function RemoveItemsIncrementally(Form akItem, ObjectReference TransferToLoc) Int nCount = PlayerREF.GetItemCount(akItem) If nCount > 3000000 && akItem == Gold001 _00E_PleaseRemoveMoney.Show() EndIf While nCount > 0 PlayerREF.RemoveItem(akItem, 10000, true, TransferToLoc) nCount -= 10000 EndWhile EndFunction MiscObject Property Gold001 Auto FormList Property _00E_AllAmmos Auto actor Property PlayerRef Auto ObjectReference Property _00E_RemoveAllItems_TrashContainer Auto Message Property _00E_PleaseRemoveMoney Auto