DynaMark - a simple dynamic market / shop
Overview
DynaMark is lets players buy and sell commodities at automatically determined prices which are based on demand.
Latest Download
Public Release
Standard
Direct v0.1.1.0
Alternate Command
Direct v0.1.1.0a
- per command permission support (permission nodes)
- switch to database use
- you can still use a flat file to add large groups of commodities at once
- in game (console or play) commands "/market add" and "/market remove" are now used to manage which commodities are on the market
- MYSQL support (info)
- unspecified bug fixes
Development Bulid
Standard
BitTorrent
Direct v0.2.0.0
Alternate Command
BitTorrent
Direct v0.2.0.0a
- remove old broken method for config
- allow multiple names per commodity
- add commodity suggestion on misspellings
- add new config method
- allow per commodity enabling and disabling of trade-ability
- allow per commodity configuration of names
There are significant changes in the way commodity information is stored and the way in which the config file is used and its format. I have not yet written any sort of 0.1.x.x to 0.2.x.x conversion tools. As of right now, if you want to keep the commodity data (for example the current prices) which you have, you will need to look at a new database file, look at yours, and then manually convert it. I think this pretty much involves just changing the 'name' of each commodity to the appropriate 0.2.x.x format.
ChangeLog
The change log can be found here.
Database Manipulation
For now, the easiest way to add or remove items is to use a sqlite editor. http://sourceforge.net/projects/sqlitedbrowser/ has been recomended by missingscrews. Sqliteman is my preferred alternative.
Player Commands
- /buy
- Buys an amount of the specified item
- Usage: /buy cobblestone 128
- /sell
- Sells an amount of the specified item
- /sell all
- Sells all sellabe items in your inventory
- Usage: /sell pork 7
- /price [item] [amount (optional)]
- Checks the price of a specified item
- Usage /price diamond
- /market [top | bottom | list]
- Has three uses, 'top' and 'bottom'. 'top' returns the top 10 most expensive items on the market. 'bottom' does the same for the least expensive items.
- Or 'list' to show all available items on the market
- Usage: /market top
Config
Has it's own page now.Click Here
Longer Description
When first run, DynaMark will create a database of items which are available to sell. All items start out with a value of $10 and this will go up by $0.01 for every one of the item bought. The reverse occurs for every one of the item sold. You can modify this database as you see fit.
Source
github
- Anyone is welcome to help out on the project, just do some work and make a pull request.
Donations
Donations accepted at:
1M8i6TWmnTfWCuTQJMQUkX8xJbCEctaXkF
- Or
http:btc.to/1qq for short
- I welcome donations that are even less than $0.01
@gearsgod
oh, I'm sorry that I was unclear, it's about comment 45.
are u talking about comment #47? or #45?
@gearsgod
I have added your requests to the queue ;) thanks for the input
@xtyro
Using a database will, of course, be optional ;)
@xtyro
Not true, I host my own server myself, so I get everything I need for FREE!
@gearsgod, better host needs better money, but I don't see so many sponsors around.
I am testing this plugin at present. I miss a feature of 'drift' the price to the medium during idle time. I mean, if an item is not sold or bought during some time, the price starts to move slowly to the medium value. There are some items eg. wheat (generally plants) which are mostly sold, the whole players income goes from that, but after a while the price is at the minimum and left there forever, what is not good. I would like that if there is a big supply in short time, the price goes down, as it is, but after some time it may go up to the basic medium. Same thing if there is big demand for an item, the price is going up, but after some time it would go down to the medium.
@xtyro
You really should get a better host if they don't give you MySQL,
and yes if he also made it so it used SQLite, it wouldn't be to hard as after hes done with supporting MySQL he just needs to add COMMIT and BEGIN TRANSACTION to support SQLite.
I can't use mysql on my rented server, so leave us an option to use flat file or h2.
can you make it so it is configurable as so even once something reaches 0.01, as soon as someone buys it, it starts going up in price again instead of having a item wait list amount?
this seems silly to me to have a item wait list.... also make it when u add mysql, so that each player can see how much he/she has bought/sold of each item.
@gearsgod
Yes, thanks for your input. I agree, I do need to get some database going on this.
did you see my ticket? I posted what this needs in that.
@smickles
Thank.. I understood. changed to 0.01...all
@goldseed
I think, if you want it to work the way you are expecting it to work, you should have the spread and changeRate set at the same number.
If (spread > change rate), prices will drop faster than they rise. Spread is a feature that does this because some people want this to happen. I've seen it described as a 'money sink' and can be used to make it more difficult for people to 'play the market' to get rich.
If (spread < change rate), people could make money just from buying items and then selling them right away.
if (spread == change rate), there is no 'money sink', and the only way people can make money from buying and selling items is to buy an item at a low price, wait for others to buy the item, and then sell the item at a higher price.
there is a problem...
see my screen shot..
I bought 100 pork. and sold it back...
price go up by 1.. but down by 2...
I think this takes places irregulary.. but.. it makes all prices go down...
price of Diamond of my server is 70..
Is this bug?
or... what is spread..exactly...???
my setting..
pork: minValue: 0.1 data: '0' value: 5.97 number: 319 changeRate: 0.01 spread: 1.0 maxValue: 10000.0
@Ghaz_ranka
To accomplish this, you should add an item to 'config.yml' in the 'DynaMark/" folder.
Here is an example from my own config.yml:
Notice that the relevant options are identical to a typical 'wood' entry (number: 17) except that the 'data' option has a value of '2' instead of '0'. (the ' are important)
2 is the byte data value for birch wood. You can find more about the byte data for various items in the minecraft wiki under the Data section.
please remember, when editing config.yml
++
@ViralPandemic
I will look into it as a solution to the 'multiple names per item' work which I'm about to do.
Would it be possible for this plugin to implement the itemsdb that plugins like essentials use for the /give commands? This way users can use aliases/partial names. Also, the prices would be much easier to edit if it was a sqllite table or CSV file.
@goldseed
Will do. It probably should have been that way from the beginning. @.@
This one oughtta come fairly quickly.
@smickles
thanks!
and..
I want to use commands like /price and /market top at console...
Would you please... ?
Thanks for great plugin.!
@goldseed
I dunno if my server (MostOfMany.com) has reached equilibrium yet, but I've posted the config.yml here
anyone eles is welcome to post theirs there or in the forum