Jump to content

[LE] Treasury Script not working?


Recommended Posts

Found this treasure script here which is for Skyrim LE: https://www.nexusmods.com/skyrim/mods/85045?tab=description

 

The concept seems simple enough,but for some odd reason it's not working for both my mod OR the OG. I'm not quite sure why, but maybe one of y'all can see it?

 

Scriptname TR_treasuryScript extends ObjectReference
ObjectReference property Vaultloot01 auto
ObjectReference property Vaultloot02 auto
ObjectReference property Vaultloot03 auto
ObjectReference property Vaultloot04 auto
ObjectReference property Vaultloot05 auto
ObjectReference property Vaultloot06 auto
ObjectReference property VaultLoot07 auto
ObjectReference property VaultLoot08 auto
ObjectReference property VaultLoot09 auto
ObjectReference property Vaultloot10 auto
ObjectReference property Vaultloot11 auto
ObjectReference property Vaultloot12 auto
ObjectReference property Vaultloot13 auto
ObjectReference property Vaultloot14 auto
ObjectReference property Vaultloot15 auto
ObjectReference property Vaultloot16 auto
ObjectReference property GoldVault auto
Form gold001
int value = 0
int Function ValueChange(Form akBaseItem, int aiItemCount)
{Returns the value change from moving [aiItemCount] of [akBaseItem]}
If akBaseItem==gold001
return aiItemCount
EndIf
EndFunction
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
value += ValueChange(akBaseItem, aiItemCount)
if (value >= 1000)
Vaultloot01.enable()
elseif (value <= 999)
Vaultloot01.disable()
endif
if (value >= 5000)
Vaultloot02.enable()
elseif (value <= 4999)
Vaultloot02.disable()
endif
if (value >= 10000)
Vaultloot03.enable()
elseif (value <= 9999)
Vaultloot03.disable()
endif
if (value >= 25000)
Vaultloot04.enable()
elseif (value <= 24999)
Vaultloot04.disable()
endif
if (value >= 50000)
Vaultloot05.enable()
elseif (value <= 49999)
Vaultloot05.disable()
endif
if (value >= 100000)
Vaultloot06.enable()
elseif (value <= 99999)
Vaultloot06.disable()
endif
if (value >= 200000)
VaultLoot07.enable()
elseif (value <= 199999)
VaultLoot07.disable()
endif
if (value >= 300000)
VaultLoot08.enable()
elseif (value <= 299999)
VaultLoot08.disable()
endif
if (value >= 400000)
VaultLoot09.enable()
elseif (value <= 399999)
VaultLoot09.disable()
endif
if (value >= 500000)
Vaultloot10.enable()
elseif (value <= 499999)
Vaultloot10.disable()
endif
if (value >= 650000)
Vaultloot11.enable()
elseif (value <= 649999)
Vaultloot11.disable()
endif
if (value >= 850000)
Vaultloot12.enable()
elseif (value <= 749999)
Vaultloot12.disable()
endif
if (value >= 1000000)
Vaultloot13.enable()
elseif (value <= 999999)
Vaultloot13.disable()
endif
if (value >= 1250000)
Vaultloot14.enable()
elseif (value <= 1249999)
Vaultloot14.disable()
endif
if (value >= 1500000)
Vaultloot15.enable()
elseif (value <= 1499999)
Vaultloot15.disable()
endif
if (value >= 2000000)
Vaultloot16.enable()
elseif (value <= 1999999)
Vaultloot16.disable()
endif
Endevent
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
value -= ValueChange(akBaseItem, aiItemCount)
if (value >= 1000)
Vaultloot01.enable()
elseif (value <= 999)
Vaultloot01.disable()
endif
if (value >= 5000)
Vaultloot02.enable()
elseif (value <= 4999)
Vaultloot02.disable()
endif
if (value >= 10000)
Vaultloot03.enable()
elseif (value <= 9999)
Vaultloot03.disable()
endif
if (value >= 25000)
Vaultloot04.enable()
elseif (value <= 24999)
Vaultloot04.disable()
endif
if (value >= 50000)
Vaultloot05.enable()
elseif (value <= 49999)
Vaultloot05.disable()
endif
if (value >= 100000)
Vaultloot06.enable()
elseif (value <= 99999)
Vaultloot06.disable()
endif
if (value >= 200000)
VaultLoot07.enable()
elseif (value <= 199999)
VaultLoot07.disable()
endif
if (value >= 300000)
VaultLoot08.enable()
elseif (value <= 299999)
VaultLoot08.disable()
endif
if (value >= 400000)
VaultLoot09.enable()
elseif (value <= 399999)
VaultLoot09.disable()
endif
if (value >= 500000)
Vaultloot10.enable()
elseif (value <= 499999)
Vaultloot10.disable()
endif
if (value >= 650000)
Vaultloot11.enable()
elseif (value <= 649999)
Vaultloot11.disable()
endif
if (value >= 850000)
Vaultloot12.enable()
elseif (value <= 749999)
Vaultloot12.disable()
endif
if (value >= 1000000)
Vaultloot13.enable()
elseif (value <= 999999)
Vaultloot13.disable()
endif
if (value >= 1250000)
Vaultloot14.enable()
elseif (value <= 1249999)
Vaultloot14.disable()
endif
if (value >= 1500000)
Vaultloot15.enable()
elseif (value <= 1499999)
Vaultloot15.disable()
endif
if (value >= 2000000)
Vaultloot16.enable()
elseif (value <= 1999999)
Vaultloot16.disable()
endif
Endevent
Edited by wilwhitt56
Link to comment
Share on other sites

I don't see anything "wrong" with it, except that it only tracks gold (coins) and nothing else, and can be made much more efficient.

