🏦 VSRO Bank Shop & Exchange Coins System
Complete Multi-Currency Management & Player-to-Player Exchange System
Tutorial Video
What is VSRO Bank Shop & Exchange Coins System?
The Bank Shop & Exchange Coins System is a comprehensive multi-currency economy platform that allows players to convert Arena/Iron/Copper/Silver/Gold coins from inventory (Slot 13) into 5 customizable Bank Shop coins, transfer coins between players, and manage complete transaction history. Administrators can customize coin names, track all conversions and transfers, and manage player balances through the X9 Filter Control Panel.
System Overview
Core Components
- 5 Bank Shop Coins: Coin1, Coin2, Coin3, Coin4, Coin5 - fully customizable names
- Currency Conversion: Convert 5 inventory coins (Arena/Iron/Copper/Silver/Gold) to Bank Shop coins
- Player-to-Player Transfer: Send Bank Shop coins between players instantly
Database Tables
- _BankShop: Stores player balances for all 5 Bank Shop coins
- _BankShop_CoinNames: Customizable names for each coin (admin configurable)
- _BankShop_TransferLog: Logs all player-to-player coin transfers
- _BankShopHistory: Records all currency conversions with timestamps and rates
Control Panel Management
- 4 Table Views: Players, Coin Names, Transfer Log, History
- Direct Editing: Add, modify, or delete records in real-time
- Search & Filter: Quickly find players or transactions
- Bulk Operations: Delete all records or refresh data instantly
5 Bank Shop Coins System
Bank Shop Coin Types
- Coin1: First Bank Shop currency - default name "Coin1" (customizable)
- Coin2: Second Bank Shop currency - default name "Coin2" (customizable)
- Coin3: Third Bank Shop currency - default name "Coin3" (customizable)
- Coin4: Fourth Bank Shop currency - default name "Coin4" (customizable)
- Coin5: Fifth Bank Shop currency - default name "Coin5" (customizable)
- Data Type: Each coin stores BIGINT values (supports massive balances)
Customizable Coin Names
- Admin Control: Change coin names through X9 Filter Control Panel
- Example Names: "Arena Points", "Vote Coins", "Donation Tokens", "Event Currency", "Premium Coins"
- Player Display: Custom names appear in-game instead of generic "Coin1, Coin2..."
- Database Storage: Names stored in _BankShop_CoinNames table (1-64 characters)
- Live Updates: Name changes apply immediately to all players
Per-Player Balance Tracking
- Unique Record: Each player has one record with CharID and CharName
- 5 Balance Columns: Coin1, Coin2, Coin3, Coin4, Coin5 - tracked separately
- Auto-Creation: Player record created automatically on first conversion or transfer
- LastUpdated Timestamp: Tracks when player balances were last modified
- Constraints: Unique CharID and CharName prevent duplicate accounts
Currency Conversion System
Supported Source Coins (Inventory Slot 13)
- Arena Coin (RefID 25834): Arena PVP reward coins - ITEM_ETC_ARENA_COIN
- Iron Coin (RefID 24668): Iron token currency - ITEM_ETC_SD_TOKEN_02
- Copper Coin (RefID 24667): Copper token currency - ITEM_ETC_SD_TOKEN_01
- Silver Coin (RefID 24669): Silver token currency - ITEM_ETC_SD_TOKEN_03
- Gold Coin (RefID 24670): Gold token currency - ITEM_ETC_SD_TOKEN_04
- Inventory Location: System reads coins from Slot 13 only
Conversion Process
- Fixed Rate 1:1: Conversion rate is fixed at 1:1 - no config needed
- Select Source: Player chooses Arena/Iron/Copper/Silver/Gold from inventory
- Select Target: Player chooses Coin1/Coin2/Coin3/Coin4/Coin5 destination
- Enter Amount: Specify how many coins to convert
- Instant Conversion: Inventory coins deducted, Bank Shop coins added immediately
- Transaction Log: All conversions recorded in _BankShopHistory table
Stored Procedure: SP_ConvertToBankShopCoin
- Parameters: CharID, CharName, SourceCoinRefID, TargetCoinType, SourceAmount, ShardDatabase
- Validation: Checks if source coin exists in Slot 13 with sufficient quantity
- Deduction: Removes source coins from inventory using dynamic SQL
- Addition: Adds target coins to _BankShop table (creates record if new player)
- History Logging: Records transaction details, rates, and timestamps
- Error Handling: Returns success/failure status with error messages
Player-to-Player Exchange System
Transfer Functionality
- Direct Transfer: Send any Bank Shop coin (Coin1-5) to another player
- Instant Delivery: Coins transferred immediately - no delay or waiting period
- Balance Verification: System checks sender has sufficient balance before transfer
- Auto-Create Receiver: Creates receiver's Bank Shop account automatically if they don't have one
- Transfer Log: Every transfer recorded in _BankShop_TransferLog with full details
Transfer Log Table (_BankShop_TransferLog)
- ID: Unique transfer ID (auto-increment)
- Sender Info: SenderCharID and SenderName - who sent the coins
- Receiver Info: ReceiverCharID and ReceiverName - who received the coins
- CoinType: Which coin was transferred (Coin1/Coin2/Coin3/Coin4/Coin5)
- Amount: How many coins were transferred (BIGINT for large values)
- TransferDate: Exact timestamp of transfer for audit trail
- Indexes: Optimized for fast searching by sender, receiver, or date
Use Cases for Transfers
- Guild Banks: Members deposit coins to guild leader for shared resources
- Player Trading: Exchange Bank Shop coins for items or services
- Gifting: Send coins to friends or new players as gifts
- Party Pooling: Collect coins from party members for group purchases
- Admin Support: GMs can check transfer logs to verify trades and prevent scams
X9 Filter Control Panel Management
Table 1: Players (Balance Management)
- View Balances: See all player balances for Coin1-5 in one table
- Add Player: Manually create Bank Shop account for any player with initial balances
- Edit Balances: Click on any balance field to modify player's coins directly
- Delete Player: Remove player's Bank Shop account entirely
- Search: Find players by CharID or CharName quickly
- Bulk Delete: Delete all player records at once (use with caution!)
Table 2: Coin Names (Customization)
- View Names: See current names for all 5 coins (CoinIndex 1-5)
- Edit Names: Click CoinName field to change display name (1-64 characters)
- Custom Branding: Rename coins to match your server theme (Arena Points, Vote Coins, etc.)
- LastUpdated: See when each coin name was last modified
- Instant Apply: Name changes apply immediately to game client
Table 3: Transfer Log (Audit Trail)
- View Transfers: See all player-to-player coin transfers
- Sender Details: SenderCharID, SenderName - who initiated the transfer
- Receiver Details: ReceiverCharID, ReceiverName - who received the coins
- Transaction Info: CoinType (Coin1-5), Amount, TransferDate timestamp
- Fraud Detection: Track suspicious transfers or verify legitimate trades
- Read-Only: Transfer log cannot be edited - maintains integrity
Table 4: History (Conversion Records)
- View Conversions: See all inventory-to-Bank Shop coin conversions
- Source Info: SourceCoinType (Arena/Iron/Copper/Silver/Gold), SourceAmount
- Target Info: TargetCoinType (Coin1-5), TargetAmount converted
- Conversion Rate: Rate column shows exchange rate used (fixed 1:1)
- Player Tracking: CharID, CharName, TransactionDate for each conversion
- Economy Analysis: Monitor which source coins are most popular
Key Features
Multi-Currency Economy
- 5 Independent Currencies: Run separate economies with different coin values and purposes
- Flexible Conversion: Convert any of 5 inventory coins to any of 5 Bank Shop coins
- Custom Names: Brand each coin with meaningful names (Vote Coins, Donation Points, etc.)
- Unlimited Balances: BIGINT storage supports massive coin quantities without overflow
- Fixed Rate: Simple 1:1 conversion - no complex rate calculations needed
Complete Transaction Tracking
- Conversion History: Every inventory-to-Bank Shop conversion logged permanently
- Transfer Log: All player-to-player exchanges recorded with full details
- Audit Trail: CharID, CharName, amounts, coin types, timestamps for every transaction
- Fraud Prevention: Admins can verify suspicious activities using logs
- Economy Analytics: Track which coins are most popular and conversion patterns
Administrator Control
- Real-Time Editing: Modify player balances, coin names, or records directly from Control Panel
- Table Switching: Quick dropdown to switch between Players, Coin Names, Transfer Log, History views
- Add/Delete Operations: Create new players, delete records, or bulk delete all data
- Refresh Data: Reload table data instantly to see latest changes
- Database Integration: All changes write directly to SQL Server database tables
Common Use Cases
Scenario 1: Vote Reward System
- Setup: Rename Coin1 to "Vote Points" in Coin Names table
- Player Action: Player votes on server ranking sites, receives Arena Coins in inventory
- Conversion: Player converts Arena Coins → Vote Points (Coin1) through in-game NPC
- Shopping: Player spends Vote Points in special vote shop
- Admin Tracking: Monitor conversions in History table to count total votes
Scenario 2: Donation Currency
- Setup: Rename Coin2 to "Donation Coins" in Coin Names table
- Admin Action: After player donates, admin adds Gold Coins to player's inventory manually
- Conversion: Player converts Gold Coins → Donation Coins (Coin2)
- Premium Shop: Player uses Donation Coins in exclusive premium shop
- Admin Verification: Check History table to verify conversion matches donation amount
Scenario 3: Event Currency Exchange
- Setup: Rename Coin3 to "Event Tokens", Coin4 to "Premium Tokens"
- Event Rewards: Players earn Iron Coins from completing events
- Player Conversion: Convert Iron Coins → Event Tokens (Coin3)
- Player Transfer: Player sends Event Tokens to friend who needs them
- Admin Monitoring: Check Transfer Log to see who sent tokens to whom
Scenario 4: Guild Economy
- Setup: Rename Coin5 to "Guild Funds"
- Member Contribution: Guild members convert their inventory coins → Guild Funds (Coin5)
- Transfer to Leader: Members transfer Guild Funds to guild leader's account
- Guild Bank: Leader accumulates funds for guild upgrades or events
- Admin Audit: Check Transfer Log to see all contributions and verify guild bank integrity
Professional Tips
For Server Administrators
- Name Your Coins: Don't use generic "Coin1, Coin2" - rename to meaningful names like "Vote Points", "Donation Tokens"
- Regular Backups: Backup _BankShop and history tables regularly to prevent data loss
- Monitor Transfers: Check Transfer Log weekly for suspicious player-to-player exchanges
- Verify Conversions: Cross-reference History table with donation records to prevent fraud
- Bulk Delete Warning: "Delete All" button is permanent - use only when resetting economy
Coin Management Best Practices
- Assign Purposes: Coin1 = Vote, Coin2 = Donation, Coin3 = Event, Coin4 = Premium, Coin5 = Special
- Consistent Naming: Once named, avoid changing coin names to prevent player confusion
- Test Conversions: Try converting each inventory coin type before announcing to players
- Document Rates: Even though rate is 1:1, document which source coins convert to which target coins
- Player Communication: Announce custom coin names on website/Discord so players know what each coin is
Troubleshooting
- Player Can't Convert: Check if source coins are in Slot 13 (not other slots)
- Balance Not Updating: Verify _BankShop table has record for player (created automatically on first use)
- Transfer Failed: Check if sender has sufficient balance in the specific CoinType
- Coin Name Not Showing: Ensure _BankShop_CoinNames has entry for CoinIndex (1-5)
- History Missing: Check if _BankShopHistory table exists and has proper permissions
- Control Panel Error: Refresh table data or restart X9 Filter Control Panel
Example Workflow: Setting Up Vote Reward System
Scenario: You want players to vote for your server and receive Vote Points they can spend in a special shop
- Open Control Panel: Launch X9 Filter Control Panel → Navigate to BankShop page
- Select Coin Names Table: Change dropdown from "Players" to "Coin Names"
- Customize Coin1: Click CoinName field for CoinIndex 1, type "Vote Points", press Enter to save
- Setup Vote Script: Configure your vote script to give Arena Coins (RefID 25834) to player's inventory Slot 13
- Test Conversion: Log into game with test character, receive Arena Coins from vote script
- Convert In-Game: Use Bank Shop NPC to convert Arena Coins → Vote Points (Coin1)
- Verify in Panel: Switch to "Players" table, search for test character, see Vote Points (Coin1) balance updated
- Check History: Switch to "History" table, verify conversion logged correctly
- Announce to Players: Post on Discord/Website explaining vote rewards and Vote Points system
Summary
VSRO Bank Shop & Exchange Coins System provides complete multi-currency economy management - convert inventory coins to custom Bank Shop currencies, transfer between players, and track all transactions with comprehensive admin tools.
Core Benefits
5 Custom Coins
1:1 Conversion
Player Transfers
Complete Tracking
Build flexible reward systems with custom currencies, instant player-to-player exchanges, and full admin control over your server economy.
by X9 Filter New Feature!
Enhancing your Silkroad Online experience
0 Comments