LoD_PRC8/_module/nss/bank_util.nss
Jaysyn904 94990edc60 Initial Upload
Initial Upload
2023-09-21 21:20:34 -04:00

132 lines
2.8 KiB
Plaintext

string BANKTOKEN_1MILL = "banktoken1000000";
string BANKTOKEN_250K = "banktoken250000";
string BANKTOKEN_100K = "banktoken100000";
string BANKTOKEN_10K = "banktoken10000";
string BANKTOKEN_1K = "banktoken1000";
string FormatMoneyString(string Money)
{
string sFormated = Money;
int iLen = GetStringLength(Money);
int iPos = 3;
int iOff = 0;
while (iPos<iLen)
{
sFormated = GetStringLeft(sFormated, GetStringLength(Money)-iPos) + "," + GetStringRight(sFormated, (iPos + iOff));
iOff++;
iPos = iPos + 3;
}
return sFormated;
}
int TokenToGold(string Token)
{
int iGold = 0;
if (Token == BANKTOKEN_1MILL) iGold = 1000000;
else if (Token == BANKTOKEN_250K) iGold = 250000;
else if (Token == BANKTOKEN_100K) iGold = 100000;
else if (Token == BANKTOKEN_10K) iGold = 10000;
else if (Token == BANKTOKEN_1K) iGold = 1000;
else iGold = 0;
return iGold;
}
int HasItemInInventory(string ItemResRef, object PC, int DestroyItem)
{
object oItem = GetFirstItemInInventory(PC);
int iFound = FALSE;
// check for normal items
while (oItem != OBJECT_INVALID && iFound == FALSE)
{
if (GetResRef(oItem) == ItemResRef)
{
if (DestroyItem == TRUE)
{
DestroyObject(oItem, 0.0f);
}
iFound = TRUE;
}
else
{
oItem = GetNextItemInInventory(PC);
}
}
return iFound;
}
void ExchangeAllGoldForTokens(object PC)
{
while (GetGold(PC)>= 1000000)
{
TakeGoldFromCreature(1000000, PC);
CreateItemOnObject(BANKTOKEN_1MILL, PC);
}
while (GetGold(PC)>= 250000)
{
TakeGoldFromCreature(250000, PC);
CreateItemOnObject(BANKTOKEN_250K, PC);
}
while (GetGold(PC)>= 100000)
{
TakeGoldFromCreature(100000, PC);
CreateItemOnObject(BANKTOKEN_100K, PC);
}
while (GetGold(PC)>= 10000)
{
TakeGoldFromCreature(10000, PC);
CreateItemOnObject(BANKTOKEN_10K, PC);
}
while (GetGold(PC)>= 1000)
{
TakeGoldFromCreature(1000, PC);
CreateItemOnObject(BANKTOKEN_1K, PC);
}
}
void GetSingleToken(object oPC, string Token)
{
int iGold = TokenToGold(Token);
if (iGold>0)
{
TakeGoldFromCreature(iGold, oPC);
CreateItemOnObject(Token, oPC);
}
}
void ExchangeTokenForGold(object PC, string Token)
{
int iGold = TokenToGold(Token);
if (HasItemInInventory(Token, PC, TRUE))
{
GiveGoldToCreature(PC, iGold);
}
}
void ExampleSwitch()
{
/* int iTest = 3;
switch (iTest)
{
case 1:
ExchangeAllTokensForGold(OBJECT_INVALID);
break;
default:
ExchangeAllTokensForGold(OBJECT_INVALID);
break;
}
*/
}