583 lines
19 KiB
Plaintext
583 lines
19 KiB
Plaintext
//Treasure Chest Loot
|
|
/*
|
|
By: The Great Slayer of Gelatinous Cubes
|
|
On: 1/31/03
|
|
This generates loot in a treasure chest based on initial items placed in it
|
|
Included is a CreateLootXTimes, for easy customization
|
|
This goes in a containers on open event
|
|
|
|
Enjoy!
|
|
*/
|
|
#include "TGSOFGC_INC"
|
|
void CreateLoot(object oSelf, int iNum)
|
|
//Originally I used the local object to set the stack size
|
|
//However, while this method should work, it seems to only work the first time
|
|
//The function is called, why is still a mystery
|
|
{
|
|
int iPick = Random(iNum)+1; //The random number of the pick
|
|
string sNum = IntToString(iPick); //Convert the number into a string to use as a name
|
|
string sResref = GetLocalString(oSelf, sNum); //Get the resref stored under that number
|
|
//////These two lines are relics to a mystery I would love an answer to
|
|
// object oRef = GetLocalObject(oSelf, sNum);
|
|
// int iStack = GetNumStackedItems(oRef);
|
|
///////////////////////////////////////////////
|
|
CreateItemOnObject(sResref, oSelf, 1); //Spawn a stack size one of that loot
|
|
}
|
|
void CreateLootXTimes(int iTimes, object oChest, int iNum)
|
|
//This function is included for customization by novice scriptors whom are scared
|
|
//It Also reduces future needs to type, I am only including suport for:
|
|
//ints ranging between 0-30, if You run a function like create loot 30+ times you are asking to crash
|
|
//I recommend keeping this low, especially lower than about 15-20
|
|
//This script is dedicated to the god send of Copy+Paste
|
|
{
|
|
if(iTimes == 1){
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 2){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 3){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 4){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 5){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 6){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 7){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 8){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 9){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 10){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 11){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 12){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 13){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 14){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 15){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 16){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 17){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 18){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 19){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 20){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 21){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 22){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 23){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 24){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 25){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 26){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 27){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 28){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 29){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
if(iTimes == 30){
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
CreateLoot(oChest, iNum);
|
|
}
|
|
else{}
|
|
}
|
|
void main()
|
|
//This script goes in a container's on open event
|
|
{
|
|
object oChest = OBJECT_SELF; //The container
|
|
float fDelay = RandomFloat(1200.0)+600.0; //Respawn delay = 10-20 minutes
|
|
//float fDelay = 1.0; //This is a relic of testing
|
|
int iLocal = GetLocalInt(oChest, "switch"); //The switch local keeps track of three states, first time open/unopened = 0, will spawn treasure when opened = 1, nothing special = 2
|
|
if(iLocal == 0){ //This should only fire the first time it is opened
|
|
int iNumber = CountItemsInInventory(oChest); //This should only run once, and sets the approprait local variables for the createloot function
|
|
SetLocalInt(oChest, "items", iNumber);//Store the info above, so you don't need to run more counts
|
|
EmptyInventory(oChest);//Get rid of the initial stuff, that made up the options or loot table
|
|
CreateLoot(oChest, iNumber); //Create one peice of loot
|
|
SetLocalInt(oChest, "switch", 2); //Set to deactivate
|
|
DelayCommand(fDelay, SetLocalInt(oChest, "switch", 1)); //After the delay passes set to 1, or active
|
|
}
|
|
if(iLocal == 1){
|
|
int iNum = GetLocalInt(oChest, "items"); //Get the local int, set above so you don't need to count again. Multiple counts after the emptying and or additions wrecks the loot table
|
|
CreateLoot(oChest, iNum); //Create one peice of loot
|
|
SetLocalInt(oChest, "switch", 2);//Set it to disabled
|
|
DelayCommand(fDelay, SetLocalInt(oChest, "switch", 1));//After the delay re-enable the chest
|
|
}
|
|
else{}//if iLocal doesn't equal 1 or 0, ie 2, then it is disabled (take no special actions)
|
|
}
|