UniversalUI

This is a fully Customizable UI for Info and Buttons!

Total Downloads: 1,896 - First Release: Nov 23, 2016 - Last Update: May 13, 2017

5/5, 24 likes
  1. Absolut submitted a new resource:

    UniversalUI - This is a fully Customizable UI for .

    Read more about this resource...
     
  2. Wow! Amazing work man! Cannot wait to start playing with this! =)
     
  3. Great Work as Always! I did some work in photoshop, glad you have the ability to add images. Gives the ability to make this look really good.

    [​IMG]
     
    Last edited by a moderator: Nov 30, 2016
  4. Looks good !

    Requests
    :
    • can add permissions for any permission group ( ie, sections for "defualt", "donator", "VIP", "moderator", etc ) That way it's not just admin sections and standard player sections
    • add MySQL support for easier web interface modification of the info
     
  5. No problem on permissions; I'll add a text field per button, section, page that a permissions can be added to. Please note, this WILL break the config for everyone.

    As per MySQL, I know sql very well from a db perspective but have no clue how to implement it for an oxide mod. I'll see what I can gather but no promises.

    Ill get it handled and post it.
    [DOUBLEPOST=1480002969][/DOUBLEPOST]
    Looks solid man! Good stuff : )
    [DOUBLEPOST=1480002984][/DOUBLEPOST]
    Thanks Diesel! Let me know how it goes.
     
  6. Donation incoming ! ;)
     
  7. Thank you very kind! I'll get that update out sometime tomorrow. It's thanksgiving so computer time will be at a minimum :)
     
  8. Awesome work man. Thanks.

    Request: Ability to have chat commands as buttons like in your other addon custom commands.
     
  9. You can use chat commands as a button. You use "chat.say /command"
     
  10. Thank you. I will try that. had no idea you could do that.
     
  11. Is there a way to disable the chat notification that tells them UI is running and to press F5? I see I can change the frequency length. But not how to disable it. I have another mod that shows all announcements.
     
  12. 0 will disable it.
     
  13. now rust have its own "web" browser, let's call it rustzilla =)
    permissions would be great for buttons, pages and sections...
    thank you.
     
  14. Possible to code something so the command is like

    Code:
    env.time {playerinput}
    Plugin will then detect when the player has clicked it and not execute the command until playerinput (chat) has been completed, so for example the player can click a button saying "Set Time" and then type in the chat the time they want, it'll execute the command with their input? Just an idea of how to make it slightly more dynamic.

    Hope I explained properly.
     
  15. Yes you did. I can add a delayed command option. Let me play with it.
    [DOUBLEPOST=1480106523][/DOUBLEPOST]
    Adding permissions in the next update :)
     
  16. Sorry figured out
     

  17. I like this idea. Would really be usefull!
     
  18. Who wants to test? : )

    FYI THIS WILL BREAK YOUR CONFIG (So save it...)

    Additions:

    Added permission option to Sections, and Buttons. (Left out Pages because I realized if you put a permission on page 2, you wouldn't be able to get to page 3 or 4 or 5 etc. without permission to page 2 (because of page turning logic).

    Added Delayed Commands.

    Overview:

    Permissions are enabled by typing a permission in the config. This is as simple as typing for example: VIP. On reload the plugin will automatically register UniversalUI.VIP . When using the UI the logic works as follows: Admins or players with permission UniversalUI.admin can see/do everything. If AdminOnly is true player must be admin or have admin permission (UniversalUI.admin). If AdminOnly is false, and permission string isn't blank or null, it will check if the player has the permission to use the button or section. If the player doesn't have permission it shouldnt show the applicable button, or section, or whatever.

    Delayed Commands require the command field in the config to have "delay" first. For example, if you wanted to do a env.time command which allows the entry of the parameter you would type "command": "delay env.time". When this button is pressed it will tell the player: "You have selected a Delayed Command. To finish the command please type a 'parameter' for command: env.time". Simply type 1 and it should change the time to 1. Furthermore, if you wanted a chat command you would put "command": "delay chat.say /command"; this will work the same way.

    This is completely untested by myself because my servers aren't updated and I am limited on time. Please send me feedback and I can get this released ASAP. Thanks!
     

    Attached Files:

  19. I did a quick test and the results are a bit weird.

    After unloading the old plugin and deleting the config, i loaded the new version and when i clicked on the hotkey to open the ui all that appears is 2 columns of buttons on the right side of the screen. Below is a screen shot and a snippet of the error code found in console when opening and closing the ui.

    [​IMG]

    Code:
    (14:30:31) | [Oxide] 14:30 [Info] Unloaded plugin UniversalUI v1.0.0 by Absolut
    (14:30:31) | [Oxide] 14:30 [Info] Loaded plugin UniversalUI v1.0.0 by Absolut
    (14:30:37) | [Oxide] 14:30 [Error] Failed to call hook 'cmdUI_OpenUniversalUI' on plugin 'UniversalUI v1.0.0' (NullReferenceException: Object reference not set to an instance of an object)
    (14:30:37) | [Oxide] 14:30 [Debug]   at Oxide.Plugins.UniversalUI.UIInfoPanel (.BasePlayer player) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.UniversalUI.OpenUniversalUI (.BasePlayer player) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.UniversalUI.cmdUI_OpenUniversalUI (.Arg arg) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.UniversalUI.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
    (14:30:39) | [Oxide] 14:30 [Error] Failed to call hook 'cmdUI_OpenUniversalUI' on plugin 'UniversalUI v1.0.0' (NullReferenceException: Object reference not set to an instance of an object)
    (14:30:39) | [Oxide] 14:30 [Debug]   at Oxide.Plugins.UniversalUI.UIInfoPanel (.BasePlayer player) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.UniversalUI.OpenUniversalUI (.BasePlayer player) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.UniversalUI.cmdUI_OpenUniversalUI (.Arg arg) [0x00000] in <filename unknown>:0
      at Oxide.Plugins.UniversalUI.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
     
  20. Is it possible to use something other than function keys to open the UI? For example, to be able to use a written command like /info or /rules to open the particular areas? Trying to get my head around the config.