Version 1.0.4
7 downloads
TC Bank
In-game currency and banking system with GUI. Option to use tool cupboard as bank and risk currency to raiders.
Features
Currency system with wallet (on person) balance and bank balance.
Banking system with Banking GUI. (/bank).
Economics and ServerRewards support but not required.
Enable TC Raid Mode:
Tool cupboards will be used as banks themselves.
Players will be required to be in tool cupboard range to use the bank.
Players can have as many TC banks as they have tool cupboards. (Each tool cupboard can store money).
Teammates sharing a tool cupboard will have individual balances and not a shared balance.
When a tool cupboard is raided the raider gets all of the currency stored inside of the TC by either solos or teams.
The players storing money inside the tool cupboard that was raided in turn lose the money they had stored in that individual TC.
Disable TC Raid mode:
Tool cupboards will not be used to store money and players will not lose their bank balance when their tool cupboard is raided.
You may configure RequireTCPrivilege* options to require players to be within tool cupboard range to use the bank.
Even if players are required to have tool cupboard privilege to use the bank, all tool cupboards will share the same bank account.
You may configure countdown options to set a delay when a player tries to preform an action at the bank (deposit, withdraw, transfer).
Banking commands: /bal (check balance), /depo (deposit), /take (withdraw), /send (transfer).
Admin commands: /addbal, /addbank, /removebal, /removebank.
Configurable currency symbol.
Configurable wallet and bank balance overlay GUI.
Options to require TC Privilege for opening bank GUI, depositing, withdrawing, transferring (for when not using TC raid mode).
Countdown options for depositing, withdrawing, transferring.
Developer API with callable API methods for banking.
Chat Commands
/bank Display TC Bank GUI. Requires permission tcbank.bankgui.
/bal Sends the player a chat message displaying their current wallet and bank balance. Requires permission tcbank.balancecommand.
/depo <amount> Deposit currency to bank. Requires permission tcbank.depositcommand.
/take <amount> Withdraw currency from bank. Requires permission tcbank.withdrawcommand.
/send <amount> <player name> Send currency from one players bank account to another player's bank account. Requires permission tcbank.transfercommand.
/addbal <amount> <player name> Add currency to a player's wallet balance. Requires permission tcbank.admin.
/addbank <amount> <player name> Add currency to a player's bank balance. Unavailable when UseToolCupboardRaidFeature = true, use /addbal instead. Requires permission tcbank.admin.
/removebal <amount> <player name> Remove currency from a player's wallet balance. Requires permission tcbank.admin.
/removebank <amount> <player name> Unavailable when UseToolCupboardRaidFeature = true. Remove currency from a player's bank balance. Requires permission tcbank.admin.
/savebank Force save data file. Requires permission tcbank.admin.
Console Commands
resetbank Backup and reset data file.
Permissions
tcbank.bankgui Required to display TC Bank GUI to player.
tcbank.transfergui Required to display bank transfer GUI to player.
tcbank.balancegui Required to display wallet and bank balance GUI overlays to player.
tcbank.balancecommand Required to use command for displaying wallet and bank balance in chat.
tcbank.depositcommand Required to use command for depositing currency to bank.
tcbank.withdrawcommand Required to use command for withdrawing currency from bank.
tcbank.transfercommand Required to use command for transferring currency to another player.
tcbank.admin Required for bank management commands and to force save data file.
Configuration
Configuration Properties
CurrencySymbol (string) Symbol to use for representing currency in GUI and messages. Default = "$"
CurrentSymbolPlacement (string) Place the currency symbol on the left or right side of the currency value. Valid options are "left" and "right". Default = "left"
UseToolCupboardRaidFeature (bool) Enables TC Raid Mode. Bank accounts will belong to TCs. When TCs are raided the raider will they currency value stored inside. Default = true
UseAlternateGUIFont (bool) Use alternate GUI font. Default = false
UseWalletBalanceOverlay (bool) Enable wallet balance overlay. Default = true
UseBankBalanceOverlay (bool) Enable bank balance overlay. Default = true
WalletBalanceLabelGUIOverlay (string) Label for wallet balance overlay. Default = "Wallet Balance:"
BankBalanceLabelGUIOverlay (string) Label for bank balance overlay. Default = "Bank Balance:"
RequireTCPrivilegeOpenBankGUI (bool) Require Tool Cupboard Privilege range to open the /bank GUI. Default: true
RequireTCPrivilegeToDeposit (bool) Require Tool Cupboard Privilege range to deposit currency to bank. Ignored if UseToolCupboardRaidFeature = true. Default: true
RequireTCPrivilegeToWithdraw (bool) Require Tool Cupboard Privilege range to withdraw currency from bank. Ignored if UseToolCupboardRaidFeature = true. Default: true
RequireTCPrivilegeToTransfer (bool) Require Tool Cupboard Privilege range to transfer currency to another player. Ignored if UseToolCupboardRaidFeature = true. Default: true
BankDepositCountdown (int) Countdown in seconds for depositing currency to bank. Ignored if RequireTCPrivilegeToDeposit = true or UseToolCupboardRaidFeature = true. Default: 0
BankWithdrawCountdown (int) Countdown in seconds for withdrawing currency from bank. Ignored if RequireTCPrivilegeToWithdraw = true or UseToolCupboardRaidFeature = true. Default: 0
BankTransferCountdown (int) Countdown in seconds for transferring currency to another player. Ignored if RequireTCPrivilegeToTransfer = true or UseToolCupboardRaidFeature = true. Default: 0
SaveInterval (int) Interval in seconds to save plugin data file. Default: 300
UseEconomicsIntegration (bool) Leave as false to use built-in currency. Enable Economics support for wallet balance. Default: false
UseServerRewardsIntegration (bool) Enable ServerRewards support for wallet balance. If UseEconomicsIntegration = true this setting will be ignored. Default: false
Default Configuration
{
"CurrencySymbol": "$",
"CurrentSymbolPlacement": "left",
"UseToolCupboardRaidFeature": true,
"UseAlternateGUIFont": false,
"UseWalletBalanceOverlay": true,
"UseBankBalanceOverlay": false,
"WalletBalanceLabelGUIOverlay": "Wallet Balance:",
"BankBalanceLabelGUIOverlay": "Bank Balance:",
"RequireTCPrivilegeOpenBankGUI": true,
"RequireTCPrivilegeToDeposit": true,
"RequireTCPrivilegeToWithdraw": true,
"RequireTCPrivilegeToTransfer": true,
"BankDepositCountdown": 0,
"BankWithdrawCountdown": 0,
"BankTransferCountdown": 0,
"SaveInterval": 300,
"UseEconomicsIntegration": false,
"UseServerRewardsIntegration": false
}
Configuration Notes
When using UseToolCupboardRaidFeature players will be required to be within TC range to open bank GUI, deposit, withdraw, or transfer.
When using UseToolCupboardRaidFeature or any RequireTCPrivilege* option respective countdowns will be ignored.
When using UseToolCupboardRaidFeature admin commands /addbank and /removebank will be unavailable. Administrators can still use /addbal and /removebal.
When using UseToolCupboardRaidFeature bank Balance GUI overlay will be unavailable. However, players may still use the wallet balance GUI overlay.
When using both UseEconomicsIntegration and UseServerRewardsIntegration, UseEconomicsIntegration will take precedence.
When UseToolCupboardRaidFeature is disabled transfers are sent from sender's bank -> receiver's bank.
When UseToolCupboardRaidFeature is enabled transfers are sent from sender's bank -> receiver's wallet.
Developer API
API Methods
bool Deposit(string playerID, int amount) Returns true if successful.
bool Deposit(string playerID, int amount, ulong toolCupboardID) Returns true if successful.
bool Withdraw(string playerID, int amount) Returns true if successful.
bool Withdraw(string playerID, int amount, ulong toolCupboardID) Returns true if successful.
bool AddToWallet(string playerID, int amount) Returns true if successful.
bool AddToBank(string playerID, int amount) Returns true if successful.
bool AddToBank(string playerID, int amount, ulong toolCupboardID) Returns true if successful.
bool RemoveFromWallet(string playerID, int amount) Returns true if successful.
bool RemoveFromBank(string playerID, int amount) Returns true if successful.
bool RemoveFromBank(string playerID, int amount, ulong toolCupboardID) Returns true if successful.
bool ResetWallet(string playerID) Returns true if successful.
bool ResetBank(string playerID) Returns true if successful.
int GetWalletBalance(string playerID) Returns player's wallet balance.
int GetBankBalance(string playerID) Returns player's bank balance.
int GetBankBalance(string playerID, ulong toolCupboardID) Returns player's bank balance.
void RefreshOverlay(string playerID) Refreshes a player's balance overlay GUI.
Support Discord
https://discord.gg/25sR5EZktP