1. Hey guys! So I just completed my IGatherBeta as it needed a revamp. Currently I still haven't added permissions as I would like to stick with groups. Now im going to need some testers as I cannot test this in-game only out of game(console). I will list all commands below!

    Console Commands:
    • igcreategroup (Group Name) (Resource Rate) (Quarry Rate) (Pickup Rate) -Creates a group with the specified stats.
    • igaddusertogroup (Player Name) (Group ID) -Adds a user to the selected group.
    • igremoveuserfromgroup (Player Name) (Group to be moved to) -Removes a user from his current group and adds him to the specified group.
    • igcollectstats (Player Name) -Prints out stats of a player.
    • igwipegroups -Wipes all groups. Requires confirmation seen below.
    • igconfirm(Confirms the wipe) -Confirms a wipe and clears all groups and creates the default group.
    • iggrabpermissions -Gives you a list of all permissions that have been registered.
    Chat Commands:
    • /igath creategroup (Group Name) (resource rate) (quarry rate) (pickup rate) -Creates a group with the specified stats.
    • /igath addusertogroup (User Name) (GroupID) -Adds a user to the selected group.
    • /igath removeuserfromgroup (User Name) (Group to be placed in) -Removes a user from his current group and adds him to the specified group.
    • /igath collectstats (User Name) -Prints out stats of a player.
    • /igath wipegroups -Wipes all groups. Requires confirmation seen below.
    • /igath confirmwipe -Confirms a wipe and clears all groups and creates the default group.
    • /igath gather -Shows the player's gather rate.
    • /igath -Shows any and all commands(chat only).
    Information:
    • Most of these commands require either authlevel 1 or 2. Chat wiping requires auth 2 while console wiping just requires admin(1 or 2)
    • You cannot remove groups as of this moment.
    • If you delete all groups any and all members of any of those existing groups will be added to the default group.'
    Updates:
    • Adds permissons with a new console command.
    • Also keep in mind the permission in config is useless as of this moment.
    • --------------------------------------------------------------------------------------
    • Added revoke permission hook.
     

    Attached Files:

    Last edited by a moderator: Jul 5, 2016
  2. Awesome, I was going to buy a custom plugin to do this :) Will try it.
     
  3. Okay, so so far, it would be useful if you added perms to setup with my rank system.
     
  4. Hello, can you also make adding a user to the group by permissions, as i want to use it with timed permission
     
  5. Yup I can attempt that. You should be able to do what you want with the current existing console commands.
     
  6. Updated with permissions: Upon creating a group it will create a permission based on that groups name see example below.
    igcreategroup VIP 1.0 1.0 1.0 would create a permission of: igatherbeta.VIP
    [DOUBLEPOST=1467731238][/DOUBLEPOST]Also do not forget I have included floats in the resource rates so you can do 2.5, 3.9, etc. But you can still do 3, 5, 9, etc.
    [DOUBLEPOST=1467731688][/DOUBLEPOST]
    Code:
    [Oxide] 10:14 [Info] [IGatherBeta] igatherbeta.Regular
    [Oxide] 10:14 [Info] [IGatherBeta] igatherbeta.VIP
    [Oxide] 10:14 [Info] [IGatherBeta] igatherbeta.Variable
    [Oxide] 10:14 [Info] [IGatherBeta] igatherbeta.Extender
    [Oxide] 10:14 [Info] [IGatherBeta] igatherbeta.Dev
    [Oxide] 10:14 [Info] [IGatherBeta] igatherbeta.99
                                                         
    This is what iggrabpermissions prints to console.
     
  7. Small update: Added revoke permission so upon revoking a players permission he will be removed from that group and be added to the default group!
     
  8. Im going to go ahead and remove the remove user and add user commands soon as they have become useless.
     
  9. Does this mean when a player have igatherbeta.Regular permission they have that gatherrate?
     
  10. Getting this error with the XP update:

    (17:18:58) | [Oxide] 17:18 [Info] IGatherBeta was compiled successfully in 1847ms
    (17:18:58) | [Oxide] 17:18 [Info] Loaded plugin IGatherBeta v1.0.7 by DylanSMR
    (17:18:58) | [Oxide] 17:18 [Warning] [IGatherBeta] Creating default configuration
    (17:18:58) | [Oxide] 17:18 [Info] [IGatherBeta] Group 1 is configured.
    (17:19:24) | [Oxide] 17:19 [Error] Failed to call hook 'cmdChat' on plugin 'IGatherBeta v1.0.7' (IndexOutOfRangeException: Array index is out of range.)
    (17:19:24) | [Oxide] 17:19 [Debug] at Oxide.Plugins.IGatherBeta.cmdChat (.BasePlayer player, System.String command, System.String[] args) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.IGatherBeta.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Plugins.CSharpPlugin.InvokeMethod (HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
    at Oxide.Core.Plugins.Plugin.CallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0
     
  11. What commands are you calling?
     
  12. hi there i see that i have perms like igatherbeta.regular but i can't grant it to user group ?
    [DOUBLEPOST=1468525640][/DOUBLEPOST][Oxide] 22:46 [Info] [IGatherBeta] igatherbeta.default

    grant group default igatherbeta.default
    [Oxide] 22:46 [Info] Permission 'igatherbeta.default' doesn't exist
     
  13. Capitalize it
    [DOUBLEPOST=1468526414][/DOUBLEPOST]Reload the plugin as well
     
  14. Can't wipe groups
    [Oxide] 09:33 [Error] Failed to call hook 'ConfirmC' on plugin 'IGatherBeta v1.0.7' (KeyNotFoundException: The given key was not present in the dictionary.)
    [Oxide] 09:33 [Debug] at System.Collections.Generic.Dictionary`2[System.Int32,Oxide.Plugins.IGatherBeta+Groups].get_Item (Int32 key) [0x00000] in <filename unknown>:0 at Oxide.Plugins.IGatherBeta.ConfirmC (.Arg arg) [0x00000] in <filename unknown>:0 at Oxide.Plugins.IGatherBeta.DirectCallHook (System.String name, System.Object& ret, System.Object[] args) [0x00000] in <filename unknown>:0 at Oxide.Plugins.CSharpPlugin.InvokeMethod (HookMethod method, System.Object[] args) [0x00000] in <filename unknown>:0 at Oxide.Core.Plugins.CSPlugin.OnCallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0 at Oxide.Core.Plugins.Plugin.CallHook (System.String name, System.Object[] args) [0x00000] in <filename unknown>:0