Title Buyer System
Dynamic Title Purchase & Collection Platform
Tutorial Video
What is Title Buyer System?
Title Buyer System is a comprehensive title marketplace that allows players to purchase and collect game titles (Knight, Baron, Ranger, etc.) using multiple payment currencies. Features search functionality, live preview, and permanent title storage. Administrators can configure unlimited titles with flexible pricing - title names automatically pulled from game Media files!
How It Works
📚 Titles Tab Interface
- 6-Tab Navigation: Titles, Icons, Colors, Guild Color, Name Tags, NPC Shop
- Titles Tab: Golden highlight when active (leftmost tab)
- X9 Coins Display: Balance shown at top (X9 Coins: 68425)
- Search Bar: "Search titles..." input with Clear button for filtering titles
- Large Title List: Scrollable box showing all available titles
- Payment & Purchase Section: Bottom area with dropdown and Buy button
🔍 Search & Filter System
- Search Input: Text field for filtering titles by name
- Real-Time Filter: List updates instantly as you type
- Clear Button: Reset search and show all titles with one click
- Case-Insensitive: Search works regardless of letter case
- Partial Match: Find titles containing search term anywhere in name
📋 Title List Display
- Scrollable List: Large box displaying all available titles with vertical scroll
- Title Names: Baron, Ranger, Dovakiin, Bulldozer, V.i.P, CallMeking, Revenger, etc.
- Single-Click Selection: Click title to select for purchase
- Auto-Generated Names: Title names read from game Media files (GetHwanString function)
- TitleID System: Each title identified by ID (1-255), names loaded automatically
- Long Title Support: "I Don't Care About This Title I Just Need This Blue Zerk" fully visible
👁️ Live Preview System
- Preview Checkbox: "Live Preview" toggle at bottom of interface
- Real-Time Display: Selected title shows on character when checkbox enabled
- Try Before Buy: Test title appearance before purchasing
- Instant Update: Title changes immediately when selecting different options
- No Cost: Preview is free - only pay when clicking Buy button
💰 Payment & Purchase
- Payment Method Dropdown: Select currency (X9 Coin: 1, Silk: 10, Arena Coin: 5, etc.)
- 11 Currency Types: X9 Coins, Silk (3 types), Arena Coin, 5 Game Coins, Gold, Honor Points
- Dynamic Pricing: Each title can have different prices per currency
- Buy Title Button: Golden-bordered button to complete purchase
- Permanent Storage: Purchased titles saved to _Title_Storage table
- Instant Access: Title available immediately in title selection menu after purchase
Database Architecture
📚 _X9Shop_Titles Table (Pricing)
Purpose: Define available titles and their pricing per currency
- ID: INT IDENTITY PRIMARY KEY - Database row identifier
- TitleID: TINYINT NOT NULL UNIQUE - Game title ID (1-255)
- Enabled: BIT NOT NULL DEFAULT 1 - Enable/disable title for sale
- X9Coin_Price: INT NULL - Price in X9 Coins
- Silk_Price: INT NULL - Price in Silk (Own)
- ArenaCoin_Price: INT NULL - Price in Arena Coins
- CopperCoin_Price / IronCoin_Price / SilverCoin_Price / GoldCoin_Price: INT NULL
- Gold_Price: BIGINT NULL - Price in in-game gold
- GiftSilk_Price / PremiumSilk_Price: INT NULL
- HonorPoint_Price: INT NULL
Title Names: NOT stored in database - automatically loaded from game Media files using GetHwanString(TitleID)
💾 _Title_Storage Table (Purchased Titles)
Purpose: Store purchased titles permanently per character
- CharName: VARCHAR(64) NOT NULL - Character name
- TitleID: TINYINT NOT NULL - Game title ID (1-255)
- PurchaseDate: DATETIME NOT NULL DEFAULT GETDATE() - Purchase timestamp
- PRIMARY KEY: (CharName, TitleID) - Composite key prevents duplicate purchases
Permanent Collection: Once purchased, title never expires - characters can switch between owned titles freely
Key Features
🔍 Advanced Search System
- Smart Search Bar: Filter titles instantly as you type
- Clear Button: One-click reset to show all titles
- Partial Matching: Search "king" finds "CallMeking", "Viking", etc.
- Case-Insensitive: "BARON" and "baron" produce same results
- Real-Time Results: List updates with every keystroke
- Large Result Area: Scrollable list accommodates hundreds of titles
📚 Automatic Title Name Loading
- Media File Integration: Title names read from game Media files automatically
- TitleID System: Store only TitleID (1-255), client loads actual name
- No Database Storage: Title names never stored in database (reduces storage, simplifies updates)
- Multi-Language Support: Works with any client language (EN, TR, AR, etc.)
- Automatic Updates: New titles added to game automatically appear in shop
- GetHwanString Function: Client-side function retrieves title name from TitleID
💰 Flexible Payment System
- 11 Currency Options: X9 Coin, Silk (3 types), Arena Coin, 5 Game Coins, Gold, Honor Point
- Per-Title Pricing: Each title can have different prices for different currencies
- Multiple Payment Methods: Offer 2-3 currencies per title for player flexibility
- NULL = Hidden: Set price to NULL to hide currency from dropdown
- Free Titles: Set price to 0 for free promotional titles
- Dynamic Dropdown: Only currencies with non-NULL prices appear in Payment Method
💾 Permanent Title Collection
- One-Time Purchase: Buy title once, keep forever (never expires)
- Duplicate Prevention: Composite primary key prevents buying same title twice
- Unlimited Collection: Purchase and collect as many titles as you want
- Free Switching: Switch between owned titles anytime at no cost
- Purchase History: PurchaseDate timestamp tracks when titles were bought
- Character-Specific: Each character has their own title collection
Admin Panel Configuration
Adding Titles (Dynamic Shop Tab)
- Access Admin Panel: Open X9 Filter admin application
- Navigate to Dynamic Shop: Click Dynamic Shop in main menu
- Select Titles Tab: Choose "Titles" from table dropdown
- View Existing Titles: List shows all configured titles with prices
- Enter TitleID: Type title ID number (1-255) in TitleID/IconID field
- Set Prices: Fill in price fields for desired currencies (leave blank/NULL to disable)
- Click Add: New title row created with specified prices
- Enable: Ensure Enabled checkbox is checked (1 = visible in shop)
- Verify In-Game: Title appears in Dynamic Shop Titles tab immediately
Editing Title Prices
- Select Title Row: Click title in list to populate price fields
- Modify Prices: Change values in any of the 11 currency price boxes
- Disable Currency: Type "OFF" or clear field to set NULL (hides from dropdown)
- Auto-Save: Changes save automatically when field loses focus
- Refresh: Click Refresh button to verify price updates
- Test In-Game: Open Dynamic Shop to confirm price changes reflected
Managing Title Sales (SQL)
-- Add new title for sale (TitleID 15)
INSERT INTO _X9Shop_Titles (TitleID, Enabled, X9Coin_Price, Silk_Price)
VALUES (15, 1, 300, 15);
-- Add multiple titles at once
INSERT INTO _X9Shop_Titles (TitleID, Enabled, X9Coin_Price, ArenaCoin_Price, Gold_Price)
VALUES
(20, 1, 250, 25, 2500000),
(21, 1, 200, 20, 2000000),
(22, 1, 300, 30, 3000000);
-- Disable title temporarily (hide from shop)
UPDATE _X9Shop_Titles
SET Enabled = 0
WHERE TitleID = 15;
-- Change price
UPDATE _X9Shop_Titles
SET X9Coin_Price = 500, Silk_Price = 25
WHERE TitleID = 15;
Professional Tips
For Players - Title Selection
- Use Search: Type keywords to quickly find desired titles (e.g., "king" for royal titles)
- Try Preview: Enable Live Preview checkbox to test title before buying
- Check Prices: Compare different currency options in Payment Method dropdown
- Collect Gradually: Build title collection over time - titles never expire
- Coordinate with Friends: Match titles with guild members for themed groups
- Rare Titles: Higher-priced titles often indicate rarer/more prestigious options
For Players - Using the System
- Access Dynamic Shop: Open via F9 Filter PlayerBox → Dynamic Shop
- Check Balance: View X9 Coins (or other currency) balance at top
- Select Titles Tab: Click "Titles" tab (leftmost, golden when active)
- Search/Browse: Use search bar or scroll through full title list
- Select Title: Click desired title in list
- Preview (Optional): Check Live Preview box to see title on character
- Choose Payment: Select currency from Payment Method dropdown
- Purchase: Click "Buy Title" button to complete purchase
- Equip Title: Title appears in title selection menu - select to wear
For Administrators - System Management
- TitleID Reference: Check game Media files or documentation for valid TitleID numbers (1-255)
- Pricing Strategy: Common titles 100-200 coins, rare titles 300-500 coins, legendary 1000+
- Multiple Currencies: Offer 2-3 payment options per title for player flexibility
- Promotional Titles: Set X9Coin_Price = 0 for free event titles
- Disable Temporarily: Use Enabled = 0 instead of deleting rows (preserves pricing)
- Monitor Sales: Check _Title_Storage table regularly to see popular titles
- Gradual Rollout: Start with 10-20 titles, add more based on player demand
- Client Language: Title names automatically match client language (no translation needed)
Practical Examples
Scenario 1: Purchasing Baron Title
- Open Dynamic Shop: Via F9 Filter PlayerBox menu
- Check Balance: See X9 Coins: 68425 at top of window
- Click Titles Tab: Tab highlights golden color (leftmost tab)
- Scroll List: Browse through available titles
- Select Baron: Click "Baron" in title list
- Enable Preview: Check "Live Preview" box to see Baron title on character
- Select Payment: Choose "X9 Coin: 1" from Payment Method dropdown
- Purchase: Click "Buy Title" button
- Success! Baron title now in your title collection - select from title menu to equip
Scenario 2: Searching for Specific Title
- Open Dynamic Shop: Access Titles tab
- Use Search Bar: Type "king" in "Search titles..." field
- Filtered Results: List shows only titles containing "king" (CallMeking, Viking, etc.)
- Select Desired Title: Click "CallMeking" from filtered results
- Check Prices: Payment Method dropdown shows available currencies
- Choose Payment: Select "Silk: 10" option
- Purchase: Click "Buy Title" button
- Clear Search: Click "Clear" button to show all titles again
- Browse More: Continue shopping for additional titles
Technical Implementation
TitleID System (Media Integration)
-- Database stores ONLY TitleID (1-255) INSERT INTO _X9Shop_Titles (TitleID, Enabled, X9Coin_Price) VALUES (1, 1, 200); -- TitleID 1 -- Client reads title name from Media files GetHwanString(TitleID) // Returns actual title name Examples: TitleID 1 → "Knight" (EN) / "Şövalye" (TR) / "فارس" (AR) TitleID 2 → "Baron" TitleID 5 → "Ranger" TitleID 10 → "Master" // Multi-language support automatic! // Same TitleID shows different name based on client language
Title Purchase & Storage
-- Purchase title (player buys TitleID 15)
INSERT INTO _Title_Storage (CharName, TitleID, PurchaseDate)
VALUES ('NESTA3', 15, GETDATE());
-- Composite primary key prevents duplicates
-- If player tries to buy same title again, INSERT fails
-- Check owned titles
SELECT TitleID, PurchaseDate
FROM _Title_Storage
WHERE CharName = 'NESTA3'
ORDER BY PurchaseDate DESC;
-- Result: List of all titles owned by character
-- TitleID 15 | 2024-06-16 10:30:45
-- TitleID 8 | 2024-06-15 14:22:10
-- TitleID 3 | 2024-06-14 09:15:33
Dynamic Pricing Configuration
-- Set multiple payment options for TitleID 20
UPDATE _X9Shop_Titles
SET X9Coin_Price = 300, -- 300 X9 Coins
Silk_Price = 15, -- OR 15 Silk
ArenaCoin_Price = 30, -- OR 30 Arena Coins
Gold_Price = 3000000 -- OR 3M Gold
WHERE TitleID = 20;
-- Disable specific currency (hide from dropdown)
UPDATE _X9Shop_Titles
SET Silk_Price = NULL -- Silk no longer available
WHERE TitleID = 20;
-- Free promotional title
UPDATE _X9Shop_Titles
SET X9Coin_Price = 0 -- Free!
WHERE TitleID = 25;
Summary
Title Buyer System delivers complete title marketplace with search functionality, auto-loaded title names, 11 payment currencies, and permanent collection storage!
Core Benefits
Smart search filter
Auto-loaded names
11 payment options
Permanent collection
Build your title collection - search, preview, buy with 11 currencies, and keep titles forever!
by X9 Filter New Feature!
Enhancing your Silkroad Online experience
0 Comments