Initial Upload
Initial Upload
This commit is contained in:
106
_module/nss/kpb_payloan_all.nss
Normal file
106
_module/nss/kpb_payloan_all.nss
Normal file
@@ -0,0 +1,106 @@
|
||||
////////////////////////////////////////////
|
||||
// Kittrell's Persistent Banking System //
|
||||
// Designed by: Brian J. Kittrell //
|
||||
// //
|
||||
// This script does the following: //
|
||||
// //
|
||||
// kpb_payloan_all - This script allows //
|
||||
// players to pay off a loan completely. //
|
||||
////////////////////////////////////////////
|
||||
#include "kpb_dateinc"
|
||||
void main()
|
||||
{
|
||||
object oPC = GetPCSpeaker();
|
||||
int nBalance = GetCampaignInt("kpb_bank", "KPB_LOAN_AMT", oPC);
|
||||
int nGold = GetGold(oPC);
|
||||
|
||||
int nYear = GetCampaignInt("kpb_bank", "KPB_LOAN_YEAR", oPC);
|
||||
int nMonth = GetCampaignInt("kpb_bank", "KPB_LOAN_MONTH", oPC);
|
||||
int nDay = GetCampaignInt("kpb_bank", "KPB_LOAN_DAY", oPC);
|
||||
|
||||
int iMonth = GetCalendarMonth();
|
||||
int iDay = GetCalendarDay();
|
||||
int iYear = GetCalendarYear();
|
||||
|
||||
int nOldCredit = GetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", oPC);
|
||||
int nImprovedCredit = GetCampaignInt("kpb_bank", "KPB_CREDIT_RATE", oPC);
|
||||
|
||||
string sCurrentDate = GetCurrentDate();
|
||||
string sLoanDate = GetDateString(nDay, nMonth, nYear);
|
||||
int nTotalDays = GetDateDifference(sLoanDate, sCurrentDate, "days");
|
||||
int nInterest = GetCampaignInt("kpb_bank", "KPB_CREDIT_RATE", oPC);
|
||||
int nNewInterest = ((nInterest * nBalance)/100);
|
||||
int nNewBalanceA = (nBalance + nNewInterest);
|
||||
int nNewBalanceB = (nBalance + (nNewInterest * 2));
|
||||
int nNewBalanceC = (nBalance + (nNewInterest * 3));
|
||||
int nNewBalanceD = (nBalance + (nNewInterest * 4));
|
||||
int nNewBalanceE = (nBalance + (nNewInterest * 5));
|
||||
int nNewBalanceF = (nBalance + (nNewInterest * 8));
|
||||
if (nTotalDays == 0 && nGold >= nBalance)
|
||||
{
|
||||
SpeakString("Very well. Your account didn't acquire any interest.", TALKVOLUME_TALK);
|
||||
TakeGoldFromCreature(nBalance, oPC, TRUE);
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nTotalDays >= 1 && nTotalDays <= 7 && nGold >= nNewBalanceA)
|
||||
{
|
||||
int nNewBalance = (nBalance + nNewInterest);
|
||||
TakeGoldFromCreature(nNewBalance, oPC, TRUE);
|
||||
SpeakString("You have paid " + IntToString(nNewBalance) + " gold. You now owe nothing to the bank.", TALKVOLUME_TALK);
|
||||
if (nTotalDays >= 5)
|
||||
{
|
||||
SetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", nImprovedCredit, oPC);
|
||||
}
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nTotalDays >= 8 && nTotalDays <= 14 && nGold >= nNewBalanceB)
|
||||
{
|
||||
int nNewBalance = (nBalance + (nNewInterest * 2));
|
||||
TakeGoldFromCreature(nNewBalance, oPC, TRUE);
|
||||
SpeakString("You have paid " + IntToString(nNewBalance) + " gold. You now owe nothing to the bank.", TALKVOLUME_TALK);
|
||||
int nNewCredit = nOldCredit - nImprovedCredit;
|
||||
SetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", nNewCredit, oPC);
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nTotalDays >= 15 && nTotalDays <= 21 && nGold >= nNewBalanceC)
|
||||
{
|
||||
int nNewBalance = (nBalance + (nNewInterest * 3));
|
||||
TakeGoldFromCreature(nNewBalance, oPC, TRUE);
|
||||
SpeakString("You have paid " + IntToString(nNewBalance) + " gold. You now owe nothing to the bank.", TALKVOLUME_TALK);
|
||||
int nNewCredit = nOldCredit - (nImprovedCredit * 2);
|
||||
SetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", nNewCredit, oPC);
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nTotalDays >= 22 && nTotalDays <= 28 && nGold >= nNewBalanceD)
|
||||
{
|
||||
int nNewBalance = (nBalance + (nNewInterest * 4));
|
||||
TakeGoldFromCreature(nNewBalance, oPC, TRUE);
|
||||
SpeakString("You have paid " + IntToString(nNewBalance) + " gold. You now owe nothing to the bank.", TALKVOLUME_TALK);
|
||||
int nNewCredit = nOldCredit - (nImprovedCredit * 3);
|
||||
SetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", nNewCredit, oPC);
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nTotalDays >= 29 && nTotalDays <= 36 && nGold >= nNewBalanceE)
|
||||
{
|
||||
int nNewBalance = (nBalance + (nNewInterest * 5));
|
||||
TakeGoldFromCreature(nNewBalance, oPC, TRUE);
|
||||
SpeakString("You have paid " + IntToString(nNewBalance) + " gold. You now owe nothing to the bank.", TALKVOLUME_TALK);
|
||||
int nNewCredit = nOldCredit - (nImprovedCredit * 4);
|
||||
SetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", nNewCredit, oPC);
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nTotalDays > 37 && nGold >= nNewBalanceF)
|
||||
{
|
||||
int nNewBalance = (nBalance + (nNewInterest * 8));
|
||||
TakeGoldFromCreature(nNewBalance, oPC, TRUE);
|
||||
SpeakString("You have paid " + IntToString(nNewBalance) + " gold. You now owe nothing to the bank.", TALKVOLUME_TALK);
|
||||
int nNewCredit = nOldCredit - (nImprovedCredit * 6);
|
||||
SetCampaignInt("kpb_bank", "KPB_CREDIT_AMT", nNewCredit, oPC);
|
||||
SetCampaignInt("kpb_bank", "KPB_LOAN_AMT", 0, oPC);
|
||||
}
|
||||
if (nGold < nNewBalanceA || nGold < nNewBalanceB || nGold < nNewBalanceC || nGold < nNewBalanceD || nGold < nNewBalanceE || nGold < nNewBalanceF)
|
||||
{
|
||||
SpeakString("Sorry, you do not have enough gold to pay on this loan.", TALKVOLUME_TALK);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user