About Trade
Trade allows two players to trade items from a distance and use the Shopfront UI.
Key features:
- Rust Shop Front UI.
- Bug-free trading - exchange process is handled natively by Rust.
- Trade logs, if enabled.
- Individual permissions for various things.
- Supports NoEscape and Ignore plugins.
- Optimization with performance in mind. No garbage allocations.
- Optional features (can be configured in Trade.json config file):
- Disable accepting trades and/or requests in Building blocked zones.
- Disable trading while in air/water or while wounded.
- Disable trading while mounted or parented (Cargo ship, vehicles, elevators).
- Control how far players can walk while trading.
- Multiple permissions setup.
- Item blacklisting for each permission.
- Trading slot count for each permission.
- Max distance between players for each permission.
- Changing chat icon.
- .. and more.
Configuration
The settings and options for this plugin can be configured in the Trade.json file under the oxide/config directory. The use of a JSON editor or validation site such as jsonlint.com is recommended to avoid formatting issues and syntax errors.
{ "Disable accepting requests in Block zone": true, "Disable sending requests in Block zone": true, "Disable trading in air": true, "Disable trading in water": true, "Disable trading while wounded": true, "Disable trading in transport": false, "Enable individual trade slot count": false, "Trade request timeout (seconds)": 30.0, "Max distance from trade spot (0 - disabled)": 5.0, "Chat icon id": 0, "Allow trade logging": true, "Permissions (first one is always default)": [ { "Order": 1, "Name": "default", "Cooldown": 30.0, "MaxDist": 0.0, "TradingSlots": 6, "Banned Items": [ "note" ] }, { "Order": 2, "Name": "vip_example", "Cooldown": 10.0, "MaxDist": 0.0, "TradingSlots": 12, "Banned Items": null } ], "Config revision (do not edit)": 1 }
Localization
The localization for this plugin can be configured in the Trade.json file under the oxide/lang/en directory. The use of a JSON editor or validation site such as jsonlint.com is recommended to avoid formatting issues and syntax errors.
{ "Msg.TradeIntro": "To begin trade, type <color=#81B67A>/trade <Partial name or Steam ID></color>.", "Msg.TradeRequestSent": "You've sent a trade request to <color=#81B67A>{0}</color>.", "Msg.TradeRequestReceived": "<color=#81B67A>{0}</color> wants to trade with you!n<color=#81B67a>/trade yes</color> - Accept request.n<color=#DA5757>/trade no</color> - Deny request.", "Msg.TradeSuccessful": "Your trade with <color=#81B67A>{0}</color> succeed.", "Msg.TradeTimeoutVendor": "<color=#81B67A>{0}</color> didn't anwered to your trade request.", "Msg.TradeTimeoutCustomer": "You haven't answered to <color=#81B67A>{0}</color>'s trade request.", "Msg.TradeCancelledVendor": "<color=#81B67A>{0}</color> has cancelled a trade request.", "Msg.TradeCancelledCustomer": "You have cancelled a trade request.", "Msg.TradeInterrupted": "Trade was interrupted!", "Msg.You": "<color=#81B67A>You</color>", "Msg.YourPartner": "<color=#81B67A>Your partner</color>", "Error.NoPerm": "{0} don't have permission to trade.", "Error.NoSuchPlayer": "No such player found or he is offline.", "Error.Ignored": "That player is ignoring you.", "Error.MultiplePlayers": "Found multiple players with this name!nRefine your search please or use SteamID.", "Error.SelfTrade": "Obviously, you can't trade with yourself :)", "Error.NoPendingRequest": "You have no pending requests.", "Error.CantTradeInWater": "{0} can't trade while in water!", "Error.CantTradeInBuildingBlock": "{0} can't trade while in Building Block zone.", "Error.CantTradeInAir": "{0} can't trade while flying.", "Error.CantTradeWounded": "{0} can't trade while wounded.", "Error.CantTradeSleeping": "{0} can't trade while sleeping.", "Error.CantTradeInVehicle": "{0} can't trade in transport.", "Error.CantTradeDead": "{0} can't trade while dead.", "Error.CantTradeOffline": "{0} is offline.", "Error.CantTradeRightNow": "{0} can't trade right now.", "Error.TradeCooldown": "Trade is on cooldown. Please wait <color=#81B67A>{0:mm:ss}</color>.", "Error.TooFar": "{0} is too far away from you.", "Error.UnknownCommand": "Unrecognized command.nType either <color=#81B67a>/trade yes</color> or <color=#DA5757>/trade no</color>" }
Permissions
This plugin uses Oxide's permission system. To assign a permission, use oxide.grant <user or group> <name or steam id> <permission>.
To remove a permission, use oxide.revoke <user or group> <name or steam id> <permission>.
trade.use - allows players to use trading.
Commands
This plugin provides universal chat and console commands. When using a command in the chat, prefix it with a forward slash: /.
trade <name or steam id> - Starts a trade request with the given player
trade accept/yes/+ - Accepts trade request
trade cancel/no/- - Declines trade request