Inactive Jobs v2.0.1 - Jobs plugin for Minecraft (iConomy 4/5 & BOSEconomy, Permissions) [860]

Discussion in 'Inactive/Unsupported Plugins' started by flametornado, Apr 17, 2011.

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

    flametornado

    NOTE: THIS PLUGIN IS NO LONGER BEING DEVELOPED \ SUPPORTED BY ME.

    phrstbrn HAS TAKEN UP THE DEVELOPMENT \ SUPPORT AND ALL QUERIES SHOULD GO TO HIM ON HIS POST. (http://forums.bukkit.org/threads/ec...t-935-iconomy-5-boseconomy-permissions.23429/)


    Jobs - The Job plugin for Minecraft:
    Version: 2.0.1

    Requires:
    • iConomy 4/5 / BOSEconomy
    Optional

    • Stats and Achievements
    • Permissions
    • MySQL
    A fully configurable plugin that allows you to get paid for breaking, placing and killing. Class based (experience increases as you perform your job).


    NOTE: Please read the comments in the configuration file thoroughly and check the console errors before posting here for help.

    [fire]IMPORTANT [fire]: If you want to upload your config for help, please do so using the forum's upload functionality.

    If you like this plugin, please donate.

    [​IMG]

    Video



    Thanks Samkio for the plugin tutorial video.

    Downloads
    Previous Versions (open)



    Features:
    • Create your own custom jobs and choose what they get paid for and how much.
    • Leveling mechanic where higher level jobs will give higher incomes. Income earnt = experience gained.
    • Equation determining maximum experience, experience gained and income gained is customizable.
    • Customizable skill levels in the game to mark leveling milestones (fully customizable in the configuration file).
    • Your profession and skill level is part of your display name and whenever you talk everyone will know what you do and how good you are. (optional)
    • Stats of your maximum level in a job is saved if you have the stats and achievements plugin. ( for bragging rights) (optional)
    • Does periodic saving and save on player exiting the server.
    • Leaving a job resets your job level and experience to 0.
    • Permissions support.
    • Admin commands work even when the players are offline.
    Source:


    I made a sourceforge account for this. It will allow you to report bugs and feature requests. It'll help me a lot to make sense of this.

    The link is https://sourceforge.net/projects/flametornadjobs/.

    Some rules before you go there:
    1. Please look through the bugs that have already been reported to see if someone else has already reported that bug. If you have any extra information, post it on the bug's comments. The more information I have, the easier it is for me to fix it and test it.
    2. Same as above for feature requests.


    Commands:
    Code:
    Player:
    /jobs browse -  View a list of the available jobs.
    /jobs join [job name] - Join the job.
    /jobs leave [job name] - Leave the job.
    /jobs info [job name] [break, place, kill] - view information about that job.
    /jobs stats - view your job level and experience needed to level up.
    
    Admins:
    /jobs fire [playername] [job] - fire the player from the specified job.
    /jobs employ [playername] [job] - employ the player into the specified job.
    /jobs promote [playername] [job] [levels] - promote the player in their job X levels.
    /jobs demote [playername] [job] [levels] - demote the player in their job X levels.
    /jobs grantxp [playername] [job] [experience] - grant the player X experience in the selected job.
    /jobs removexp [playername] [job] [experience] - remove X experience from the player in the selected job.
    /jobs transfer [playername] [oldjob] [newjob] - transfer the player's job (keeps levels and experience)
    
    NOTE: All job names are case sensitive.
    
    Permissions Nodes:
    Code:
    jobs.join.<jobname> - allows the group to join the job. Where <jobname> is replaced with the job name (e.g. jobs.join.Woodcutter or jobs.join.* to join all jobs).
    jobs.world.<worldname> - allows players to get paid on selected world.
    
    jobs.admin.fire - enables the fire admin command.
    jobs.admin.employ - enables the employ admin command.
    jobs.admin.promote - enables the promote admin command.
    jobs.admin.demote - enables the demote admin command.
    jobs.admin.grantxp - enables the grant experience admin command.
    jobs.admin.removexp - enables the remove experience admin command.
    jobs.admin.transfer - enables the transfer admin command.
    Changelog:

    Version 2.0.2 WIP
    • Added more parameters to job level up (jobname, jobcolour, titlename, titlecolour, playername, playerdisplayname, joblevel)
    • Fixed promote and demote to correctly change the max exp.
    • job names are no longer case sensitive.
    • Changed the saving mechanism to be synchronous instead of asynchronous (may help with people losing jobs)
    • added config option of enable-pay-near-spawner in general config.
    • Fixed some NPE
    • Wolves killing things gives the player money and experience.
    • Fixed empty tags not resulting in errors.
    • fixed mysql password is all numbers.
    • fixed honorific error
    NOTE: This version is stable, but not fully tested. I will not release this version fully until i track down the jobs vanishing bug and destroy it for all the hassle it has cause me :p


    Version 2.0.1
    • Small bugfixes
    • Moved where the update stats command is called so it won't break anything if there's an error in it. Should also improve performance slightly
    • made the enabling of the stats and achievements plugin optional (configuration parameter in general settings
    • ChatColour can now be in any case and it'll still work.
    Version 2.o.0

    • Multiple jobs
    • Exposed equations
    • More customization
    • Can specify sub-class
    • Can specify job class kills.
    • Messages are customizable.
    • Kills with arrows works
    • Admin commands (work offline too)
    • Can disable payout on certain worlds (mainly for creative servers).
    • Can limit the number of jobs a player can have
    • Can limit the number of people that can have a certain job per server.
    • Better console error messages.
    • Plugin disables itself properly.
    Changelog (open)



    Version 1.3.3b and 1.3.2b
    • Killing works properly now. Drops seem to have gone back to normal levels and you can kill stuff and get paid for it all the time.
    • 1.3.3b is for iConomy 5 AND ONLY iConomy 5
    • 1.3.2b is for before iConomy 5 AND ONLY before iConomy 5
    Version 1.3.3

    • iConomy 5 support.
    Version 1.3.2

    • Removed annoying spam message which was for debugging and i forgot in for 1.3.1
    • Changed experience to be a double so people get experience for things less than 1. Saving mechanism still saves using integers, it would create waaaay too much fuss to change this since the database schema would need to be changed for everyone that used this plugin and it would render all previous saves incompatible. This seems like a decent compromise. People will lose a maximum of .99 exp when they log out.
    • Better method for checking when an animal's dead, should fix the weird animation problem and the lack of drops some people have been experiencing.
    Version 1.3.1

    • Killing near mob spawners will not give you money anymore.
    • Displays payment amount when you do /jobs info for killing now too.
    • Changed way that you create kill tags incode. Results in the system crashing and the plugin not being enabled if you got the wrong name (e.g. capitals or misspelt name)
    Version 1.3.0

    • Killing stuff should work now. This section is not as thoroughly tested, but should work fine.
    • No jobs have been made with killing stuff, you're on your own with the configuration for a while but the template section has been updated, it follows the same pattern as break and place.
    Version 1.2.3 - Bugfix update

    • changed priority to make sure it gets run last (to make the following points work properly)
    • checks if you can place a block or if the event is canceled by another plugin. Done to avoid people getting rick very easily by placing blocks in areas they are not allowed.
    • Fix for players not getting removed properly in the onDisable function which results in weird names when people reload their plugins.
    Version 1.2.2

    • The titles will now take into account any previous modifications to your display name by another plugin and simply tack on the title at the front (and when you change jobs, strip it from your title and tack a new title at the front).
    Version 1.2.1

    • Base experience is now configurable
    • experience multiplier is not configurable (for those who want lower economies). If you want to give 0.2 of your currency to per item, then set the multiplier to 10.
    Version 1.2.0

    • A little code cleanup.
    • Permissions support
    • customizable flat rate pay
    • customizable skill titles.
    Version 1.1.2

    • Cleaned up sql commands more to make them more specific and avoid errors as much as possible. Hard to test this since neither my testing server and my proper server have any problems seen by other people.
    • Fixed the system to work with /reloadall command. The experience was still being saved, you just needed to log out. I didn't even know that this command existed, so i never thought i'd have the plugin enable with people in the server. It now takes that into account and online users will not need to log out to see their stats and work on their jobs.
    Version 1.1.1 [fire] RECOMMENDED [fire]

    • Cleaned up SQL commands to be more exact, should result in less errors.
    • New configuration for what kind of prefix to add to the username (job, skill level, both or none).
    • New configuration to toggle the option of broadcasting messages when users reach the next skill level.
    • [Stats & Achievements] - further integration, this plugin now also adds the iConomy money amount to the stats table. (will always be 1 block behind)
    • URGENT FIX - tables were not getting cleared and players ended up having multiple jobs with multiple levels instead of one job and one set of levels. Code written to auto correct this.
    Version 1.1.0

    • Added BOSEconomy integration. This should be automatically detected.
    • Added flatfile functionality for server admins who don't want to use mysql.
    • EXPERIMENTAL : Added sqlite functionality, I sadly couldn't get sqlite to work properly on my testing machine so i haven't tested it. It should work though.
    Version 1.0.1

    • Small fix on /jobs stats command. It now rounds off the two decimal places and is less annoying to look at when it gives you the price for placing/destroying a block
    Version 1.0

    • Initial build, spent the weekend on it, pretty satisfied with it, added all mentioned functionality.
    [\SPOILER]

    TODO:



    See sourceforge for requested features and bugs.
     
  2. Offline

    RustyDagger

    @flametornado why do most of the admin commands just tell me there was an error with the command. i typed it out 100% correct the only command that seems to work is the employ command.

    i think the other commands have issues with the caps of the job names because when i tried to set a players level using the job name all lowercase it worked but did not give me a feedback message.
     
  3. Offline

    Taien

    You have to replace <worldname> with the name of your world, probably 'world'.

    You have to replace <jobname> with the name of each job, or just do jobs.join.* so they can join all jobs.

    So if you wanted Default to be able to use Miner and Woodcutter, you'd add the following permissions:
    - 'jobs.world.world'
    - 'jobs.join.Miner'
    - 'jobs.join.Woodcutter'

    :)
     
  4. Offline

    xyxgreendayxyx

    Still doesn't seem to work :/ I've got the new permissions also, but here is my permission now:

    Code:
    ##
    # AntiBuild is included with this.  To disable a group from being able to build then
    # set the build: flag to false (build: false).  If you want a group to be able to build
    # then set it to true.
    ##
    # Groups can contain inheritance.
    #   To make a group inherit the permissions from another
    #   group simply place the groups name in the "inheritance:" like so:
    #
    #   Example:
    #       inheritance:
    #           - Default
    ##
    #   Globalized Permission settings:
    #
    #       If a permission contains periods (.) you can denote a globalized parameter:
    #
    #           - 'foo.*'
    #
    #       This will allow you to use all general commands.
    #
    ##
    #   Single Asterisk denotes all commands:
    #
    #       - '*'
    ##
    #   To exempt a node use the - prefix like so:
    #       - '-foo.bar'
    ##
    #   prefix: and suffix: do not do anything on their own.  You need another outside plugin
    #   such as iChat or HeroChat in order for these to do anything.
    groups:
        Default:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - 'iConomy.payment'
                - 'iConomy.list'
                - 'iConomy.bank.access'
                - 'iConomy.bank.transfer'
                - 'iConomy.access"
                - 'bedrock.place'
                - 'graveyard.spawn.closest'
                - 'petition'
                - 'jobs.join'
                - 'jobs.world.RoleCraft'
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
                - Default
            permissions:
                - 'iConomy.payment'
                - 'iConomy.list'
                - 'iConomy.bank.access'
                - 'iConomy.bank.transfer'
                - 'iConomy.access"
                - 'bedrock.place'
                - 'graveyard.spawn.closest'
                - 'petition'
                - 'jobs.join'
                - 'jobs.world.RoleCraft'
        Admins:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            permissions:
                - '*'
    
     
  5. Offline

    Ross Gosling

    Dear FlameTornado,
    Please can you create a 'spoiler' stating all of the available kills,breaks and places so people know how to write a correct configuration and of sourceforge if you can it would be great if you could delete all the closed posts and all future closed posts as then you know all the current features from this page and all the suggestions on sourceforge
     
  6. Offline

    Fermi

    can someone post jobconfig so i can find best way to balance payment and slots. tyvm
    also, you can post for cookiemonster too(sorry for offtopic request)
     
  7. Offline

    thernztrom

    Hows the support for Permission 3 these days?
     
  8. Offline

    Taien

    It's:

    jobs.join.*

    not:

    jobs.join

    :)
     
  9. Offline

    WaffleOnABike

    I LOVE this plugin. Are you updating for Build #860?
     
  10. Offline

    Master_Queef

    Alright, I got a little problem.
    Everyone earns money in the two worlds I have, where I only want them to earn money in one.

    The two world names are TheNewWorld and FalcorFreeBuildWorld
    If I were to only have them gain money in TheNewWorld, what would I have in my permissions?
    (I use GroupManager)

    I've tried jobs.world.TheNewWorld for the permissions in the FalcorFreeBuildWorld file, but they still earn money. What nodes do I need?
     
  11. Offline

    Taien

    Flame, if I use your updated files from the Source area on the sourceforge site and recompile the plugin, will it work? I really want some of the new stuff you've added ;)
     
  12. Offline

    Clucky

    Sorry it took so long, brother came to town, been busy, heres a ZIP of my old server before i reinstalled BUKKIT 818 (still don't know if my old server was 818, but you can check that out while your there). Anyways this is the server with the BLOCK_PLACE, BLOCK_DESTROY, and PLAYER_QUIT errors. Good luck, it normally does it when you get a lot of people on there, it takes usually around 5 minutes of consistent destroying/placing in your job field.


    ### I will provide the link in a bit, I can't upload anything on this computer because its a server ###
     
  13. Offline

    flametornado

    it should be fine. The killing stuff might get weird and you might get a bit of console spam (working on getting paid when your wolves kill stuff)
     
  14. Offline

    RustyDagger

    I would prefer it if you answered my question about the admin commands 2 times i have asked 2 times you have skipped it :/ also any chance of making a flatfile to mysql converter option that i can turn on in the config restart the server and then turn off would be super handy to get rid of the job loss...
     
  15. Offline

    flametornado

    sorry, i was looking into that. I find that they work fine, you just need to watch the case.

    I'm also looking into the job loss problem. If you send me your flatfile i'll turn it into an sql script that you can run if you want.
     
  16. Offline

    RustyDagger

    That would be awesome :D

    I'm also not opposed to you joining and seeing what the commands are doing for me down side is its very hard for me to see any errors in console ill see if i can catch 1 maybe that will help some as well.

    Jobs Flat file Just lost mine again :/ level 28 gone

    jobs.zip

    Edit seems host is having some issues with me remotly connecting to my Database :/ no doubt due to the huge site changes they just did have to wait for them before i can run the script so no rush :D
     

    Attached Files:

    • jobs.zip
      File size:
      307 bytes
      Views:
      2
  17. Offline

    xyxgreendayxyx

    But jobs.world.RoleCraft doesn't give the players ability to earn money from jobs
     
  18. Offline

    flametornado

    jobs.word.<worldname> gives the user permission to earn money on a world.

    jobs.join.<jobname> lets the user join a specific job.

    If you want all players to earn money on all worlds then do:
    jobs.join.*
    jobs.world.*
     
  19. Offline

    Taien

     
  20. Offline

    Fermi

    can someone post a really good balanced jobs cfg for 12 slot server(daily max. is around 7-8)

    off: and also cookiemonster cfg ould be nice :D
    ty
     
  21. Offline

    flametornado

    here's your sql script.
     

    Attached Files:

  22. Offline

    Fermi

    anyone? need it fast or economy will get ruined :(
     
  23. Offline

    RustyDagger

    @Fermi good luck with that...

    You want it good make it your self. not that hard.
     
  24. Offline

    flametornado

    @Fermi

    What makes a good and balanced jobs config depends on your server and current economy A LOT.
    What works for me (which is default) will work for very few other servers.

    You really just have to tailor the config to your server and its economy.
     
  25. Offline

    Ross Gosling

    Second Post:


    Dear FlameTornado,
    Please can you create a 'spoiler' stating all of the available kills,breaks and places so people know how to write a correct configuration and of sourceforge if you can it would be great if you could delete all the closed posts and all future closed posts as then you know all the current features from this page and all the suggestions on sourceforge​
     
  26. Offline

    Taien

    Here are some ideas based on my classes, without giving them away too much:
    -If you don't want a super-inflated economy, decrease the base rates to some decimal. My stuff for breaking blocks tends to be between 0.025 and 0.6, maybe a little higher....depending on the class and stuff. Of course, if you do this you also have to decrease the base xp for a level (100). Mine is 20. It takes a lot longer to level on my system but the benefits over time are good, with higher exponents for pay increase.

    -Make extra classes that complement other classes. Add to the base classes with additional things that make sense. My farmers also get money for killing livestock, except sheep (since you shouldn't kill your sheep, just harvest them).

    -Make multiple hunting classes, based on different monsters. A good loot modifying plugin can make this option more awesome.

    -If you have a PvP server, make a class thats a bad guy, or maybe a couple kinds of PvP classes that target each other.

    Just some ideas for people :)
     
  27. Offline

    nskjunky

    Is there any way to add the jobname and the jobtitle into the Level-up message?
    If I add %jobtitle%%jobname%, it just shosw me "%jobtitle%%jobname%", but not the actual jobtitle and -name. That would be really grreat.

    Thanks,

    nskjunky
     
  28. Offline

    olimoli123

    I noticed a bug, in config if you set the experienced gained to negative it makes it possible for everyone level to 100 within one dig
     
  29. Offline

    Darcion

    i request a permission node for next version if its not in at this time.

    something like this:
    jobs.world.<worldname>.join.<jobname>

    for a special job in a different world
     
  30. Offline

    Makan747

    Why disappearing jobs sometimes

    // Sorry for my Bad English :(
     
  31. Offline

    Fermi

    can u post cfg pls? :D
     
Thread Status:
Not open for further replies.

Share This Page