132 lines
2.8 KiB
Plaintext
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;
|
|
}
|
|
*/
|
|
}
|