[INACTIVE][ECON] BOSEconomy v0.6.2 - Simple Server Economy [714]

Discussion in 'Inactive/Unsupported Plugins' started by Cosine, Feb 18, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Cosine

    THIS THREAD IS NO LONGER ACTIVE.
    PLEASE DIRECT ALL POSTS TO THE NEW BOSECONOMY THREAD AT THIS LINK.

    BOSEconomy is a simple, lightweight economy plugin. Every player owns an amount of currency and can make simple payments between one another. Read below to see all of the available features.

    BOSEconomy stands for "Brotherhood of Slaughter Economy". The plugin was originally designed for our community's Minecraft server.

    Features:
    • Players own money and can make payments between one another. Just find somebody you want to pay, and use "/pay [player] [amount]".
    • Periodic wages can be configured to pay any amount of money at any desired interval, or to pay players based on their playtime. Players can be in any number of wage brackets; these brackets determine how much the player makes.
    • Bank accounts can serve as money pools between multiple players. Anybody can pay money to a bank account, but only members are able to withdraw from the account. Owners have the additional ability to add other owners or members to their bank account.
    • A top-5 listing and basic statistics can be used to see how wealthy the server is, and to encourage competition.
    • Several admin commands allow for the modification of player money and brackets from within Minecraft.
    • The properties file allows the server owner to decide what the currency is called, how often it's payed, and much more as listed below.
    • Several straightforward plugin hooks make it simple to interface with BOSEconomy.
    Supporting Plugins:

    • Hawox's uQuest - A simple, overly customizable quest system.
    • Codisimus's Turnstile - Create turnstiles to prevent players from entering certain locations without paying.
    • Codisimus's DungeonReward - Reward players with money for reaching a certain region of the world.
    • Codisimus's PhatLoots - Players can open linked chests and be rewarded with money.
    • Baptiste Pillot's RealShop - A very simple-to-use shop system to deal materials stored in chests.
    • Koanga's TradeMod - A simple plugin allowing players to trade items.
    • Fernferret's WolfPound - Allows users to buy wolves, or get them for free.
    • TZer0's Money2XP - Train your mcMMO skills using money.
    • Retsrif's Blacksmith - Lets you repair your tools with money.
    • Rcjrrjcr's BuyAbilities - Allows players to purchase abilities or permissions with money.
    • aPunch's Challenges - Admins can start server challenges for players to beat.
    • Acrobot's iConomyChestShop - Turn a chest into a shop by simply placing a sign over it.
    • Is your plugin not on this list? Send me a message and I'll add it in!
    Setup:

    1. Place BOSEconomy.jar in your plugins folder and run the server. BOSEconomy will generate the necessary files.
    2. Open plugins/BOSEconomy/BOSEconomy.properties and configure it as you see fit. The keys are explained below under 'File Information'.
    3. Enter 'reload' in the server console to update it with your changes. BOSEconomy should now be ready to go.
    Permissions:
    Show Spoiler


    There are multiple permission settings currently available to BOSEconomy.

    Op Permissions:
    When op-permissions is enabled, server ops automatically gain access to every BOSEconomy command. Non-op players inherit permissions from Phoenix Permissions.​

    Phoenix Permissions:
    When phoenix-permissions are enabled, BOSEconomy will attempt to use TheYeti's Permissions (Phoenix) plugin. The permissions to use in Phoenix are:​
    • BOSEconomy.common - For ordinary player commands such as payment.
    • BOSEconomy.admin.money - For directly altering player money.
    • BOSEconomy.admin.bracket - For manipulating player brackets.
    • BOSEconomy.admin.bank - For creating and managing bank account.
    • BOSEconomy.admin.reload - The "/econ reload" command. Generally useful only to server owners.
    Note that these permissions have no inheritance; players with the admin permissions must be explicitly given the common permissions as well.​

    Default Permissions:
    If the Phoenix plugin can't be located, permissions are handled as if phoenix-permissions is set to false. If op-permissions is the only enabled setting, all common players are given access to the common permissions and ops are given access to all commands. If no permissions settings are enabled, all players are given access to only the common permissions.​

    To quickly check your permission settings, you can enter '/econ help' to see the list of all commands you can use.


    Commands:
    Show Spoiler

    The following is a list of commands, with a * signifying a money command, a & for a bracket command, and a $ for a bank command (relevant for Phoenix permissions).
    • /econ
      Displays your money.
    • /econ income <page>
      Lists any income brackets that you reside in, shows how much each pays, shows your total wage, and shows the payment interval.
    • /econ pay [player] [amount]
      Pays another player the given amount of money. The amount must be positive, you must be able to afford it, and the other use must be online. This is also the command to pay money to a bank account. To do so, put a $ sign infront of the name of the bank you wish to deposit into. For example: "/econ pay $MyBank 200"
    • /econ stats
      Displays the total money, total players, average money, and average income of the server. Bank accounts and excluded brackets are not factored into statistics.
    • /econ top5
      Displays the top 5 wealthiest players.
    • /econ set [player] [amount]
      * Sets the amount of money owned by the given player. Money may be set to a negative value; players with negative money can't make payments.
    • /econ view [player]
      * Displays how much money the given player owns.
    • /econ add [player] [amount]
      * Adds money to the given player.
    • /econ sub [player] [amount]
      * Subtracts money from the given player.
    • /econ clear [player]
      * Sets the player's money to zero.
    • /econ reload
      Reloads all serverside files pertaining to the plugin. This includes the properties, users, money, lastPayment, brackets, and version files. This is needed to register changes to the files made during runtime.
    • /econ bracket view [player] <page>
      & Displays a list of all brackets the given player resides in, and how much they pay.
    • /econ bracket list <page>
      & Displays a list of all existing brackets, how much they pay, and how many people are in them. This should not be confused with the 'brackets view' command. This list will contain any fake brackets that players have been added to, but these ones are not actually saved to the brackets file.
    • /econ bracket add [player] [bracket]
      & Adds the given player to the given bracket. If the bracket doesn't exist, it is created with a value of 0. The new bracket is saved to the users file, but not to the brackets file.
    • /econ bracket remove [player] [bracket]
      & Removes the given player from the given bracket.
    • /econ bracket clear [player]
      & Removes the given player from all of their brackets.
    • /econ bank create [bank] <owner1> ...
      $ Creates a new bank account with any number of initial owners.
    • /econ bank remove [bank]
      $ Removes a bank account.
    • /econ bank list <page>
      $ Lists all existing bank accounts.
    • /econ bank view [bank]
      Displays how much money is in a bank account. Only members of a bank can view its balance.
    • /econ bank listmembers [bank] <page>
      Lists the owners and members of a bank account. Only members can use this for any particular bank.
    • /econ bank withdraw [bank] [amount]
      Withdraws money from a bank. Only owners and members of the bank can use this.
    • /econ bank addowner [bank] [owner]
      Adds an owner to a bank. Only bank owners can add new owners.
    • /econ bank addmember [bank] [member]
      Adds a member to a bank. Only bank owners can add new members.
    • /econ bank removemember [bank] [member]
      Removes an owner or member from a bank. Only bank owners can remove members.
    • /econ help <page>
      Displays every command you have access to with a brief description of it. The help section displays for any unrecognized command.


    File Information:
    Show Spoiler

    BOSEconomy currently utilizes 6 files. These are generated automatically when they are needed. Depending on your settings, some of them might not generate immediately, or at all. All plugin files are expected to be in the 'plugins/BOSEconomy/' directory.

    BOSEconomy.properties:
    Stores basic settings for the plugin. This file is generated automatically. Do not pad the '=' with spaces or they will be read as part of the values.​
    • money-name: The name for a unit of currency.
    • money-name-plural: The name for a pluralized unit of currency.
    • initial-money: Brand new players will automatically start with this much money.
    • wage-interval: The number of time units between wage payments. If online-wages are enabled, this is how long a player must be online before they are paid. If online-wages is disabled, the server pays all players every time this interval elapses. Set this to zero to disable wage payments altogether.
    • wage-interval-unit: The unit to measure the wage interval in. Valid entries are: second, minute, hour, day, week
    • default-bracket: The bracket to assign new players to. Leave this blank to have no default bracket.
    • debug-mode: Displays debug messages mostly pertaining to file reading and writing. This is very spammy, so keep it off when it isn't needed.
    • op-permissions: Ops are automatically given access to every command.
    • phoenix-permissions: The plugin will utilize TheYeti's Permissions ("Phoenix") plugin.
    • online-wages: Wages are paid based on how long players are online rather than using static wage intervals.
    brackets.txt:

    Stores the wage brackets. Brackets are formed by a name and a value seperated by a space, followed by any flags. Currently the only flag is 'exclude'. Any players in an excluded bracket are ignored by top5 and statistics. There should be one bracket per line. This file is generated automatically with the default-bracket and a value of 0. Brackets should only contain letters, numbers, and underscores.​
    The following is a sample brackets.txt file:​
    Code:
    peasants 0
    knights 5
    lords 10
    kings 50
    winners 1000 exclude
    losers -2
    
    lastPayment.dat:
    Do not ever modify this file. It stores the system time of the last wage payment. The file is safe to delete however, and doing so will reset the wage counter to the current time. If online-wages is turned on, this file is removed automatically.​

    money.txt:
    Stores the amount of money owned by every recorded player, and their online playtime (used with the online-wages setting). This file is modified frequently by the server so it's best not to alter it while the plugin is running. It's created when the first player joins the server.​

    users.txt:
    Stores the wage brackets for every recorded player. New players are added to this file automatically. It can be modified directly, but it's safer to use the in-game commands for manipulating brackets and banks.​
    The following is the format for this file:​
    Code:
    <player>:<bracket1>,<bracket2>,...<bracketN>
    $<bank>:<owner1>,<owner2>,...<ownerN>:<member1>,<member2>...<memberM>
    
    version.dat:
    This is used to handle file changes between versions. This file is created automatically and should never be modified or removed.​



    Plugin Interfacing:
    Show Spoiler

    To have your plugin interface with BOSEconomy, add BOSEconomy.jar to your plugin's build path. Use the following code to get a reference to it (called from within your plugin class):​
    Code:
    Plugin temp = this.getServer().getPluginManager().getPlugin("BOSEconomy");
    BOSEconomy economy = null;
    if(temp != null)
        economy = (BOSEconomy)temp;
    
    The following methods are available for use. These are accessed directly off of the BOSEconomy plugin reference. It's up to your implementation to decide how you want to make this reference available to your code.​
    Code:
    /**
    * Gets the money owned by the given player name. To find an existing player,
    * the name must be an exact match. Note though that the name is not case
    * sensitive. When attempting to get the money of a nonexistent player, their
    * name is registered in the economy and given the default money value. To
    * check in advance whether a player is registered in the economy, use the
    * playerRegistered() method.
    *
    * @param name
    *          - The name of the player.
    * @return The amount of money owned by the player.
    */
    public int getPlayerMoney(String name)
    
    /**
    * Sets a player's money. To modify an existing player, the name must be an
    * exact match. Note though that the name is not case sensitive. If the name
    * does not match any player, it is registered into the economy and given the
    * provided money value. Players are not automatically notified of any changes
    * to their money; if desired, it must be done explicitly after calling this
    * method. If the mustBeOnline flag is set to true, the method will only
    * perform changes on players that are online and will not register
    * nonexistent players into the economy.
    *
    * @param name
    *          - The name of the player.
    * @param money
    *          - The money to set the player to.
    * @param mustBeOnline
    *          - Whether the player must be online to perform the change.
    * @return True if any changes were made, false otherwise.
    */
    public boolean setPlayerMoney(String name, int money, boolean mustBeOnline)
    
    /**
    * Adds to a player's money. Negative values will subtract money instead. Note
    * that a player's money can be negative. To modify an existing player, the
    * name must be an exact match. Note though that the name is not case
    * sensitive. If the name does not match any player, it is registered into the
    * economy and the given money value is added to it. Players are not
    * automatically notified of any changes to their money; if desired, it must
    * be done explicitly after calling this method. If the mustBeOnline flag is
    * set to true, the method will only perform changes on players that are
    * online and will not register nonexistent players into the economy.
    *
    * @param name
    *          - The name of the player.
    * @param money
    *          - The money to add to the player.
    * @param mustBeOnline
    *          - Whether the player must be online to perform the change.
    * @return True if any changes were made, false otherwise.
    */
    public boolean addPlayerMoney(String name, int money, boolean mustBeOnline)
    
    /**
    * Checks if a player is registered into the economy. All online players are
    * already considered registered. The name of the player must be an exact
    * match, though the name is not case sensitive.
    *
    * @param name
    *          - The name of the player.
    * @param mustBeOnline
    *          - If set, the method will only return true if the player is
    *          registered and is online.
    * @return Whether the player is registered in the economy.
    */
    public boolean playerRegistered(String name, boolean mustBeOnline)
    
    /**
    * Registers the given player name into the economy system. If a player with
    * this name is already registered, nothing happens.
    *
    * @param name
    *          - The name of the player to register.
    * @return True if the player was registered, or false if a player with that
    *        name already exists.
    */
    
    public boolean registerPlayer(String name)
    /**
    * Sends a message to the given player informing them of how much money they
    * have. If the player is not online, nothing happens.
    *
    * @param name
    *          - The name of the player.
    */
    public void tellPlayerMoney(String name)
    
    /**
    * Gets the amount of money in the given bank account. To find an existing
    * bank, the name must be an exact match. Note though that the name is not
    * case sensitive. When attempting to get the money of a nonexistent bank, a
    * bank by that name is created automatically. To check in advance whether a
    * bank exists, use the bankExists() method.
    *
    * @param name
    *          - The name of the bank.
    * @return The amount of money in the bank.
    */
    public int getBankMoney(String name)
    
    /**
    * Sets the amount of money in the given bank account. To modify an existing
    * bank, the name must be an exact match. Note though that the name is not
    * case sensitive. If the name does not match any bank and the mustExist flag
    * is set to false, a bank by that name is created and given the provided
    * money value. Any members of the bank who are online will not be
    * automatically notified of any changes. If desired, it must be done
    * explicitly after calling this method.
    *
    * @param name
    *          - The name of the bank.
    * @param money
    *          - The money to set the bank to.
    * @param mustExist
    *          - Whether he bank account must already exist.
    * @return True if any changes were made, false otherwise.
    */
    public boolean setBankMoney(String name, int money, boolean mustExist)
    
    /**
    * Adds to the amount of money in the given bank account. To modify an
    * existing bank, the name must be an exact match. Note though that the name
    * is not case sensitive. If the name does not match any bank and the
    * mustExist flag is set to false, a bank by that name is created and given
    * the provided money value. Any members of the bank who are online will not
    * be automatically notified of any changes. If desired, it must be done
    * explicitly after calling this method.
    *
    * @param name
    *          - The name of the bank.
    * @param money
    *          - The money to add to the bank.
    * @param mustExist
    *          - Whether he bank account must already exist.
    * @return True if any changes were made, false otherwise.
    */
    public boolean addBankMoney(String name, int money, boolean mustExist)
    
    /**
    * Checks if a bank account exists in the economy. The name of the bank must
    * be an exact match, though the name is not case sensitive.
    *
    * @param name
    *          - The name of the bank.
    * @return Whether the bank account exists.
    */
    public boolean bankExists(String name)
    
    /**
    * Creates the given bank account. If a bank with this name already exists,
    * nothing happens.
    *
    * @param name
    *          - The name of the bank to create.
    * @return True if the bank was created, or false if a bank with that name
    *        already exists.
    */
    public boolean createBank(String name)
    
    /**
    * Removes the given bank account. Members of the account are not notified of
    * the removal. If no bank with this name exists, nothing happens.
    *
    * @param name
    *          - The name of the bank to remove.
    * @return True if the bank was removed, or false no bank with that name
    *        existed.
    */
    public boolean removeBank(String name)
    
    /**
    * Adds an owner to the given bank account. Owners can withdraw funds from the
    * account and add or remove other owners and members. If the name is already
    * a member, they are promoted to an owner. The name will not be added if it
    * is null, empty, or a duplicate. If the bank account doesn't exist and the
    * mustExist flag is set to false, one by the given name is created first. The
    * name of the owner will be added regardless of whether they are online or
    * actually exist.
    *
    * @param bank
    *          - The name of the bank.
    * @param owner
    *          - The name of the owner to add.
    * @param mustExist
    *          - Whether the bank account must already exist to add an owner.
    * @return True if the owner was added, or false if otherwise. False may be
    *        returned either because the bank doesn't exist and mustExist was
    *        true, or because an owner by this name already exists.
    */
    public boolean addBankOwner(String bank, String owner, boolean mustExist)
    
    /**
    * Adds a member to the given bank account. Members can withdraw funds from
    * the account. If the name is already an owner, they are demoted to a member.
    * The name will not be added if it is null, empty, or a duplicate. If the
    * bank account doesn't exist and the mustExist flag is set to false, one by
    * the given name is created first. The name of the member will be added
    * regardless of whether they are online or actually exist.
    *
    * @param bank
    *          - The name of the bank.
    * @param member
    *          - The name of the member to add.
    * @param mustExist
    *          - Whether the bank account must already exist to add a member.
    * @return True if the member was added, or false if otherwise. False may be
    *        returned either because the bank doesn't exist and mustExist was
    *        true, or because a member by this name already exists.
    */
    public boolean addBankMember(String bank, String member, boolean mustExist)
    
    /**
    * Removes the given owner or member from the given bank account.
    *
    * @param bank
    *          - The name of the bank.
    * @param player
    *          - The name of the owner or member to remove.
    * @return True if an owner or member was removed, or false if otherwise.
    *        False may be returned either because the bank doesn't exist or
    *        because no player by this name was registered to it.
    */
    public boolean removeBankPlayer(String bank, String player)
    
    /**
    * Checks if the given name is an owner of the bank account.
    *
    * @param bank
    *          - The name of the bank.
    * @param owner
    *          - The name of the owner to check for.
    * @return True if the name is an owner, or false if otherwise. False may be
    *        returned either because the bank doesn't exist or because the given
    *        name is not an owner.
    */
    public boolean isBankOwner(String bank, String owner)
    
    /**
    * Checks if the given name is a member of the bank account. Note that owners
    * are not considered to be members in this context and that this method will
    * return false if the name of an owner is provided.
    *
    * @param bank
    *          - The name of the bank.
    * @param owner
    *          - The name of the member to check for.
    * @return True if the name is a member, or false if otherwise. False may be
    *        returned either because the bank doesn't exist or because the given
    *        name is not a member.
    */
    public boolean isBankMember(String bank, String member)
    
    /**
    * Sends a message to all online owners and members of the given bank account.
    * If no bank account exists by this name, nothing happens.
    *
    * @param bank
    *          - The name of the bank.
    * @param message
    *          - The message to send to the bank's members.
    * @param sender
    *          - The name of the sender. If the sender is a member of the bank,
    *          they are not sent the message. Leave this null to send the message
    *          to all of the members.
    */
    public void tellBankMessage(String bank, String message, String sender)
    
    /**
    * Sends a message to all online owners and members informing them of how much
    * money this bank account has. This should not be confused with
    * tellBankBalanceToPlayer(), which sends this message to a specified player.
    * This method may be useful in a context where all members were just notified
    * of a change and you wish to follow it with the new balance of the account.
    * If the bank account doesn't exist, nothing happens.
    *
    * @param bank
    *          - The name of the bank.
    * @param name
    *          - The name of the player.
    */
    public void tellBankBalance(String bank)
    
    /**
    * Sends a message to the given player informing them of how much money this
    * bank account has. This should not be confused with tellBankBalance(), which
    * sends this message to all members of the account. If the player is not
    * online, or if the bank account doesn't exist, nothing happens.
    *
    * @param bank
    *          - The name of the bank.
    * @param name
    *          - The name of the player.
    */
    public void tellBankBalanceToPlayer(String bank, String player)
    
    /**
    * Gets the initial money setting. This is how much money brand new players
    * are initialized with when they first enter the economy.
    *
    * @return The initial money.
    */
    public int getInitialMoney()
    
    /**
    * Gets the wage interval. This is how many units of time it takes for one
    * wage to elapse. The unit is specified by getWageIntervalUnit(), and should
    * be either seconds, minutes, hours, days, or weeks.
    *
    * @return The wage interval.
    */
    public int getWageInterval()
    
    /**
    * Gets the wage interval unit of time based on the current wage interval
    * multiplier.
    *
    * @return The unit of time. If the multiplier is 0, "none" is returned. If
    *        the unit can't be determined, "unknown" is returned. Return values
    *        are all lowercase and singular.
    */
    public String getWageIntervalUnit()
    
    /**
    * Gets the name of one unit of currency. This name is not capitalized and
    * should be singular. Ex: "coin"
    */
    public String getMoneyName()
    
    /**
    * Gets the name of a pluralized unit of currency. Ex: "coins"
    */
    public String getMoneyNamePlural()
    
    /**
    * Gets the name of one capitalized unit of currency. Ex: "Coin"
    */
    public String getMoneyNameCaps()
    
    /**
    * Gets the name of a capitalized and pluralized unit of currency. Ex: "Coins"
    */
    public String getMoneyNamePluralCaps()
    
    You may notice that there are some other methods, as well as some static variables. These are subject to change without warning and should never be utilized by your plugin. The methods listed above, however, will (hopefully) never need to be changed. In the event that they need to be altered, I will try to provide ample warning.​



    Download:

    -----------------------​

    Planned Features:
    • SQL support.
    • Allowing brackets to use different wage intervals.
    • Tax brackets. These brackets would take money from users and give it to another player or a bank account.
    Changelog:

    Show Spoiler

    0.6.2
    • Added bank deposit command to mirror the withdraw command. The pay command still works on banks.
    • Added several command aliases. Included is the ability to use "br" as a substitute for the "bracket" commands, and "ba" for "bank" commands.
    • Players are notified when a bank is created with them listed as an owner.
    • Made internal changes to support Bukkit build 612.
    • The plugin will now catch exceptions thrown by Phoenix Permissions and toggle phoenix-permissions off temporarily.
    • Fixed a notification bug when adding bank members whose names are a component in the names of other players.
    0.6.1

    • Fixed a bug where bank accounts duplicated after using the reload command.
    • The "banks" and "brackets" commands now use their singular forms ("bank" and "bracket").
    • Renamed BOSEconomy.admin.brackets and BOSEconomy.admin.banks to their singular forms.
    0.6.0 (Unreleased)

    • Fixed an exception when using online-wages with the wage-interval set to 0.
    • Added bank accounts and several commands to work with them.
    • Added several bank methods for other plugins to interface with.
    • Added BOSEconomy.admin.banks permission.
    • Restructured permissions slightly.
    • Unhandled command exceptions now inform the user who sent the command and prompt them to tell a server owner about it.
    • There is now a brief time limit between pay commands to prevent excessive payment spamming.
    0.5.0

    • The Permissions plugin is no longer required for BOSEconomy.
    • Added 'op-permissions' setting which gives ops permissions to all commands when enabled.
    • Added 'phoenix-permissions' setting to utilize TheYeti's Permissions ("Phoenix") plugin when enabled.
    • Added race-condition protection to file writing.
    • Added 'online-wages' setting to pay players based on online playtime instead of over a specific time interval.
    • Altered money.txt to include the online playtime of the user for the online-wages system.
    • Forced to remove 'command-label' option due to changes in the Bukkit API.
    • Added support for interaction with other plugins.
    • Players are now automatically registered into the economy for being online while the plugin is active.
    0.4.1 (First Public Release)

    • The average income now displays two decimal places.
    • Made some minor code modifications in preparation for a public release.
     
    efstajas, Ragor and Naruchico like this.
  2. Offline

    riuthamus

    Localshops said they would support us in the next update, this means... no more of the chest based shops. I also have obtained 3 or so new coders, so... we will be making our own homebrew plugin soon.
     
  3. Offline

    darthsiddious

    ok, so i have a question. is there a way to give players a bank account the moment they first log in to the game and also, is there a permission node to give them basic commands to bank accounts without giving them "admin" commands. the more i use the bank accounts, the more i like them. but giving an admin node kinda makes me nervous. thanks, and by the way, i love this plugin now. its my favorite.
     
  4. Offline

    g00tch

    Awesome :)
     
  5. Offline

    Jotschie

    do bank accounts get interest over time?
    If yes, is it configurable?
     
  6. Offline

    riuthamus

    This is actually an option we are adding in with the new version coming out this weekend. As well as tax brackets!
     
  7. Offline

    craftopia.net

    Anyway to make ingame commands chargeable? or if any plugin dev's are reading this would it be difficult to make a plugin for it (i know there's one for iConomy).

    One other idea, i like having a hourly wage, but I dont like them getting paid hourly. Anyway to track members useage for a week and pay everyone the same day based on total time they spent online the previous week?
     
  8. Offline

    riuthamus

    nteresting, delayed payments... I like that idea, it will most likely be a config option, first, one to set it to true and second, one to set the payment delay

    As for the charging of commands, we would have to parse all commands used for that to happen, or the plugin makers themselves would need to interface with our system. I think that is beyond our scope since we want this plugin to be specifically about econ. One of the many reasons why people prefer this plugin over iConomy is the simple setup, the lightweight to power ratio, and because im sexy! :p Anyway ill speak with the coder about it shortly and see what ideas we can come up with
     
  9. Offline

    Naruchico

    I love this economy I changed over and this one is the best, no more SQL...whoever made those should be boiled in oil

    [diamond] for you!
     
  10. Offline

    craftopia.net

    One other suggestion, I am only using this plugin along with RealStores and just finally got everything squared away with the market prices. I have cobblestone & dirt and other junk set rediculously low, like 0.01 coin but when people /econ it doesnt show decimals. Can that be changed? Also, i was wondering if an Alias for /econ can be made it called /wallet or /purse, something alittle more RP than /econ.

    thanks :)

    oh and one last pet peeve??? Any possible way to make it so we can add & subtract funds from offline players? My "market" is not a real online player and adding money to it is a pain.
     
  11. Offline

    TZer0

    Could you add my plugin to the list of plugins supporting BOSEconomy?
    Thanks!
     
  12. Offline

    Cosine

    I plan to add support for fixed-point decimal values in version 0.7.0, or in one of the minor updates following it. The plugin would still use whole numbers as it does now, but it would reserve a chosen number of digits to represent the decimal portion of the money.

    There used to be an option to change the BOSEconomy command label to something other than "/econ", but the Bukkit update that forced me to release 0.5.0 made it (to my knowledge) impossible or impractical to continue supporting that feature. I can hard-code "/wallet" to be one of the options, but I have no guarantees that I'll be able to support custom ones any time in the near future.

    I've been meaning to support admin commands on offline players for a while now, but haven't gotten around to doing it yet. Once I come up with a nice way to make it work, it'll be added in.

    Plugin added!
     
  13. Offline

    FloydATC

    As the author of KitPlugin I have been asked to add support for BOSEconomy like I have with iConomy. Skimming through the API I notice functions to GET and SET the current balance but I see no way to LOCK, ADD or SUBTRACT. Is there a way to do an atomic transaction to make sure the account balance is not changed by another plugin between my GET and SET?
     
  14. Offline

    riuthamus

    He will be on later, ill make sure to bring this up with him, thanks again! Excited to see your plugin add support for this. I might even try it out on our servers now since it costs money.
     
  15. Offline

    darthsiddious

    hey, question. is there a way to link pay brackets to ranks so all i have to do is promote someone using permissions and it automaticaly changes their pay bracket? right now, its a real pain in the butt just to change everything and i want to streamline it. also, it would be helpful if you could link the auto pay to the server clock so that way, i can controll the pay down to the very second and day. right now, i cant seem to get the exact timing of pay down and it would be extreamly helpful. btw, im glad to see that FloydATC is getting onboard with his kitplugin. thanks again, its by far my favorite plugin now.
     
  16. Offline

    riuthamus

    Cosine, linked is the following person with some issues:

    http://forums.bukkit.org/threads/fu...-wide-challenge-system-670.12006/#post-199966

    Holy hell, why didnt i think of this, this is a great idea. Problem is this would mean it would be supported by permissions, and I 100% doubt that will happen. We might be able to setup bracket groups, so you would say /bracket addgroup playername groupname, then it would add all the brackets in that group... great idea man!

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

    aPunch

  18. Offline

    Cosine

    There is an addPlayerMoney() method below setPlayerMoney() in the API. Giving it negative values will subtract money instead, though I may soon be adding a convenience method to do that instead.

    The problem seems to reside in ChallengesServerListener.java. The onPluginEnable() method is called whenever a plugin is enabled. You are checking it for iConomy and BOSEconomy every time any plugin is enabled. It then goes on to announce the 'linked' message again when it finds that the plugin is still there. This would make it repeat the message for every plugin alphabetically following BOSEconomy/iConomy that is enabled at startup. The PluginEnableEvent should have a getPlugin() method to figure out which plugin was actually enabled rather than checking all of them.
     
  19. Offline

    darthsiddious

    well, that would be awsome. i am just forgetting to update everyone's pay and its really becoming a huge pain considering how many players are on my server. eventually, i would like to get it to where people can do all that themselves and i wouldnt have to intervene. but thats a perfect world and unfortunatly i dont live there, lol. if you guys could support permissions, that would make lives that much easier, but if not, then ill work my way arround it, but im happy to help you out.
     
  20. Offline

    TZer0

    Request: create a function for plugin devs which returns the names of players.

    If you do add this, I'll add BOSEconomy support to another plugin I'm making :)
     
  21. Offline

    pizza9555

    Sorry but i have read through and still cant figure it out. I want my players on my server to get 3gp every 15 minutes. How would i do that? and i want them to have to be online for 15 minutes to get it so i have online-wages set to 'true' Please help!
     
  22. Offline

    Cosine

    Returns the names of players? You mean something to return a List of players registered in the economy?

    Set the 'wage-interval' to 15, telling it to pay every 15 units of time. Then set 'wage-interval-unit' to 'minute', so it will make payments every 15 minutes of online gameplay. If those settings still aren't working, post your properties file so I can see what might be wrong with it. Also be sure to check for any errors in your server console, as they might prevent payments from going through.
     
  23. Offline

    TZer0

    Exactly.
     
  24. Offline

    craftopia.net

    Careful if you decide to do this. My server i give my VIP's access to /time day and I wouldnt want that to mess with the pay schedule.

    Also, I too would love if this had permissions support... however I do not find it too difficult to manually add players & Brackets. I love how the .txt files are built, makes manual editing a breeze!
     
  25. Offline

    riuthamus

    What do you mean permissions support... this does have permissions support. Manually adding them is a bit cumbersome, I will agree because it was never designed to be done in game. With version 7 we are working on streamlining the process and fixing up the config files a bit. Since we are adding in taxing and owners of tax brackets, we had to really think of how we were accessing the files and try to organize them better. We are aiming for a release this friday'ish. We would have had it out this weekend but our coder got sidetracked with some other projects for real life. Again we thank you for the continued support and suggestions. You guys are the reason this plugin has become so popular and why its so preferred to many others around the community.

    Also, im not sure we will go with the controlling of, or matching, server time. Thats not something we want to mess with since much like craftopia, we change time on our server often "/time" For events and other things. Doing so would most defiantly fuck with the payment process. However, I can talk to cosine about setting a config option for a specific time in the day... meaning if you want payments to go down once a day, but the collection of payments to collect up until that paytime that is possible.

    You got extra time? Im looking for a coder to make a shop specific plugin for our server. I got some ideas down already just looking for a knowledgeable coder to get them done! If not, no big!

    NOTE: this plugin works with 670+, just have not updated the name to reflect that yet.

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

    craftopia.net

    What I meant was, I use GroupManager (lets just call it permissions for the time being) and I have 5 groups setup.

    I dont want Newbs to make any wage, but I want my Builders & VIP's to. I have my builders making 50c an hour, and my VIP's making 75c and hour.

    If I promote a builder to VIP i have to change their bracket in BOSE as well. Its not a horrible problem, and doesnt take long... but initial setup after going thru 30 members, i thought it would be nice if I could just set BOSE to pay based on their Groups assigned in Permissions.

    Take your time, I am sure all the other admins here appreciate how much effort your group puts into plugins like these. If it werent for you guys, I'd be stuck playing Vanilla... and who here wants that!? :)
     
  27. Offline

    riuthamus


    Not sure I full follow, I understand the point your making about manual editing, that much is very annoying. I know from using it in my own server the process of /econ bracket add username bracketname is ... a pain in the ass. I was thinking of ways of shortening that process.

    The only simple fix I could see at this point "regarding your issue" would be to create a "group" field in the bracket. If this was set it would try to poll the members of the group... but even that wouldnt fix the process of setting a users group. In fact... that would be something that needs to be coded by the Permissions person. I will have to do some thinking on how this could be achieved... and return the result I think your looking for.

    In the mean time, i think we can mitigate the issue with simplified commands. perhaps we will use /ebracket add or something of that nature? This would allow you to easily do what you needed and would be different enough it wouldnt conflict with other plugins. I will spend time thinking about it today at work and will post here with some of the ideas I have. Thanks again for your comments and suggestions.
     
  28. Offline

    darthsiddious

    no, i mean actual time [internal server clock]. so i can tell the plugin to pay everyone exactily when i want to so for example it would like this

    real life or in game=[time online/ real life time]
    in game:
    time unit = [sec,min,hour]
    time ammount = []
    real life:
    day= [sun,mon,tues,wed,thur,fri,sat]
    time=[00:00:00] *(based on 24 hr time)

    so for example, it would look like this for me

    real life or in game= [real life]
    in game:
    time unit = [sec,min,hour]
    time ammount = []
    real life:
    day= fri
    time=[23:50:24] *(based on 24 hr time)

    so when the server hits 23:50:24 my time, it pays everyone it needs to pay. it wouldnt be affected by the day/night cycle in game.
     
  29. Offline

    pizza9555

    okay
    thx a bunch but how does it know to give 3 coins? (gp)
     
  30. Offline

    riuthamus

    In the brackets group, it says what the pay is. You have to set a player to a bracket.
     
  31. Offline

    craftopia.net


    The current command system works great IMO. i do not mind typing /econ bracket add player group, takes me no time really. Would just be a time saver if the plugin could recognize which group a member is assigned in Permissions, and base their pay on that.
     
Thread Status:
Not open for further replies.

Share This Page