[ECON] ChestShop 3.7.18 (iConomyChestShop) - Chest&sign shop for economy plugins [1.8]

Discussion in 'Archived: Plugin Releases' started by Acrobot, Feb 12, 2011.

  1. Offline

    Acrobot

    An easy way to create shops - no protection plugin needed!
    You don't need to be on-line to earn money anymore!
    [​IMG]
    I've put a LOT of effort into making this plugin,
    you can donate if you appreciate my effort =)

    Requirements:
    - An economy plugin supported by Register or Vault, for example iConomy, BOSEconomy or Essentials Eco.
    Optional:
    - For additional economy plugin support - Vault
    - For Permissions: bPermissions, PEX, or any other permission plugin
    - For additional protection: LWC, Lockette, Deadbolt
    - For other item names (aliases): OddItem


    Setup:
    Copy the .jar file from the .zip you downloaded into /plugins folder.
    You can also copy the example files if you want to generate statistics page.

    Translations:
    You can change the plugin's language, here's a list of all user-made translations.
    If you want to update or submit a translation, feel free to PM me.
    Translations (open)

    Arabic - Attarhsase2
    Bulgarian - Muff1Ncho
    Czech - LordPgsa
    Chinese (Simplified) - tab415263
    Danish - Cannafix
    Dutch - speedlegs
    French- DragonSlayer875
    German - RasCas
    Hungarian - Anachen
    Indonesian - Yahya98
    Italian - Massimo1993
    Korean - Zwing87
    Norwegian - _AlexN_ and TheUnkownGamer
    Polish - Holls1
    Portugese (Brasil) - FelipeMarques14
    Russian - VADemon from http://minemania.ru/
    Slovak - LordPgsa
    Slovenian - jEErc
    Spanish - thxaaaa
    Swedish - Maxell
    Turkish - Developer
    Traditional Chinese - hellboyincs
    Vietnamese - etrubi1 from http://minevn.com/


    Permissions:
    How to create a ChestShop?
    - Place a chest, if you haven't already.
    - Place a sign 1 block near the chest (for example, above the chest)
    - On the sign, write:

    [​IMG]
    (Item name can actually be item ID or alias)
    First line will be filled in by the plugin automatically.
    Price is a combination of buy and sell price.
    You have to have B near buy price (people buy from you), and S near sell price (people sell to you).
    If you have both B and S, separate them with a colon - :
    For example:
    [​IMG]

    means that AcrobotPL wants to sell 64 diamonds for 10 currency, and buy them back from you for 5 currency.
    Also, if you put "free" instead of price, it is free to buy or sell :)

    - Now, when you finish editing the sign, if LWC is turned on in config, shop will be automatically created.
    Also, if your default protection is turned on in the config, people won't be able to break chest, sign or the block the sign is on.

    What is an Admin Shop?
    Admin shop is the shop that doesn't require a chest, because it has infinite stock.
    If you sell to it, the items will disappear, and if you buy from it, items will magically appear.
    To create one, you have to be Admin/OP. Just put "Admin Shop" (or anything specified in config file) on the first line of the sign.

    Restricting shops to some groups or regions
    You can either use permissions, or you can just put a sign ABOVE shop sign (you need to be in that group to create the sign) to restrict it to players with ChestShop.group.groupName permission
    The syntax is:
    [restricted]
    firstGroupName
    2ndGroupName
    3rdGroupName
    Only those groups will be able to use that shop

    To restrict a shop to some regions:
    - If you're using Towny, turn TOWNY_INTEGRATION on. Residents will be able to create shops in economy plots (either their or, if specified in config, any)
    - If you're using WorldGuard, you can use an experimental "chestshop" flag. Turn WORLDGUARD_INTEGRATION on and flag a region. (f.e. /region flag ChestShopRegion chestshop allow)

    Do you want to limit the maximum prices for items?
    Well, there's an app.... wait, not that : P
    You can use an experimental feature in ChestShop.
    In your config.yml, add lines like:
    max-buy-price-5: 14
    max-sell-price-5: 15

    That means that the maximum price for items BOUGHT by PLAYER is 14, and items SOLD by PLAYER using the shop is 15.

    You can also use a global setting, like this:
    max-sell-price: 200

    That means that the maximum price for items SOLD to PLAYER is 200 (if there is, for example, a max-sell-price-5 found, it will be used instead of the global sell price)

    USING SHOPS
    You could buy and sell by right and left clicking the sign for a long time.
    Now it's the only way to use the shops.
    It's SIMPLE!
    Just LEFT-CLICK to SELL to shop, and
    RIGHT-CLICK to BUY from shop.
    (This can be changed in the config file)

    DESTROYING SHOPS
    If you want to delete your old shop, simply SNEAK and destroy the sign.
    It's that easy =)

    STOCKING THE SHOPS
    You can either open the chest and stock it up, or click on your own sign - it will open chest's inventory (that way you can have chests not openable by other people for sure :D)

    ItemInfo command
    It's a simple command that shows item information.
    If you use it without any arguments, it shows you information about the item you're holding.
    If you specify item id or item name after the command, it will show you information about that item.

    Source code
    ChestShop is Open-Source =)
    You can find its code on https://github.com/Acrobot/ChestShop-3


    Thanks to:
    - kali876, ziomekYOYO and Herocraft server for testing the plugin and finding every little bug =)
    - Everyone who uses this plugin - really big thanks for this, I never thought it will be so popular
    - Everyone who provided translation - many people's lives will be easier now
    - @Nijikokun for Register
    - @LennardF1989 for awesome Persistence Reimplemented
    - @Temaska for fixing the plugin while I was on holidays
    - @VADemon for providing a great support for other users
    - @Euthyphro for his patience and really good bug spotting
    - vagrant326 for making a great price sheet
    - Epics for his great help
    :)
    If something's not working
    You can't change the sign color - that breaks the formatting.
    If that's not the issue, please give me this information, so I can help you faster.
    - CraftBukkit version (type /version in chat)
    - ChestShop version (type /csversion in chat)
    - Your economy plugin (iConomy? BOSEconomy? other one?)
    - Have you got any Permission plugin? Which one?

    [​IMG]
    Changelog (open)

    Changelog can be found on BukkitDev - http://dev.bukkit.org/server-mods/chestshop/files/
     
  2. Offline

    ItsMeYaniv

    how its for 860 if there is not iConomy for 860?
     
  3. With PROTECT_SIGN_WITH_LWC: false the same error still occurs.

    I did some further testing. The error occurs when I created the sign without a cheast beneath.
    When I place a chest and after that place a sign above the chest, the error doesn't occur.

    Do I've missed something? Is a chest for adminshops needed?
     
  4. Offline

    Acrobot

    @Madic
    No, it is not, but thanks, it seems like I forgot it :p

    @ItsMeYaniv
    iConomy works with CB860
     
  5. Offline

    jonassm

    How much do this lagg the server? For me its good now, but theres only 2 people on.
    I got 3 gig's of ram.
    2,2 x2 ghz.
     
  6. Offline

    jayzon915

    Everything seems to run fine however in the log I have

    Show Spoiler

    [SEVERE] javax.persistence.PersistenceException: java.sql.SQLException: database is locked
    2011-06-14 05:53:00 [SEVERE] at com.avaje.ebeaninternal.server.transaction.JdbcTransaction.rollback(JdbcTransaction.java:614)
    2011-06-14 05:53:00 [SEVERE] at com.avaje.ebeaninternal.server.transaction.JdbcTransaction.rollback(JdbcTransaction.java:595)
    2011-06-14 05:53:00 [SEVERE] at com.avaje.ebeaninternal.server.core.BeanRequest.rollbackTransIfRequired(BeanRequest.java:107)
    2011-06-14 05:53:00 [SEVERE] at com.avaje.ebeaninternal.server.core.DefaultServer.findList(DefaultServer.java:1475)
    2011-06-14 05:53:00 [SEVERE] at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findList(DefaultOrmQuery.java:906)
    2011-06-14 05:53:00 [SEVERE] at com.avaje.ebeaninternal.util.DefaultExpressionList.findList(DefaultExpressionList.java:201)
    2011-06-14 05:53:00 [SEVERE] at com.Acrobot.iConomyChestShop.Logging.removeOld(Logging.java:76)
    2011-06-14 05:53:00 [SEVERE] at com.Acrobot.iConomyChestShop.Logging.run(Logging.java:82)
    2011-06-14 05:53:00 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-14 05:53:00 [SEVERE] at java.lang.Thread.run(Thread.java:662)

    and
    Show Spoiler

    [SEVERE] javax.persistence.PersistenceException: java.sql.SQLException: Unsuccessfully waited [1000] millis for a connection to be returned. No connections are free. You need to Increase the max connections of [20] or look for a connection pool leak using datasource.xxx.capturestacktrace=true
    2011-06-16 21:19:45 [SEVERE] at com.avaje.ebeaninternal.server.transaction.TransactionManager.createQueryTransaction(TransactionManager.java:356)
    2011-06-16 21:19:45 [SEVERE] at com.avaje.ebeaninternal.server.core.DefaultServer.createQueryTransaction(DefaultServer.java:2021)
    2011-06-16 21:19:45 [SEVERE] at com.avaje.ebeaninternal.server.core.OrmQueryRequest.initTransIfRequired(OrmQueryRequest.java:241)
    2011-06-16 21:19:45 [SEVERE] at com.avaje.ebeaninternal.server.core.DefaultServer.findList(DefaultServer.java:1468)
    2011-06-16 21:19:45 [SEVERE] at com.avaje.ebeaninternal.server.querydefn.DefaultOrmQuery.findList(DefaultOrmQuery.java:906)
    2011-06-16 21:19:45 [SEVERE] at com.avaje.ebeaninternal.util.DefaultExpressionList.findList(DefaultExpressionList.java:201)
    2011-06-16 21:19:45 [SEVERE] at com.Acrobot.iConomyChestShop.Logging.removeOld(Logging.java:76)
    2011-06-16 21:19:45 [SEVERE] at com.Acrobot.iConomyChestShop.Logging.run(Logging.java:82)
    2011-06-16 21:19:45 [SEVERE] at org.bukkit.craftbukkit.scheduler.CraftWorker.run(CraftWorker.java:34)
    2011-06-16 21:19:45 [SEVERE] at java.lang.Thread.run(Thread.java:662)


    Any ideas?
     
  7. Offline

    Acrobot

    @jayzon915
    Not really a bug, if you want to fix that, delete plugins/iConomyChestShop/iConomyChestShop.db

    @jonassm
    It doesn't lag at all. It only executes if player shops, and there's anti-flood protection (one player can execute transaction every 100 ms)
     
  8. Offline

    jonassm

    Nice. Does this support Banks in BOSEconomy?
     
  9. Offline

    Linaks

    New German Translation for 3.0 BETA3:

    Code:
    prefix: "&a[Geschaeft] &f"
    iteminfo: "&aItem Information:&f"
    options: "&aVerfuegbare Optionen: "
    ACCESS_DENIED: "Du hast keine Rechte das zu tun!"
    NOT_ENOUGH_MONEY: "Du hast nicht genug Geld!"
    NOT_ENOUGH_MONEY_SHOP: "Geschaeftsleiter hat nicht mehr genug Geld!"
    NO_BUYING_HERE: "Du kannst hier nichts kaufen!"
    NO_SELLING_HERE: "Du kannst hier nichts verkaufen!"
    NOT_ENOUGH_SPACE_IN_INVENTORY: "Du hast nicht mehr genug Platz im Inventar!"
    NOT_ENOUGH_SPACE_IN_CHEST: "Es ist nicht mehr genug Platz in der Truhe!"
    NOT_ENOUGH_ITEMS_TO_SELL: "Du hast nicht mehr genug Items, um zu verkaufen!"
    NOT_ENOUGH_STOCK: "Dieser Laden hat keine Sachen mehr zu verkaufen."
    NOT_ENOUGH_STOCK_IN_YOUR_SHOP: "Dein %material Geschaeft ist ausverkauft!"
    YOU_BOUGHT_FROM_SHOP: "Du hast %amount %item von %owner fuer %price gekauft."
    SOMEBODY_BOUGHT_FROM_YOUR_SHOP: "%buyer hat %amount %item fuer %price von dir abgekauft."
    YOU_SOLD_TO_SHOP: "Du hast %amount %item an %buyer fuer %price verkauft."
    SOMEBODY_SOLD_TO_YOUR_SHOP: "%seller hat %amount %item fuer %price an dich verkauft."
    YOU_CANNOT_CREATE_SHOP: "Du kannst nicht solch einen Shop eroeffnen!"
    NO_CHEST_DETECTED: "Chest wurde nicht gefunden!"
    ANOTHER_SHOP_DETECTED: "Von einem anderen Spieler wurde eine Chest erkannt!"
    CANNOT_ACCESS_THE_CHEST: "Du hast keine Rechte fuer diese Truhe!"
    PROTECTED_SHOP: "Truhe wurde mit LWC erfolgreich erstellt!"
    SHOP_CREATED: "Geschaeft wurde erfolgreich eroeffnet!"
    INCORRECT_ITEM_ID: "Du hast eine unkorrekte Item-ID ausgewaehlt!"
     
  10. Offline

    Acrobot

    @Linaks
    Thanks :)

    @jonassm
    Not yet, as banks will be probably deleted from iConomy, so it will just be a feature in BOSE, however, I'll try :)
     
  11. Offline

    Tokyrn

    I have error with permision the player can't create shop whith IconomyChestShop.shop.*
     
  12. Offline

    Acrobot

    @Tokyrn
    This is somehow weird. I have tested Permissions on Linux - didn't work. The same file on Windows - works :/
    Could you just add every permission one by one?
    BTW, it's iConomy, not IConomy
     
  13. Offline

    Linaks

    No problem. I needed it for my server, so i thought, I also can post it here and a publish this translation
     
  14. Offline

    lucky644

    We have a rather severe issue with 'virus' bread.

    Bread bought from a shop sometimes will become instant duplicating. meaning once it is in your inventory, it then fills it up, and you can never get rid of the bread, any bread you toss on the ground and someone else picks up, they now have the 'virus' bread, the only way for us to get rid of it is to /clear the players inventory via admin.
     
  15. Offline

    winter4w

    can you make it so that there can be a sine on top of the other that has the stock
     
  16. Offline

    extracharged

    @acrobat
    i think cos i was using an older version of permissions, just installed 3.1.5b and works perfectly
    thanks :D
     
  17. Offline

    ItsMeYaniv

    how can i do infinte items in the chest?
     
  18. Offline

    Felonu

    If you use AdminShop as the first line in a shop you don't have to link a chest and it creates the items on buy... if you want the money to go into an account then you have to set an account name to it in the config
     
  19. Offline

    JanTTuX

    i have problem with my one player... he has a permission to sell but he cant do /sell
    everyone else can do that!
    player name : pOrtal
     
  20. Offline

    Acrobot

  21. Offline

    shavid

    Great plugin - really enjoying using it - switched to it from Citizens NPC and havn't looked back (Though nothing against that mod - its pretty wicked) , one question is, is it possible to disable the message you get when a transaction is made on one of your shops?
    The Spam can be quite annoying.
    Anyway great mod once again and cheers for any help i reliaze this has probably alreay been asked - so sorry for that.
     
  22. Offline

    Acrobot

    @shavid
    If you have iConomyChestShop, you can change that in config. In ChestShop 3, there isn't a way to do it yet :)
    Thanks :)
     
  23. Offline

    shavid

    Ahh thanks chief - I'll just have to work out what version i have now, do you know the name of the config option?

    I see the line

    'Somebody_bought_items_from_your_shop: '<buyer> bought <amount> <item> for <cost>!'
    '

    Do i simply need to remove this line?
     
  24. Offline

    Acrobot

    @shavid
    Not really, but I see you've got iConomyChestShop.
    Also, I see there is no way to disable that now, sorry :(
     
  25. Offline

    shavid

    Alright no worries - It can be a tad of a pain when im trying to speak to people and all i see is that message come up - maybe if their would be a way to enable / disable viewing that in the config in next release or a future on that would be really cool, though i appreciate its a lot of effort, thanks a lot for your help and keep up the good work,

    Shav.
     
  26. Offline

    Acrobot

    @shavid
    It isn't a lot of effort - I am adding this to ChestShop 3 Beta 4 now, will be up today or tomorrow :)

    EDIT: It seems like I won't add this now, (I want to configure my own preference system)
     
  27. Offline

    vapid2323

    Great plugin, just donated.....

    Can you please try and allow for some signs to only be used by some permission groups? I think you might have it in the works but it would be REALLY nice :)
     
  28. Offline

    Acrobot

    @vapid2323
    Hey :)
    Thanks :)
    What exactly do you mean? Do you mean that for example player_x's shops could be used by group_x, and not group_y?
     
  29. Offline

    vapid2323

    I have a donation level that is able to sell some items to a admin shop for a higher value, but I would love to limit the people that can use said signs by what group they are in.

    So My donor level one guys can sell gold to the first sign but not the second. I am not a java coder but would it be possible to detect a sign next to the shop sign that said:

    [Restricted]
    -Donor1
    -Donor2

    Where the "-Donor1" is a permission group?

    Hope that makes helps, just not sure if its possible
     
  30. Offline

    duhfux

    What would be useful is when people click on the chest to buy, it gives them a message like 'click the sign, not the chest!' as the main problem with newbies and the 'shop not working' is that they are clicking the chest.
     
  31. Offline

    Acrobot

    Yes, it would be possible (At least, I'll try!) :)
    The sign would be on the top of last sign :)

    @duhfux
    Haha, ok :)
    Just change the "Do not steal" message :p
     

Share This Page