About TC Bank
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