is it giving you any errors in the papyrus log?

Edited by rkkn
Link to comment
Share on other sites

The problem is If akBaseItem==gold001 lines doesn't proc for gold coins also i am not sure what the top int part of the script if for or how's it suppose to activate anyway here is a version I got working I tested it a little but if theres any bugs hit me with a reply and I'll try to fix, also if you wanted to do a rewrite I would move the enable/disabling to onclose and leave the on_add/remove items for just the value

 

you also have to set Miscobject Property goldcoin auto as gold001

 

ObjectReference property Vaultloot01 auto

ObjectReference property Vaultloot02 auto
ObjectReference property Vaultloot03 auto
ObjectReference property Vaultloot04 auto
ObjectReference property Vaultloot05 auto
ObjectReference property Vaultloot06 auto
ObjectReference property VaultLoot07 auto
ObjectReference property VaultLoot08 auto
ObjectReference property VaultLoot09 auto
ObjectReference property Vaultloot10 auto
ObjectReference property Vaultloot11 auto
ObjectReference property Vaultloot12 auto
ObjectReference property Vaultloot13 auto
ObjectReference property Vaultloot14 auto
ObjectReference property Vaultloot15 auto
ObjectReference property Vaultloot16 auto
Miscobject Property goldcoin auto
ObjectReference property GoldVault auto
Form gold001
int value = 0
int Function ValueChange(Form akBaseItem, int aiItemCount)
{Returns the value change from moving [aiItemCount] of [akBaseItem]}
If akBaseItem== gold001
return aiItemCount
EndIf
EndFunction
Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
if (akBaseItem as miscobject) == goldcoin
value += aiItemCount
if (value >= 1000)
Vaultloot01.enable()
elseif (value <= 999)
Vaultloot01.disable()
endif
if (value >= 5000)
Vaultloot02.enable()
elseif (value <= 4999)
Vaultloot02.disable()
endif
if (value >= 10000)
Vaultloot03.enable()
elseif (value <= 9999)
Vaultloot03.disable()
endif
if (value >= 25000)
Vaultloot04.enable()
elseif (value <= 24999)
Vaultloot04.disable()
endif
if (value >= 50000)
Vaultloot05.enable()
elseif (value <= 49999)
Vaultloot05.disable()
endif
if (value >= 100000)
Vaultloot06.enable()
elseif (value <= 99999)
Vaultloot06.disable()
endif
if (value >= 200000)
VaultLoot07.enable()
elseif (value <= 199999)
VaultLoot07.disable()
endif
if (value >= 300000)
VaultLoot08.enable()
elseif (value <= 299999)
VaultLoot08.disable()
endif
if (value >= 400000)
VaultLoot09.enable()
elseif (value <= 399999)
VaultLoot09.disable()
endif
if (value >= 500000)
Vaultloot10.enable()
elseif (value <= 499999)
Vaultloot10.disable()
endif
if (value >= 650000)
Vaultloot11.enable()
elseif (value <= 649999)
Vaultloot11.disable()
endif
if (value >= 850000)
Vaultloot12.enable()
elseif (value <= 749999)
Vaultloot12.disable()
endif
if (value >= 1000000)
Vaultloot13.enable()
elseif (value <= 999999)
Vaultloot13.disable()
endif
if (value >= 1250000)
Vaultloot14.enable()
elseif (value <= 1249999)
Vaultloot14.disable()
endif
if (value >= 1500000)
Vaultloot15.enable()
elseif (value <= 1499999)
Vaultloot15.disable()
endif
if (value >= 2000000)
Vaultloot16.enable()
elseif (value <= 1999999)
Vaultloot16.disable()
endif
endif
Endevent
Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
if (akBaseItem as miscobject) == goldcoin
value -= aiItemCount
if (value >= 1000)
Vaultloot01.enable()
elseif (value <= 999)
Vaultloot01.disable()
endif
if (value >= 5000)
Vaultloot02.enable()
elseif (value <= 4999)
Vaultloot02.disable()
endif
if (value >= 10000)
Vaultloot03.enable()
elseif (value <= 9999)
Vaultloot03.disable()
endif
if (value >= 25000)
Vaultloot04.enable()
elseif (value <= 24999)
Vaultloot04.disable()
endif
if (value >= 50000)
Vaultloot05.enable()
elseif (value <= 49999)
Vaultloot05.disable()
endif
if (value >= 100000)
Vaultloot06.enable()
elseif (value <= 99999)
Vaultloot06.disable()
endif
if (value >= 200000)
VaultLoot07.enable()
elseif (value <= 199999)
VaultLoot07.disable()
endif
if (value >= 300000)
VaultLoot08.enable()
elseif (value <= 299999)
VaultLoot08.disable()
endif
if (value >= 400000)
VaultLoot09.enable()
elseif (value <= 399999)
VaultLoot09.disable()
endif
if (value >= 500000)
Vaultloot10.enable()
elseif (value <= 499999)
Vaultloot10.disable()
endif
if (value >= 650000)
Vaultloot11.enable()
elseif (value <= 649999)
Vaultloot11.disable()
endif
if (value >= 850000)
Vaultloot12.enable()
elseif (value <= 749999)
Vaultloot12.disable()
endif
if (value >= 1000000)
Vaultloot13.enable()
elseif (value <= 999999)
Vaultloot13.disable()
endif
if (value >= 1250000)
Vaultloot14.enable()
elseif (value <= 1249999)
Vaultloot14.disable()
endif
if (value >= 1500000)
Vaultloot15.enable()
elseif (value <= 1499999)
Vaultloot15.disable()
endif
if (value >= 2000000)
Vaultloot16.enable()
elseif (value <= 1999999)
Vaultloot16.disable()
endif
endif
Endevent
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...