Advanced Trade & Exchange System - FiveM QBCore Script

Advanced Trade & Exchange System - FiveM QBCore Script

The Advanced Trade & Exchange System is a FiveM script for QBCore Framework, it features an advanced trade system for roleplay servers that players can use to trade items, weapons, cash and bank balance between each other with an easy, advanced, secure and live updated menu.

Features:

  • Inviting players to trade by selecting the closest player from the menu.
  • The trade invitation is temporary and auto declined if the other player does not respond.
  • The menu is live updating any changes in the trade offers for both players.
  • Players can easily choose and drag and drop their items from their inventory to the offered items section.
  • Players can set their cash and bank offers and the menu will automatically update the offer.
  • Players cannot exchange their bank balance if they do not have a phone.
  • You can track your players trades on your server from a detailed log system.

Client Config:

Config = {}

Config.QBCoreName = 'qb-core' -- QBCore script name, default is "qb-core"
Config.InventoryName = 'qb-inventory' -- Inventory script name, default is "qb-inventory"

Config.ItemsAmountType = 'amount' -- For custom inventory items count, "amount" or "count"

------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------- Menu Settings ----------------------------------------------------

Config.TradeCommand = 'trade' -- Command to open trade menu

Config.ShowPlayersName = false -- 'true' show closest players full name, 'false' hide closest players name and show only id

Config.TradeProcessCountdown = 5 -- Final trade process countdown duration, default 5 seconds

Config.BankRequrePhone = true -- Player must have phone item to be able to trade bank balance 
Config.PhoneItems = { 'phone', 'smartphone', 'iphone' } -- Phone item names

------------------------------------------------------------------------------------------------------------------------
----------------------------------------------- Player Inventory Settings ----------------------------------------------

Config.MaxInventorySlots = 41 -- Max inventory slots for a player
Config.MaxInventoryWeight = 120000 -- in Grams, Max weight a player can carry (default 120kg)

------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------- Translations -----------------------------------------------------

Config.Translations = {
	-- UI Translations
	['player_id']							= 'Player ID',
	['trading_menu']						= 'Trading Menu',
	['menu_description']					= 'Trade items, weapons, money... between players',
	['trading_with']						= 'Trading With',
	['no_player']							= 'No Player',
	['player_inv']							= 'Player Inventory',
	['your_offers']							= 'Your Offers',
	['drop_items_here']						= 'Drop Items Here',
	['no_items']							= 'No items',
	['cash']								= 'Cash',
	['bank']								= 'Bank',
	['ready']								= 'Ready',
	['not_ready']							= 'Not Ready',
	['others_offer']						= '\'s Offers',
	['confirm']								= 'Confirm',
	['cancel']								= 'Cancel',
	['close']								= 'Close',
	['trading_in']							= 'Trading in',
	['trading']								= 'Trading',
	['item_amount']							= 'Item Amount',
	['amount']								= 'Amount',
	['invite_to_trade']						= 'Invite to trade',
	['no_one_nearby']						= 'No one nearby!',
	['trade_invite_from']					= 'Trading invite from',
	['accept']								= 'Accept',
	['refuse']								= 'Refuse',
	['confirm_trade_offer']					= 'Are you sure you want confirm<br>your trade offer ?',
	['confirm_close_menu']					= 'Are you sure you want to cancel your trade<br>and close the menu ?',
	['yes']									= 'YES',
	['no']									= 'NO',
	['amount']								= 'Amount',
	['weight']								= 'Weight',
	['ammo']								= 'Ammo',
	['quality']								= 'Quality',
	
	-- Notifications
	['trade_cancelled']						= 'Trade cancelled',
	['trade_inv_sent_to']					= 'Trade invitation sent to',
	['trade_inv_from']						= 'Trade invitation from',
	['player_already_intrade']				= 'Player already in trade',
	['youre_already_intrade']				= 'You are already in trade',
	['player_went_offline']					= 'Player went offline',
	['declined_your_inv']					= 'declined your trade invite',
	['trade_process_started']				= 'Trade process has been started',
	['invalid_item']						= 'Invalid Item',
	['invalid_amount']						= 'Invalid Amount',
	['not_enough_cash']						= 'doesn\'t have enough cash',
	['not_enough_bank']						= 'doesn\'t have enough money in bank',
	['not_enough_slots']					= 'doesn\'t have enough empty inventory slots',
	['not_enough_weight']					= 'doesn\'t have enough inventory weight',
	['missing_items']						= 'missing some items',
	['trade_completed']						= 'The trade has been completed successfully',
	['other_went_offline']					= 'error! other player went offline',
	['trade_process_canceled']				= 'Trade process has been canceled by',
	['dont_have_phone']						= 'You don\'t have a phone',
}

Server Config:

----------------------------------------------------------------------------------------------------
------------------------------------------- Disc.ord Logs -------------------------------------------

Config.LogsWebhook = ""

Preview: Youtube Link
Buy Here : Tebex Link ($11.99 + Tax)

You might like one of my scripts

Code is accessible config files
Subscription-based No
Lines (approximately) +1200
Requirements QBCore Framework
Support Yes

(post deleted by author)