Inactive [ECON] BetterShop 2.0 - A 'Better' Server-wide Shop - Spout compatible :) [1240]

Discussion in 'Inactive/Unsupported Plugins' started by jascotty2, Jul 6, 2011.

  1. Offline

    jascotty2

    BetterShop - The "better" global command-based shop
    Version: 2.0
    Download: (static jar) BetterShop.jar
    download page with older versions


    BetterShop is now primarily on BukkitDev

    (you can still come this forum for some help, though)


    this plugin (original concept) was first made by jjfs85 here
    however, he stopped development (that i know of) once i started

    Features:
    plugin support
    for economy, currently dependent on one of:
    Permissions support

    Help support

    configurable
    Fully configurable colors and message text in config.yml file
    shoplist can have text alignment (read config for more info): <item> <l(eft-aligned)> <buy and sell info>
    - uses minecraft font character spacing, so is very close to perfectly aligned in chat
    shoplist can optionally not show listing tail (or head, but recommended to leave <page> of <pages>)
    Items can be colored in the new itemsdb.yml file
    also in itemsdb.yml: kits!
    - define your own kits that the shop can sell
    - three examples provided, edit and add to your liking
    Configurable Options:
    -max pagesize when printing shoplist
    -whether to broadcast all transactions publicly
    -name of the pricelist file/table
    -customsort: a custom sorting order, so you can have items at the top of the shop list
    -allowbuyillegal: if someone without BetterShop.admin.illegal can buy illegal items
    -whether maxstack should be honored
    -if used tools can be bought back
    -default color for items
    - and more!

    shop flexibility
    shopcheck will run a name comparison check, and return all matching items
    Item sub-type support for dye colors, cloth colors, etc: magentacloth = 35:2 = cloth:magenta
    "all" is a valid amount when buying or selling: "/sell cobblestone all" or "/sell all cobblestone"
    damaged tools can be resold for an adjusted value of sellprice*(1-(damage/maxdamage))
    buystack can be given multiple items, or number of stacks: "/buystack wool 5" or "/buystack wool blackdye reddye"
    shopsellall can be given multiple items (/sell all cobble gravel flint dirt)
    plural-insensitive items: if not found, will check if plural & remove "s"
    not just items can be bought anymore: can now buy LivingEntities, like dogs (wolf)
    signs can be used for buying & selling
    - first line: [BetterShop] (not case-sensitive)
    - second line: action: buy [amt], buyall, buystack, sell [amt], sellall, sellstack
    - third line: item (name, id, etc)
    - fourth line: unused (was going to make price, but decided on pricecheck instead)
    - to activate, someone with BetterShop.admin.makesign must left-click the sign.. the first line will change color when active
    - left-click for price check (or activate), right-click to buy/sell
    - if a unauthorized player destroys a block a sign is on, is canceled
    item categories
    - can search for items by category (in shoplist)
    players using Spout (if installed & enabled) can use a GUI Menu for buying & selling
    - default button is 'b'
    - displays items in shop in top half
    - item detail below with # in stock, buy/sell price, & buttons to buy & sell
    - amount to buy/sell can be set in text box or with up/down buttons

    administration
    Every item and subtype can be priced differently
    Disable buying or selling of an item by giving it a price of -1 (0 makes it free)
    command aliases to stop carpal tunnel
    many commands have sub-aliases.. eg. shoplist kits will run shoplistkits
    MySQL pricelist support
    MySQL pricelist can be cached for a given timespan (decreases table selects) (flatfile is cached until manually updated)
    Transaction records (MySQL or flatfile as .csv)
    Downloads mysql-bin.jar dependency automatically
    buy/sell cap in program set to 999,999,999 (not that you'd be using that much, but the cap is to prevent other errors)
    if encounters errors while editing a player's account, will attempt to reload iConomy (i've had issuses with it before)(may remove in a future update.. seems to work better now)
    can backup the current pricelist: /shop backup
    can restore from backup: /shop restore <file>
    can import new prices in a batch from a csv (or old yml format) : /shop import <file>
    on start, can check the download page to see if there is an update available
    shop can be given a finite stock from which to buy & sell
    /shop ver[sion] to check the current version & see if there's an update
    /shop update to manually download & install the most recent version
    MinecraftIM support: forward errors or all messages
    checks for missing & unused configuration nodes
    strings have default values if missing
    auto error reporting added (can be disabled)
    custom message you can send with the error report
    help main page integration can be disabled
    global shop can be disabled & only allow signs to be used
    can use permissions to define discounts for certain users
    - uses nodes in "BetterShop.discount.xxxx"​
    - nodes defined in config under discountGroups​
    - ex: discountGroups:​
    VIP: 10 # gives 10% discount to players with BetterShop.discount.VIP​

    Version 2.0 - 9/24/11
    near-complete rewrite
    - more modular, should be easier to add new features
    added region-based shop support
    - just main shop for now
    - config modes:
    - - shop.commandShop: global
    - - - regions are areas where command-based shop access is disabled
    - - shop.commandShop: regions
    - - - globally disabled, except for within regions
    - - shop.commandShop: both
    - - - allows command-based shop access from anywhere
    - - shop.commandShop: none
    - - - cannot use commands (or spout) to use the shop
    - regions are defined by first selecting a region in worldguard
    - - after regions have been defined, can put the WorldEdit.jar in the lib folder
    now checks from 2 mirrors (still on git)
    - not really needed, but the code behind it looks cleaner
    finally adopted some license to support open development.
    - now the source is licenced under the GNU General Public License
    - http://www.gnu.org/licenses/gpl.txt
    added pages menu option (default) so spout scrolling goes by page, not column
    added a fix for a spout button error
    fixed a spout error where may show amount stock can sell, not buy
    added category switching (spout)
    - can use 'cycle' for a button to cycle through the categories (shows more per-page)
    - or use 'tabbed' for buttons at the top that can be selected
    chest shop interface added :D
    - to define a chest, point at the chest & type "/shop chest define"
    - automatically detects double-chests
    - multiple users can use the same chest shop
    - - each user gets a customized chest screen
    - - items in the display show either max stack, or max of that item the user can afford
    - setting for "chestSellBar", which allows selling to a chest which is full (without buying anything)
    tnt explosion cancelation settings for sign/chest shop added
    - should be more efficient than prior method
    commandlog format moved in config & added more formatting options
    updated Register methods (fixes iCo6 errors)
    added a rudimentary spell check routine
    - if an item name doesn't match at first, and there is 1 match for closeness, returns that item
    sign shop handling rewrote
    - should be more efficient
    - can now define custom prices for transactions
    - - 4th line contains cost, doen't have to just be a number
    - - - "1.23", "$1.23", "1.23 Dollars", "$1.23 total" are all acceptable
    - - for a given amount, define the total cost
    - - if using "sellall" or "buyall", define unit cost
    categories have been implemented in buy & sell
    - can sell all items in a category, or buy an amount of each item in a category
    - ex. "/sellall food"
    sign & chest shops are protected from endermenv (if shop.(sign & chest)DestroyProtection = true)
    sql routines updated for foreign locales

    Full changelog can be found in the readme on git

    Support development!
    if you really like this & don't want to see it go by the wayside, [​IMG]
    (i make no money maintaining plugins)
    if you can't donate, at least a "like" would help ;)
     
  2. Offline

    nukem2000

    @Azlodin are you using sql or flat? casue ive had no issues with it using sql. it just has "user" which is just log in name
     
  3. Offline

    Azlodin

    I use a MySQL DB.

    It is taking the DisplayName as that is what plugins such as Towny or Essentials (and loads others) change with some of their settings. PlayerName remains constant as that is the login name of the user for minecraft.
     
  4. Offline

    nukem2000

    arr k , works fine for iconomy cause its not taking display name , as these are modded on our server as well, only using playername , why would u need to query those settings? just use MySQL workbench? or post online using php?
     
  5. Offline

    vagrantmike

    Plugins: BetterShop, BigBrother, DeathMessagePlugin, DefaultComm
    ands, iConomy, PermissionsBukkit, Permissions, Tetris, WorldEdit

    Bukkit 1000

    Permissions file: http://pastebin.com/cWN00ADg

    For some reason when ever i add BetterShop.user.* or BetterShop.admin.* and try to do a command, it says you do not have permission to do this.
     
  6. Offline

    Tux_Peng

    I had to add superpermsbridge.* to my Bukkit Permission config.yml
     
  7. Offline

    Azlodin

    I query the table to generate quick reports on the status of the server economy and what items are most used by the player-base. It also helps to identify abuse or exploitation if someone is buying/selling large amounts. With the implementation of PlayerName, DisplayName should not be used to track players any longer.
     
  8. Offline

    Techykid3

    Works great for #1060 with Permissions 3.1.6. This plugin is ESSENTIAL to my server :) Keep up the good work!

    I've even integrated this into our server's client (a standalone program that runs along with minecraft, so lets say if you were in an area that is protected, it would tell you, if your using a spout client, or if you want to buy from a player, it shows you the shops near by.)

    Once again, keep up the great work! :D
     
  9. When came the next update ?
     
  10. Offline

    68x

    I am confused as to how I can use BetterShop on a sign.

    This is my setup for the sign:

    First Line: [BetterShop]
    Second Line: buy 1
    Third Line: stone
    Fourth Line: N/A
     
  11. Offline

    Tesseracto

    Decimals does'nt work.
     
  12. Offline

    Tesseracto

    Is Superperms/PermissionsBukkit supported?
     
  13. Offline

    McLovn

    I need a shop plugin and this is the only one that looks good and is what i'm after. Could you please add PermissionsBukkit so i can use this plugin?
     
  14. Offline

    e_zach

    depends on the economy plugin you use. using iConomy, decimals work fine. essentials and boseconomy don't i believe.
     
  15. Offline

    Tesseracto

    I switched to iConomy, when i heard it will be updated.
     
  16. Offline

    Magie

    How can I add mobspawner spawning zombies to shop?
     
  17. Offline

    Fob_Upset

    Whats does "Subdata" mean?
     
  18. Offline

    Southpaw018

    Metadata/damage value/data value. Goes by a bunch of different names, but it's the thing that makes (for example) blue wool blue instead of black wool.
     
  19. Offline

    forceserver

    doesn't this plugin support spout?
     
  20. Offline

    jascotty2

    Version 1.6.7
    GUI Menu added using Spout :D
    - default button is 'b'
    - displays items in shop in top half
    - item detail below with # in stock, buy/sell price, & buttons to buy & sell
    - amount to buy/sell can be set in text box or with up/down buttons
    added economy support via Register 2.1
    - now supports iConomy 4,5,6, BOSEcon 6,7, MultiCurrency, EssentialsEco
    - also should fix the problem with the plugin not using decimals with BOSEcon 7
    changes in how error reporting occurs
    plugin stat polling added (may be temporary)
    - disabled with AutoErrorReporting: false
    permissions updated for 3x
    sign valid item check fixed
    other misc. fixes

    spout bug (1.0.5.262)
    - if the server is reloaded, you'll have to log out & back in before you can use the key shortcut again
    - scroll bar seems to only notify on click, not scroll or release (using the buttons i put on the sides help)

    lol.. actually, i started working on something to throw in with spout a few days ago..
    it's reminded me of how much i dislike hard-coding gui positions :rolleyes:

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

    ben1996123

    I like it, but can you make it so that we can sell used tools for sellprice*(remaininguses/totaluses)
     
  22. Offline

    Fob_Upset

    2011-09-03 16:26:32 [INFO] Loading BetterShop version 1.6.6.6 ...
    2011-09-03 16:26:32 [INFO] [BetterShop] Notice: Unused Configuration Nodes:
    strings.commandlog, strings.listalias
    2011-09-03 16:26:32 [INFO] [BetterShop] Checking for updates...
    2011-09-03 16:26:32 [INFO] [BetterShop] Recently Updated: skipping update check
    2011-09-03 16:26:32 [SEVERE] [BetterShop] Failed to load pricelist database BetterShop.csv minecraft
    2011-09-03 16:26:32 [SEVERE] [BetterShop] cannot load pricelist: BetterShop.csv
    2011-09-03 16:26:32 [INFO] BetterShop now unloaded


    Would you mind looking at my Bettershop.csv file?
    http://www.megaupload.com/?d=F7ULZVUG
     
  23. Offline

    Retricide

    @jascotty2
    Would it be possible to add a config file that would allow server-owners to create permission nodes that give a "discount" off the shop?
    Maybe something like:
    discounts.yml (open)
    Code:
    config:
        groups:
            VIP:
                node: VIP
                discount: 10
            Donator:
                node: Donator
                discount: 20
    

    Giving a group the node "BetterShop.discount.VIP" would give them a 10% discount off of the shop, and "BetterShop.discount.VIP" would give them a 20% discount off of the shop.

    Would that be possible? It was added in DynamicMarket, but that's inactive now.
     
  24. Offline

    vagrantmike

    I updated to 1.6.7 and now it just won't work =\

    b. 1060
    Plugins: BetterShop, BigBrother, DeathMessagePlugin, DefaultComm
    ands, iConomy, Permissions, Tetris, WorldEdit, PermissionsBukkit
    Permission file: http://pastebin.com/utFHxc58

    I tried it like this: superpermbridge.BetterShop.admin.*: true and like this: BetterShop.admin.*: true, but still says no permission
     
  25. Offline

    Stephen92

    omg its finally updated and beautiful job with spout :)
     
    jascotty2 likes this.
  26. Offline

    McLovn

    Permissions Bukkit support is all i ask :D, love the spout GUI
     
  27. Offline

    Fob_Upset

    @jascotty2

    2011-09-03 16:26:32 [INFO] Loading BetterShop version 1.6.6.6 ...
    2011-09-03 16:26:32 [INFO] [BetterShop] Notice: Unused Configuration Nodes:
    strings.commandlog, strings.listalias
    2011-09-03 16:26:32 [INFO] [BetterShop] Checking for updates...
    2011-09-03 16:26:32 [INFO] [BetterShop] Recently Updated: skipping update check
    2011-09-03 16:26:32 [SEVERE] [BetterShop] Failed to load pricelist database BetterShop.csv minecraft
    2011-09-03 16:26:32 [SEVERE] [BetterShop] cannot load pricelist: BetterShop.csv
    2011-09-03 16:26:32 [INFO] BetterShop now unloaded


    Would you mind looking at my Bettershop.csv file?
    http://www.megaupload.com/?d=F7ULZVUG
     
  28. Offline

    jascotty2

    Version 1.6.7.1
    added support for bukkit permissions
    added permission node "BetterShop.user.spout" for spout screen access
    fixed some lingering integer pricing errors
    added a simple permissions-based discounting system
    - uses nodes in "BetterShop.discount.xxxx"
    - nodes defined in config under discountGroups
    - ex: discountGroups:
    VIP: 10 # gives 10% discount to players with BetterShop.discount.VIP
    fixed gui defaulting to amount limit when one == 0

    @Retricide
    hopefully that works for you :)

    @vagrantmike
    updated for superperms, so that may help
    also: I've found that reloading a server using /reload causes the superperms to be cleared...
    (highly frustrating from a dev's pov.. not sure why it does that..)
    - try stopping the server & starting back up

    @Fob_Upset
    there's nothing wrong with the file i got from your link.. loads fine on my test server
    not sure what problem you're having, but you may want to check the folder permissions..

    it already does that :cool:

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

    Retricide

    @jascotty2
    Thanks for such a quick update!
     
  30. Offline

    alienkila10

    ok so i got it everything works fine but when i put down a sign so you can buy a wolf but it says item cannot be bought do i have to do anything in the config file??
     
  31. Offline

    Fob_Upset

    @jascotty2

    All i added was the BetterShop.user.* permissions node to my default group.
    Shall i send you my permissions file? i don't think the problem is with permissions.
     

Share This Page