Inactive [ECON] DynamicEconomy v .9.2 - Prices based on Supply & Demand! CB [1.2.5-R4]

Discussion in 'Inactive/Unsupported Plugins' started by kSafin, Jan 6, 2012.

  1. Offline

    Dpasi314

    When i installed it, first time, USERS could /setprice!!!!! If this is a bug, fix it, if its not tell me how to fix it. I've already tried taking away all permissions but it still doesn't work
     
  2. Offline

    Patalkok

    if this plugin also integrates chestshop in the future, it will be just perfect!

    p.s : great plugin,thanks!
     
  3. Offline

    kSafin

    It absolutely will, that'll be coming up within the next 2 weeks (I hope! :))

    As of now, everyone, I give you, VERSION .8.53! and its wonderful changelog:

    • DynamicSign now supports purchase & sales taxes!
    In order to have a DynamicSign display the current purchase or sales tax, follow these steps:
    1. On the first line, write "dynamicsign" as usual
    2. On the second line, write either "purchasetax" or "salestax"
    3. That's all, Click done with the sign and the DynamicSign will render
    The Tax signs will update dynamically just like any dynamic sign (if the tax changes). So it'll update whenever you change the tax in the config and reload (either manually or via command) OR if you use the in-game /settax command.
    • A Fix for loans!
    When I say FIX loans, I'm referring to the problem where, if a user has less than what's due (say, $500 is due and they have $400), DE takes out what it thinks is $500, bringing their balance to $0 (so, they owe $100 more but didn't pay it). This even happens if they owe any amount and have $0, DE will charge them thinking they paid their dues! Well now there's a solution
    The answer? DEBT. Basically, when its time to pay a loan, DE will charge the user what's due. If they can't pay the entire amount, then DE will mark down how much they have left to pay in a "debt" field for the loan, and mark them as IN DEBT by adding a "debtStatus" field to the loan and setting it to true. Also, if any of their loans (since you can have multiple loans) are in debt, then the entire player is marked as IN DEBT.
    So here's the kicker: if they're IN DEBT, DE will not let them take out any more loans, and pretty much charge them every 15 seconds until their loans have been paid off.
    Overall, they can take out loans as long as they are not marked as IN DEBT via loans.yml.
    • Custom Aliases
    I've added alias.yml, a brand new file that holds the aliases for all the items. (What is an Alias? Well, for example, the name of stone in Items.yml is STONE, yet in-game you can buy stone either by buying STONE, SMOOTHSTONE, or 1. These three names are "aliases" of STONE.)
    So, you can now added custom aliases to the file for any item. Simply open alias.yml, go to the end, and add an alias in the format ALIAS: ITEM, where ITEM is the true qualified name of the item as in Items.yml, and alias is a valid, un-taken alias. USE ALL CAPS, OR THEY WILL NOT BE RECOGNIZED.
    OR, if you prefer, you can use the in-game /addalias [Alias] [Item] and /removeAlias [Alias], which are both given access via the permission node dynamiceconomy.alias.
    Enjoy!~
     
  4. Offline

    Elements11997

    Chestshop support please! Many server owners don't use /buy or /sell, they usually make them go to the mall with /warp mall. This would be perfect with chestshop, thanks!
     
  5. Offline

    kSafin

    ChestShop support will absolutely come.

    But it'll only come as fast as I can make it.

    Just hold onto your seat and be patient :p

    I've been hard at work on this version, and this is a feature that I believe no economy plugin has, and that you've been requesting for a while.
    So here it is, I deem it, ITEM GROUPS.
    Item Groups, is, basically this: You can make groups in groups.yml, and in those groups you can put items. When you first use this version of DE, and groups.yml generates, you'll notice a sample group I made, group "ORES". This group contains all the ores, like diamondore, goldore, coalore, etc.
    So, why do you care about groups and why is it so extraordinary? You can limit users to only purchasing or only selling items from particular groups. Your users.yml file will also look different. Users will have two new fields; "PURCHASEGROUPS" and "SALEGROUPS". These two fields indicate which groups this user can sell and buy.
    You'll also notice, that users, by default, start off with the group '*'. This magical group lets them access ALL GROUPS. So if a user has this as a purchase or sale group, they'll be able to sell and purchase ALL items.
    However, if you take away '*', then the fun begins. You can then assign particular users to only be able to access custom groups you've made. So, you can remove '*' from a user, and then write 'ORES' under 'PURCHASEGROUPS'. This means that now they can only purchase the items in the ORES group. You can give users access to multiple groups simply by adding another line, beginning with a hyphen and a space, followed by the group name "- ORES".
    IN ORDER TO ACTIVATE ANY AND ALL OF THESE FEATURES, YOU MUST SET GROUP-CONTROL IN CONFIG.YML TO TRUE

    Now, that's not all I added in this update. To complement this massive new addition to DE, I've added a load of commands so that you can make use of it from in-game. Here's the command and what they do:
    /canibuy [Item]
    This command lets a user see if they can buy a certain item. This is useful because your users may not be very clear on what they can and can't buy if you use groups. Also, if an item is banned, this will tell them they cannot buy it.

    /canisell [Item]
    Same as canibuy, except it'll tell a user if they can sell a particular item. Likewise, it'll say they cannot sell it if the item is in the list of banned sales items.

    /creategroup [ItemGroupName]
    This command is pretty self-explanatory. Given a name, it'll create a new item group in groups.yml with that name.

    /removegroup [ItemGroupName]
    This command deletes an existing item group from groups.yml.

    /addtogroup [ItemGroupName] [Item]
    This command will add a particular item to a particular item group. So calling/addtogroup ores diamondore would add diamondore to the group ores (assuming it isn't already there)

    /removefromgroup [ItemGroupName] [Item]
    This command will remove an item from an item group, if it's already there.

    /addgrouptouser [ItemGroupName] [Purchase|Sale] This command will give a user access to a particular group. For example, if you wanted to let user BOB be able to SELL stuff from group ORES, you would call
     
    Last edited by a moderator: May 22, 2016
  6. Offline

    kSafin

    V .8.7
    Bug Fixes

    • DynamicSigns for taxes now round taxes correctly.
    • /curLoans now displays correct amount owed (if in debt)
    • /curLoans will not throw internal errors if you have no loans when calling it.
    • Fixed rounding error on debt payment notification
    • Fixed an occasional trailing decimal in /settax
    • Fixed problem where you couldn't set floor or ceiling equal to price
    New Features

    Region Flags

    Region Flags are a new part of DE that will make regions more useful and powerful.
    Essentially, each region will now have its own sales/purchase tax, banned sales/purchase lists, and allowed purchase/sale groups.
    IN ORDER TO USE REGION FLAGS, YOU MUST SET USE-REGION-FLAGS IN CONFIG.YML TO TRUE.
    Additionally, limiting people to buying/selling only certain Item Groups in regions (aka, the Item Group flag for regions) will only work if you have group-control in config.yml to true. (AKA, you must use groups for all of DE if you intend to use it for regions)
    New Commands

    In addition to this new feature, I've made some new in-game commands for you to be able to edit region flags on the fly, and then some.
    NOTE: The previous command called /curregion, which was used to find out what region was currently selected, has been renamed to /curselectedregion
    /curregion
    This new command lets users easily view information about the region they are in. When you call this command, it will tell you the X, Y, and Z range of the region, as well as the purchase/sales tax, banned sale/purchase items, and allowed sale/purchase groups.

    /addregiongroup [Region] [Sale|Purchase] [ItemGroup]
    This new command lets you add an allowed item group for sale or purchase in a specific region.

    /removeregiongroup [Region] [Sale|Purchase] [ItemGroup]
    This command lets you remove an allowed item group from sale or purchase in a specific region.

    /banregionitem [Region] [Sale|Purchase] [Item]
    This command bans an item from sale or purchase in a specific region. Just like your usual /banitem command, but for regions.

    /unbanregionitem [Region] [Sale|Purchase] [Item]
    This command unbans an item from sale or purchase in a specific region. Just like your usual /unbanitem command, but for regions.

    THE /settax COMMAND HAS BEEN MODIFIED, THIS IS THE NEW SYNTAX:
    /settax [Region|'Global"] [Sale|Purchase] [Amount]
    This command will set the sales/purchase tax of a region, OR the world. If your first argument to the command is global, then it will set the global taxes. If your first argument is the name of a region, it will set that regions tax. The rest of the command is the same as it previously was.
     
  7. Offline

    Eps5000

    Now, I'm relatively new to MC but i gotta say congratz on this... I love the idea of using this and most likely will when chestshop support comes out (I have a unfounded hatred of sign-based plugins) but all my shops are NPC by way of the Citizens plugin, any chance support could be added for this? I wouldn't be upset if not but I think it's be cool to buy from an actual NPC rather than a box... :/
     
  8. Offline

    kSafin

    Somebody asked me that a long time ago.

    Short answer: yes

    Slightly longer answer: I'm focusing on finishing DynamicEconomy as a core plugin and releasing it as v 1.0. This requires a lot of features to be added, anywhere from ChestShops to MySQL support, to other things. I'm not going to look in to interaction with other plugins until the release is done. So, I'd probably look into Citizens compatibility, but not until post v 1.0.
     
  9. Offline

    kSafin

    [​IMG]
    EnderEngine has arrived

    EnderEngine is a revolutionary DynamicPricing Engine that will make dynamic price changing MUCH smoother.
    In order to learn the ropes, I recommend you read the EnderEngine help pageHERE

    Here's the changelog for what's changed with the introduction of EnderEngine:
    • use-boundaries in config.yml removed, because boundaries are now required with EnderEngine.
    • use-percent-velocity in config.yml removed, because velocity is obsolete with EnderEngine.
    • use-stock in config.yml removed, because stock is required with EnderEngine.
    • /setprice removed. Since EnderEngine calculated prices based on stock, there's no reason to set the price manually, or else it'd be an innacurate and wrong price. If you want to change the price, you should modify the stock. Price will then be calculated from the stock.
    • "Velocity" and "Spread" are officially deprecated and have been removed from the new default Items.yml. As such, /getvelocity, /setvelocity, and dynamicsigns for velocity no longer exist.
    • A new property, "Span" has been added for all items in the new Items.yml. Additionally, /getspan and /setspan, with the permissions dynamiceconomy.getspan and dynamiceconomy.setspan were added.
    • Span DynamicSigns added.
    • A new default config.yml has been made. Because EnderEngine calculates prices based on stock, floor, ceiling, and span, you can no longer arbitrarily define prices like the original config does. The new default config has prices for all the items with a span of 100, stock of 50, and floor and ceiling as they did before.
    • New quicker and easier way to load the default configs, so you shouldn't have a problem with files not generating anymore.
    If you wish to generate the new config files, back up your DE directory, delete it, then restart your server and the new files will be generated.

    Guys, the EnderEngine is BIG news for DynamicEconomy. This new DynamicPricing Engine revolutionizes the way DE sets prices, and the way your Economy runs. Update ASAP to experience its amazing scalability, efficiency, and realism.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 22, 2016
  10. Offline

    lBockl

    Hi
    I realy realy like the idea of this Plugin but I do not get is running on my server :(

    Installed: DynamicEconomy, bPermission, Vault, WorldGuard, Worldedit

    Here the problem
    I can´t set shopregions.
    It says: I´m sorry, but you do not have the permission to....
    bPermission setting is Admin and Vanilla Op (tested with and without bPermission)
    Worldguard set me to Owner

    Nothing worked so I tried to simply write it into the Region.yml but false :(
    Restart is clearing the Region.yml and while the Server is running changes do not work...

    Anyone got an Idea what I am doing wrong? :/


    If you need more information be welcome to ask :)

    Thanks a lot for all answers :)

    (I am a Noob with Bukkit so be patient :) )
     
  11. Offline

    kSafin

    Are you using v .8.9?

    v .8.95

    Changes: Mostly bug fixes and small feature enhancements.
    • /canibuy and /canisell now obey region flags. I forgot to update them when region flags were released and they gave you incorrect messages when used in regions with restrictive flags.
    • Fix for the EXP exploit. Now, buying and selling exp works correctly and without exploits.
    • DE will recognize when a player tries to sell an item but only has the enchanted version of the item, and not let them sell it.
    • /sell inventory fixed to comply with EnderEngine.
    • /sell will now check to make sure you have enough space in your inventory to purchase what you want. ALSO, tools and armor will no longer come into your inventory stacked. Instead, if you buy, say, 4 shovels, you will get 4 different shovel items.
    • /price will now show price with tax of the region you are in, if any.
    Enchantment Trading

    Three new commands:
    • /buyenchantment [Enchantment] [Level]
    • /sellenchantment [Enchantment]
    • /priceenchantment [Enchantment] [Level] (Buy|Sell)
    Instead of selling and buying enchanted items (which would be hell since enchantments can stack), you can now sell and buy enchantments from/for a specific item.
    So, you must hold the target item in your hand. Then, if you wish to enchant it, you can call /buyenchantment to enchant this held item. If this item has enchantments on it you would like to sell, you can hold it and call /sellenchantment.
    /priceenchantment is just like /price in terms of what it does and syntax.
    All enchantments have an entry in Items.yml at the end as what they are called. You may be wondering "Well, then how do you price enchantments at different levels?". Simple. The price in Items.yml for the enchantment is the price for a Level I enchantment. A level II version of this enchantment is twice the price, a Level III three times the price, and so on.
    So, price = price * level.
    DynamicSigns support enchantments
    ADDITIONALLY, DE will now distinguish enchanted items and non-enchanted items in your inventory. So if you have 4 regular bows and one enchanted bow and try to call /sell bow 5, it'll know you only have 4 bows to sell. If you call /sell bow 4, it'll sell only the regular ones and leave the enchanted one as is.
    ADDITIONALLY, the huge long EXP mess has been fixed. EXP now sells and buys correctly! Hurrah!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 22, 2016
  12. Offline

    F9_2

    Wow, great job, awesome economic system, By the way is it possible to make for example a online application where you can check all prices and item's prices rises and drops from the last few days/weeks? because it would be perfect if you could make something so people could check such information in a browser.
     
  13. Offline

    kSafin

    Thanks!

    Absolutely, that's one of the planned features. I'm working on MySQL-specific code right now, and then once that's in DE, I'm going to make a DynamicEconomy web-addon that'll display the data from MySQL in a web interface.

    MySQL will be required for the web interface.
     
  14. Offline

    iHazDiamondz

    cant disable stock? plz tell me how
     
  15. Offline

    kSafin

    Disabling stock is no longer an option. It is now mandatory.
     
  16. Offline

    FTWin01Gurl

    Suggestion: Make an API that grabs various of variables. I want to make a private plugin connecting to this.
    OR
    Add the ability to create signs that follows:

    Code:
    [PRICE CHECK]
    <item>
    BUY
    SELL 
    
    It gets the current buy price for <item> as well sell. I would be, forever, happily if you could do this for me.
    Thank you.
     
  17. Offline

    kSafin

    API is a post v1.0 feature
     
  18. Offline

    FTWin01Gurl

    Ooh. I see.
     
  19. Offline

    kSafin

    v .8.96


    • Minor EnderEngine enhancements. Prices will no longer show as huge trailing decimals, as all prices are now rounded to 2 decimal places
    • As such, price changes will also be in two decimals.
    • RandomEvents have finally been fixed and work well, but the format for them has changed, please delete randomevents.yml for DE to generate a new one with the correct layout.
      • Essentially, there's a few changes..
      • With the advent of EnderEngine, the choice between 'price' and 'stock' change in RandomEvents is gone. The only thing RandomEvents now change is stock, which, by effect, changes price right away.
      • So, you will define a description, item to affect, and amount. the "item" field can be an alias; DE will recognize it and adjust it to the true item name. Amount is the amount by which to change stock. This can be positive or negative.
    • /renewpricing has been added. This command basically goes over all of your items, and re-calculates their price based on the current stock, in case for some reason price isn't changing based on the stock, or you manually changed stock in Items.yml and need the price re-calculated.
    • Added field "tax-account-is-bank" and "loan-account-is-bank" to config.yml. Set these to true if the account specified for taxes/loans is a BANK account instead of a player account (since some plugins like BOSEconomy have Bank Accounts). This will then deposit taxes and deposit/withdraw loans from the specified bank account(s).
    • Fixed problem where items with different damage values would sell. So, doing /sell wood when having birchwood would make DE think you actually have wood and let you sell it, yet not take the birchwood.
     
  20. Offline

    edoreld

    Hi kSafin,

    First of all, thanks for your hard work on this pretty rad plugin!

    Second of all, I've been having weird bugs with /buyenchantment. This is what I get when trying to use the command with an admin ranked player (- dynamiceconomy.* permission given).

    This happens on a Tekkit 3.0.4 server running on a linux-based operating system.

    -----

    org.bukkit.command.CommandException: Unhandled exception executing command 'buyenchantment' in plugin DynamicEconomy v.8.96
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166)
    at forge.bukkit.ForgeCommandMap.dispatch(ForgeCommandMap.java:54)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:491)
    at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:917)
    at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:873)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:855)
    at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:234)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:121)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:556)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:453)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
    Caused by: java.lang.NumberFormatException: For input string: "2,258.82"
    at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
    at java.lang.Double.valueOf(Unknown Source)
    at me.ksafin.DynamicEconomy.Transaction.buyEnchantment(Transaction.java:1568)
    at me.ksafin.DynamicEconomy.DynamicEconomyCommandExecutor.onCommand(DynamicEconomyCommandExecutor.java:1018)
    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
    ... 13 more
     
  21. Offline

    kSafin

    You're welcome!

    And sure, I recognize the error. I guess I got a little sloppy and forgot to disable something.. anyways, I've made the quick fix, and since its so quick and small I'll just give you the link to the DE version with the fix and the fix will be made public next release

    http://dl.dropbox.com/u/30676341/DE Alt/DynamicEconomy.jar

    The above link will take you to the DE version with the fix for this bug.

    Let me know if it still occurs.
     
  22. Offline

    edoreld

    That worked like a champ!

    Thank you very much, good sir!
     
  23. Offline

    kSafin

    You are most certainly welcome


    • I've added Metrics to DynamicEconomy
    Nothing major at all, but basically your DynamicEconomy will send usage reports to mcstats.org, which'll help me with development and whatnot.
    I really encourage you to use it; it doesn't take any private server information or anything like that, and I'd love to keep track of who uses DE, how many people use DE, what they use, etc, all provided by mcstats.org.
    Chances are, you already have plugins using metrics :p

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 22, 2016
  24. Offline

    Darklom

    When I set alt-commands to true and I do /debuy and /desell it says wrong usage use /buy which conflicts with buycraft.

    Although the command /debuy does what it's supposed to, it's annoying to see the "wrong usage" thing.
     
  25. Offline

    kSafin

    v.9.0

    • DynamicShops!
    I've finally added Transaction Signs to Dynamic Economy.
    Me and a few other people came to a consensus that ChestShops don't really make sense for this type of plugin and it'd be near impossible to implement a good ChestShop system. So, instead, I've added Transaction Signs for you to be able to limit your economy usage even more.
    Here is how you make a DynamicShop:
    [​IMG]
    [​IMG]
    Line 1: "dynamicshop" Line 2: Item or Alias Line 3: Amount (per transaction via sign)
    So once the sign is created, you can buy the item listed on it (in the quantity listed on it) by LEFT CLICKING it, and you can likewise sell the given quantity of items by RIGHT CLICKING it.
    Another little thing: I've added "enable-buysell-commands" to config.yml. If you set this to false, the /buy, /sell, /debuy, and /desell commands will be DISABLED. Therefore users will not be able to access the economy via /buy or /sell and will be OBLIGATED to sell and buy ONLY via DynamicShops.
    Further, I've added the permissions: dynamiceconomy.createshop dynamiceconomy.createsign
    To designate who can create DynamicShops and DynamicSigns, respectively.
    DynamicShops will update the price of items, just like DynamicSigns did.
    DynamicShops will also respectively use region flags, taxes, groups, etc. Everything the regular /buy and /sell command did.
     
  26. Offline

    kSafin

    Seems like my webserver is up, Updater errors should be gone now.

    ALSO,
    • Fixed the bug where the config setting for "Enable-buysell-commands" was non-responsive. Setting this option will now correctly turn on or off buysell commands. An additional new setting will let you disable/enable enchantment commands.
    ALSO:
    DynamicShops support Enchantments!

    The syntax for an enchantment shop is a bit different. The first line is similarly "dynamicshop" The second line is the item of an enchantment like "fortune" The third line is the level of the enchantment this shop will sell/buy (yes, only one level sold/bought per shop) Fourth line blank, as so:
    [​IMG]
    Here's the result:
    [​IMG]
    You'll notice that prices are now displayed with currency and price. The currency symbol used is the one in config.yml.
    ALSO, if you have existing DynamicShops, their prices will be updated to the new format whenever the price of the item of the shop updates.
     
  27. I cant download the 9.1 update. Link is broken....
     
  28. Offline

    kSafin

  29. Offline

    kSafin

    v .9.2 is out with major bug fixes.
     
  30. Offline

    whitas

    Hello

    I have strange problem, time to time there is a error message in server.log, like this:

    2012-07-12 10:29:25 [WARNING] Task of 'DynamicEconomy' generated an exception
    java.lang.NumberFormatException: For input string: "ďż˝"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1242)
    at java.lang.Double.valueOf(Double.java:492)
    at me.ksafin.DynamicEconomy.EnderEngine.calcPrice(EnderEngine.java:220)
    at me.ksafin.DynamicEconomy.EnderEngine.incrementStock(EnderEngine.java:136)
    at me.ksafin.DynamicEconomy.RandomEvent.run(RandomEvent.java:80)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:126)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:533)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:459)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)

    I've double checked, there is no such string ďż˝ in none of my configs. Can you help me to resolve this issue ?


    Very good plugin ! :)

    probably i've found the reason. In randomevents.yml the Item I've put in event3 with ID. I thought it should be as Integer so I put Item: 56

    but apparently it should be rather Item: '56'

    Please confirm.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 22, 2016

Share This Page