Format is WIP
So, I once saw two users having a trade on the public server. One of the two did not hold up his or her end of the deal.
The two players seemed to have resolved the issue, but it got me thinking. And from the thinking, here's the suggestion.
It's highly WIP at the moment.
Feature: A secure Trading system based on server commands
Suggestion: So what I'm suggesting is a Trading system based on commands. One that will be secure and has limitations based on the server rules.
What is the purpose of this feature:
- The purpose of this feature is to allow players to have completely secure transactions without the need to worry whether the other player will uphold his or her end of the bargain or not.
- The additional commands are to add more security and also help implement the server rules
For this thread, anything in "[]" is variable. Everything else is exactly as typed. "{}" is extra information for readers of the thread rather than typed info. Sub bullets are details for each command.
Command List:
- /traderequests [on/off]
- The user [will/will not] receive trade offers
- /mute requests [Player name]
- The player will stop recieving requests from a user. Great is the user is spamming him or her trade offers.
- /offer [player name] giving [Item] [Quantity] for [Item] [Quantity]
- /bargain give [Item] [Quantity] for [Item] [Quantity]
- /tradeblacklist [add/remove]Amount]
- /trade leave
- Displays to both users "trade has ended"
- If a user has done this, he or she has likely lost interest in trading and is going to do something else
- It also makes doing "bargain" useless
- /bargain give [Item offered] [number] for [Item the player wants] [Quantity]
- Displays to other user "[Player name] wishes instead to give [Item offered] [Item Quantity] for [Item bargaining User wants] [Item Quantity]
- /trade deny
- Displays to the other user "[Player name] does not accept this offer."
- /trade display
- Opens a GUI showing a Box.
- This Box contains two slots giving each trader a preview of what he or she is trading.
- The boxes will be labeled "From You" and "From You." Names could be better, I know. But that's why this is a WIP suggestion.
- Hovering an item will display details of the item such as how much durability is left on the item, the "block/item icon," Enchantments, item name, and nickname
- Advantage- The player can see what is in the trade so he or she can avoid getting scammed
- /trade accept
- The Server will take the items from each player's inventory and hold it
- If the player does not have the item (ie: the player put the item in a chest or something between the offer and the accept), there will be a message saying "trade error" and it will return any items it took to hold
- The server, once it has the items will ask both players if they are sure they want to go through the transaction, and it reccommends each player to do the /trade display to check the offer
- /trade imSure {I'm taking suggestions for a better name}
- Finalizes the agreement on one end
- Once both players have agreed, the server gives each player the item he or she is to recieve
Messages:
- Player is AFK
- Displays when a user attempts to trade with an AFK player
- Player is not accepting requests at this time
- Displays when a user attempts offer a trade to someone who has the user's trade offers muted or currently has requests set to off
- You cannot trade with this player
- Displays when a user attempts to offer a trade to an SWDBae or Admin
- You are not allowed to offer trades
- Displays when anyone ranking SWDBae or Admin tries to start a trade
- You cannot trade this item
- User attempts to offer a blacklisted item
- You cannot trade for this item
- User offers a trade for a blacklisted item
- [Username] is offering [Item Name {if the item was named at an anvil, it will be instead be "Item Name" named "Custom Name"}] [Item Quantity] for [Item name] [Item quantity]
- You cannot do this trade
- Shown when the player attempts to offer more than he or she has in his or her inventory
- Also displayed if a user attempts to accept an offer more than he or she has.
- [Player name] wants to trade.
- [Player name] has a counter offer. [Player name] will trade [Item] [Quantity] for [Item] [Quantity]
- Trading Error
- Displays one player does not have the item (ie: a player put the item in a chest or something between the offer and the accept) in the trade
Whatifs I still need to work out:
- What if one of the players logs out or the server crashes during transaction?
- How will non stackable, or multiple items work? And how will it determine between two similar items?
- I'm thinking that the Server will start in the top left of the player's inventory, go across slots vertically looking for the item, go down to the next row, scan to the right again, and continue until slot 9 of the hotbar.
- In short, it's best to put the items you want traded towards the top left, and the ones you don't towards the bottom right
Any other information:
I'll be back later tonight to add more details and reformat a few things.
For now, I'm looking for thoughts and opinions. Also any exploitable holes I may have left in the suggestion.