[request] Roles revival for PermissionsEX (PEX) [CASH REWARD]

Discussion in 'Archived: Plugin Requests' started by OrtwinS, Aug 25, 2011.

  1. Offline

    OrtwinS

    REWARD I pay $10 to the dev that rewrites Roles for PEX.
    But mind you, it will have to be some decent programming, If done right 'Roles 2.0' will last a lifetime (PEX' lifetime to be exact) without needing an update, just like Roles did with GM.

    Getting paid:
    Money will be transferred by Paypal, having a Paypal account to be albe to get paid is your own responsibility.
    Payment will commence after thorough testing with PEX 1.14+ on my server.
    To recieve my reward the Roles Plugin MUST be availeble for all on Bukkitdev and code MUST be made opensource so anyone can take over in needed.

    BONUS @Olat will toss in another $20 if this gets done.



    Hi all,

    Why do you bring this up now, after all these months?
    Show Spoiler

    After many months it looks like we have finally a worthy successor to AnjoCaido's Groupmanager: PEX.
    GM died long ago and with the new Superperms 'revolution' it will finally be able to rest in peace.

    Now it would complete PEXs inheritence (and dominance as THE permissions plugin) if ROLES could be revived and be updated to work with PEX.



    Roles:
    Roles will allow server admins to create their own faction/class/job systems where every class/job is its own group.
    Players can choose their own 'roles' with commands, admins can restrict access by making requirements (for example make the 'warrior' class a requirement before being able to pick up the 'Swords' specialty) and by putting in minimum waits before players are able to change a type of role again (like only one job swap every 48 hours, or 1 faction swap a month).

    Because every role is its own group you can add any permission from any plugin as an 'ability' of that role (give the mage class access to your magic plugin, give your farmers access to mcMMO herbalism, give engineers-only access to Craftbook bridges).

    Its possibilities are near endless.


    Original Roles discription:
    Show Spoiler

    Features:
    • Easy role categorization
    • Good integration with GroupManager
    • Let your users choose their roles in server, such as:factions, jobs, skills and etc. No need to do it for them.
    • Time based "leave", so your users can't join-leave groups all the time. They need to wait the amount of hours you choose to leave a role.
    • Multiworld support!

    Commands:

    Code:
    commands:   joinrole:     description: Join a role of your choice.     usage: /<command> [category] [group]     permission: roles.joinrole   leaverole:     description: Leave a role of your choice.     usage: /<command> [category] [group]     permission: roles.leaverole   myroles:     description: List roles you have.     usage: /<command> [category]     permission: roles.myroles   whoroles:     description: List somebody else roles.     usage: /<command> <player> [category]     permission: roles.whoroles   roles:     description: Reload Roles configuration     usage: /<command>     permission: roles.roles
    
    This system is quite simple, yet functional. Hope it fits most people needs.
    All commands can be done only by players.

    All groups are added as a user subGroup, except when the user join a role of the main category. Those roles really change the user group when joined.

    Config file:
    Code:
    world:     categories:         faction:             limit: 1             time: 168         job:             limit: 1             time: 24         subjob:             limit: 2             time: 12         skill:             limit: 4             time: 1     setting:         defaultgroup: Peasant         maincategory: faction
    
    world is the world name. This plugin respects GM mirroring, so the name of the world must be the the same of the real world which you have data on GroupManager.
    faction,job,subjob,skill are the categories that you use on group specification. You can create as many as you want like that.(use always lower case, please)
    limit is the quantity of roles of that category each user can join in. subjob is 2, so everyuser can join in two subjobsrole.
    time is the amount of time, in hours, a player need to wait before leaving a group that he joined of such category. The usual is the bigger the role, the bigger the time. No need to explain that.
    maincategory You can optionally set a category for users to choose their main groups. When a group change a role of main category, he will have his prefix, suffix, build and other variables affected, just like he get physically changed groups(instead of subgrouping).
    defaultgroup will tell Roles to which group should take a user if he leaves a group of the main category. So if you leave your faction, you will be redirected to Peasant group. No need for this if you don't use main category.

    Got it! So, where are the groups?
    In your GroupManager… for every group, there are special variables you put in them, where Roles will read and decide what to do.

    These nodes go inside the INFO node for every group you want to set as a Role.
    roles-category: faction - Type accepted: String - Explanation: this is setting a group for a role called faction
    roles-requirement: Miner - Type accepted: List/String - Explanation: this telling you that for you to join this role, you must have joined a role(group) called Miner.
    Every entry of the list is considered a full requirement, so you just need to fulfill one of the requirements to be able to join.
    Example:
    Code:
    roles-requirement:   - BlueFaction   - RedFaction
    
    To enforce multiple roles as requirement, you put role names in same entry separated by the character '&', just like this:
    Code:
    roles-requirement: Fighter&SuperCart
    
    Example of groups.yml file on GroupManager, using Roles:
    Show Spoiler

    Code:
    groups:   Default:     default: true     permissions:     - essentials.help     - essentials.home     - essentials.motd     - essentials.sethome     - essentials.spawn     inheritance: []     info:       prefix: ''       build: false       suffix: ''   SemiAdmin:     default: false     permissions:     - +groupmanager.mandemote     - +groupmanager.manpromote     - -groupmanager.*     - '*'     inheritance:     - moderator     info:       prefix: '&c'       build: true       suffix: SemiAdmin   RedFaction:     default: false     permissions: []     inheritance:     - peasant     info:       prefix: '&c'       roles-category: faction       build: true       suffix: Red   Farmer:     default: false     permissions:     - essentials.kit     - essentials.kit.farmer     - essentials.spawnmob     inheritance: []     info:       roles-requirement:       - BlueFaction       - RedFaction       prefix: ''       roles-category: job       build: false       suffix: ''   Healer:     default: false     permissions:     - essentials.kit     - essentials.kit.healer     - essentials.heal     inheritance: []     info:       roles-requirement:       - BlueFaction       - RedFaction       prefix: ''       roles-category: job       build: false       suffix: ''   Fighter:     default: false     permissions:     - essentials.kit     - essentials.kit.fighter     inheritance: []     info:       prefix: ''       roles-category: skill       build: false       suffix: ''   Admin:     default: false     permissions:     - '*'     inheritance:     - semiadmin     info:       prefix: ''       build: true       suffix: ''   Miner:     default: false     permissions:     - essentials.kit     - essentials.kit.miner     - flashlight.regular     inheritance: []     info:       roles-requirement:       - BlueFaction       - RedFaction       prefix: ''       roles-category: job       build: false       suffix: ''   FlyingMan:     default: false     permissions:     - nocheat.moving     inheritance: []     info:       roles-requirement: Fighter&SuperCart       prefix: ''       roles-category: skill       build: false       suffix: ''   Peasant:     default: false     permissions:     - roles.joinrole     - roles.leaverole     - roles.myroles     inheritance:     - default     info:       prefix: '&e'       build: true       suffix: Peasant   BlueFaction:     default: false     permissions: []     inheritance:     - peasant     info:       prefix: '&d'       roles-category: faction       build: true       suffix: Blue   Railer:     default: false     permissions:     - essentials.kit     - essentials.kit.railer     inheritance: []     info:       roles-requirement: Miner       prefix: ''       roles-category: subjob       build: false       suffix: ''   SuperCart:     default: false     permissions:     - minecartmania.*     inheritance: []     info:       roles-requirement: Railer       prefix: ''       roles-category: skill       build: false       suffix: ''   Moderator:     default: false     permissions:     - essentials.tp     - essentials.tphere     - essentials.item     - essentials.give     inheritance:     - default     info:       prefix: '&c'       build: true       suffix: Mod
    






    More info, tech tips
    Original roles thread and (probably a better) discription: HERE
    Its on Github so the original code is still availeble.

    It would be a nice extra if there was iConomy integration, configurable money costs to join/leave roles).

    Please be aware that @t3hk0d3 (the PEX dev) has said that in PEX 1.14 (the next update) the users and groups will be in seperate files, some consultation with t3hk0d3 might be in order to make the integration flawless.

    Bumb
    Come on people, this plugin is providing such simple but powerfull functionality, any takers?

    bump again, I cant believe noone is interested in this, this plugin is CORE for many servers... or used to be.

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

    Thequickthinkin

    Wow, your right! I use Pex and the roles plugin is just what it needs! It will become the favourite plugin for role playing servers!
     
  3. Offline

    Naliz

    I agree.
    Bump! :)
     
  4. Offline

    nitemare24

    This sounds really helpful! BUMP :D
     
  5. Offline

    dralletje

    OMG THAT IS EXACTLY THE IDEA I WAS GOING TO POST XD!!!!
    I was thinking about making that plugin but I am not a really good programmer...
    but I'll try :D
    anyway, there must also be option parameters like health and damage to make it more configurable.

    but please do never steal my idea's again :p
     
  6. Offline

    Thequickthinkin

    please do try and have a go at it! My server will definetly donate to keep it going!
     
  7. Offline

    Mr_H4mm3r

    I will try to make this plugin. But I'm only a beginner so don't except it's a pro plugin
     
  8. Offline

    OrtwinS

    @dralletje

    health and damage...? eh? how do you plan on making those parameters? Roles is about giving users the abilitie to change their own group/subgroup, whatever health/damage controlling plugin permissions we put in those groups is up to the server admin.


    @Mr_H4mm3r

    Try to use the orinal code as a base, the only big change is that it now shouldn't look into GM files for the info nodes, but in the PEX user files.


    Great you guys give it a try!
     
  9. Offline

    dralletje

    your right, server admins can just assign custom health to groups using other plugins...
     
  10. Offline

    OrtwinS

    Updated first post with reward info.

    I bet any experienced plugin dev can fix Roles for PEX in 30 minutes...
     
  11. Offline

    codename_B

    Ugh, I cba releasing another plugin >.< I'd be happy to code it privately and give away the code.
     
  12. Offline

    OrtwinS

    I dont know what cba stands for, but having you make this does give me a sense of quality, I use several of the b-plugins (with great satisfaction).
     
  13. Offline

    saul100

    cba - cant be asked/ cant be arsed.
    like saying cbb - cant be bothered.
     
  14. Offline

    Olat

    @OrtwinS

    I will toss in 20 Dollars to who ever codes this Revamp of the Roles Plugin...
    I am the one that Requested AnjoCaido to make Roles, and I use it still to this day. But with it being outdated and dead I cant update to PEX or Permissions because I lack the ability for my users to pick skills and or classes in game.
     
  15. Offline

    Specops343

    Ah, Ort, you shoulda said something. I'll take a look into it tonight for you :p
     
  16. Offline

    OrtwinS


    Hi Olat!

    I should have remembered you, I followed (the public part) of the coming-into-existence of the original Roles.
    Greysoul inspired Morphcraft considerable.

    Good to have you on board.


    You mind if I note your reward in the first post?
     
  17. Offline

    Olat

    @OrtwinS
    No go ahead, please put my Donation in the First post, This would hopefully inspire some one to pick it up.
     
  18. Offline

    BugSpreadeR

    let me have a go at it...xD

    Edit:
    Im done creating the plugin...it is now only compatible to PermissionsEx, so this plugin i have
    does not support GroupManager anymore. But i haven't tested it out yet as i dont have a server
    that has lots of people or should i say i haven't played Minecraft for months now. I'm just
    studying java now and creating some simple plugins. So that said, i need a tester. Will create
    the page later and will post the update here.

    i made a recoded plugin to support pex
    http://dev.bukkit.org/server-mods/roles-bugs/
    please test it cause i didnt test it yet. and tell me what is wrong with it

    edit:
    just wait for a few minutes or hours ...maybe it still in approval process i think

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

    dak393

    What would be the advantages to this vs say Heroes? Seeing as that works great :p
     
  20. Offline

    OrtwinS

    Heroes is indeed a very nice plugin, and knowing that its from HeroCraft does give you a sort of 'knowing its a decent programmed plugin.

    BUT, it still locks you to their system, though you can add classes and name them however you like, you cannot incorporate any other plugin in it.
    Roles is more flexible, as you can use ANY plugin there is for bukkit, and add those permissions nodes in your desired faction/class/job.

    Granted, roles will be more complex to set up since you will have several plugins to manage and have to set up the entire system yourself, but you can do exactly the same thing as you can do with Heroes, and way more.


    I wont test this on my live server either, I'll copy my server and run the duplicate locally as a test server.
    Loss of GM support is not a problem, GM may rest in peace.

    My bigger problem now is that my server still runs with GM and the old Roles, I will have to switch to PEX, test that, and then try your version of Roles (all locally ofcourse, I wont make my users guinea pigs for this).
    It might take a little time.

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

    dak393

    But thats my point you CAN link other plugins to Heroes. So what is your need to have missing feature? Heroes is still growing and improving all the time anyways and if being able to ad in any other plugin to a class and using their pre-made skills you can even code your own. So given that you CAN use ANY plugin with heroes what's your next selling point.
     
  22. Offline

    OrtwinS

    Hmmm, I guess I missed that part of the Heroes discription.

    As I said, Roles doesn't lock you down to one particular system, Heroes also comes with LOAD of stuff build it I might not want at all.
    Also, Roles offers unlimited ammount of layers, faction-class-skill-job-hobby-etc, you can add as many as you want, not a single layer of classes (and yes, I know Heroes has promotion tracks, but your still locked in that track, its something completely different).

    Maybe windows vs Linus is a nice comparison? Linux requires a bit more knowledge, but you can get a much better performing system, without the build-in crap windows comes with (that might be nice and great for others, but I dont want it)

    I want to keep my server using the system I made, and me and my users like. So does Olat, (and he has a way more complex server then I have).
     
  23. Offline

    dralletje

    I like your comparison with Linux :) #OMGUBUNTU

    Anyway, I saw a guy ported roles already but I am also very far with my new roles plugin... I don't know why I post this but... Yeah :p
     
  24. Offline

    Flenix

    Heroes is a pretty clever little system: You have all those in-built skills and you can then add permissions nodes as new skills. You can also make your players level up to gain those skills (so when they get to level 15, they get the node for a fire sword from FireLord for example)

    I'm still toying with the config.. it'd be nice if they had some sort of converter.. 7 races 3 of which are mages on my server so takes a while XD (And some are VERY long in heroes..)
     
  25. Offline

    OrtwinS

    The Roles plugin by @BugSpreadeR does not work, no errors in log, it simple does nothing that I can see.
    @dralletje I'd love to give your version a try.
     
  26. Offline

    dralletje

    ok, I am hard working on it now :D
    I am not a grat developer, but I have a running server to test with :)
     
  27. Offline

    Thequickthinkin

    I'd like to try a version aswell! I can do a thorough testing of it within a hour of you giving me it :D
     
  28. Offline

    BugSpreadeR

    i updated the fix...roles 2.0.1 is up
     
  29. Offline

    Thequickthinkin

    Thank you bug! Ill test it now straight away :D
     
  30. Offline

    BugSpreadeR

    oh hey...about your problem, did you read that i changed the roles-requirement to rolesRequirement and also the roles-category to rolesCategory? to make the plugin work really well...you have to read the whole infos and stuff...cause it will not work if your not keeping up with the changes
     

Share This Page