DkabotShop
Introducton
Thanks for 4890 downloads!
DkabotShop is intended to be an open-source, updated, and egotistically-named alternative to and recreation of VirtualShop, along with plenty of my own skewering.
Speaking of open-source, go check it out on GitHub!
This plugin enables servers with a command-based free market virtual shop system where anyone can sell anything (unless blacklisted) for any price (within what the administrator allows).
Iems with durability/datavalues are now supported. "Reverted" potions cannot be sold by name. Tools can be sold, but only if unenchanted and each possible instance of the damaged tool is a different item in the database. :(
It uses bukkit persistence to handle DB queries, which uses SQLite by default. If you want to future-proof it for anything in the future or just increase performance on a large server you will want to configure bukkit.yml for MySQL.
While there isn't a spout gui or web UI, it's been designed in such a fashion that (if MySQL is used as opposed to SQLite) a web UI can be made later. A Spout GUI could likely also be made, but I have no plans on doing so.
Commands & Permissions * Configuration * Migrating from 1.5 to 1.6+? * Want to Edit items.csv?
It's unpopular still, but have some stats!
ToDo:
- Keep the plugin functional (always in progress)
Unlikely but Considerable Future Plans
- A different UI. Something with inventory screens.
- Some sort of basic ChestShop implementation to shut up people who say the command system is too hard (chest stocks would be synced to the main DB, and one can buy from the chest with /buy)
@kolorafa
It's bukkit persistence which I at least know supports MySQL and SQLite
@Kasushi
I looked for it in the code, but couldn't find anything. Don't have the means to test it personally. Sorry.
@Fluxty
/stock works with item names. It just assumes that if an argument is not parsable to an item name, or "p" followed by an integer (page numbers) that it is a player.
Why don't you allow people who type /stock to check the stock for a specific item rather than a specific user? Whenever I want to buy an item I don't care who is selling it, I usually want a specific item and would like to know the price so that I know what I should put my max buying amount at.
player A sets 30 stones with 30$ on the sales list and Player B sets 20 stones with 40$ on the sales list,Player C try to buy 50 stones that set one the sales list.
Player C bought Player A's 30 stones and Player B's 20stones. In this situation one bug is happened.
Player A's sales list deleted normally but Player B's sales list is not deleted normally. It stays same before Player C bought Player A and B 's stones.
@xeNiumw0w
I update this whenever I'm in the mood to change things.
At the moment, the current implementation works sans datavalues and enchantments, so it's not (in my opinion) in dire need of any sort of fix.
When you will update this?
@sanoj96
If you are trying to buy with the same player you are selling, that won't work.
Stock shows your own stock, but buy does not permit buying from oneself.
idk if this is a bug or i am doing something wrong!?
[Moderator edit: link removed] - obnoxint
@acme1pt
Well, why do you think prices for everything in actual stores are X.99?
On topic, I'd rather look back into the code for that (wherever it is, I forget) and make it show exact numbers. Forcing prices to an integer just seems wrong (not to mention it would break the DB).
@dkabot
A player can sell something, for example, at $5,09, but the price will be listed has $5,0. This is used for scamming people. How about changing the price for an int instead of a double. ?
Please continue development of this, in return I will build the Web UI as my server Westeroscraft will be using this for our official server web shop.
Wow, thank you very much. I appreciate someone picking up a free-market plugin after virtualshop went defunct.
@repairstout
Canceling others' selling of items will become a feature eventually.
As for price min/maximums, it just feels too out of the spirit of "free market".
Couple more ideas would be configurable maximums and minimums for prices, as well as some simple admin commands for canceling peoples' auctions if they're trying to sell dupe or spawned items. Like maybe /canuser [username] [itemname]
@repairstout
That should be doable just by changing the db lookup code. I'll consider making it configurable the next time I go to improve things.
Made the $20 donation to your pizza fund. Sorry, I forgot after you fixed the bug [typical douchebag]. Here's a good one for your to-do list though: have /stock list items ascending order by price, so people know exactly what they'll be paying when they type /buy in case it's more than one page.
@acme1pt
The ability to cancel selling at will causes that as an inherit issue.
I have no intention on a "max per item" in the near future (still got more bugs to fix...) but if you could stand the negativity, you could take away /cancel.
@dkabot
Is working now after I switched to Iconomy. it looks like Boseconomy was the problem. Also, could you please add an option to limit de max amount per item to sell ? I remember when using virtualshop, that my users used the shop has a storage room.
@acme1pt
I don't know what your setup is, but on mine (v1.5) I just tried "/sell 5 10 10" and it sold 5 logs for $10... so it works for me.