Initial Upload
Initial Upload
This commit is contained in:
131
_module/nss/bank_util.nss
Normal file
131
_module/nss/bank_util.nss
Normal file
@@ -0,0 +1,131 @@
|
||||
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;
|
||||
}
|
||||
*/
|
||||
}
|
||||
Reference in New Issue
Block a user