45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
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
|