Solved GUI system

Discussion in 'Rust Development' started by Gonzalo_Cardozo, May 19, 2015.

  1. A system that I have been thinking would allow great plugins, is a good editable GUI System

    Having a system like this, would allow a larger portion of Plugins interacting with the users a lot more dynamically, than by just doing a huge amount of chat commands for everything.
    E.g., Admin Panels, Chat Rooms, Personalized menus showing items, stats, etc. etc. etc.

    Here is a list of the different function that GUI handling would need (All of them are pretty self explanatory). This particular list has been taken from another game, and it is just to give an idea of what needs to be handled in an editable GUI Window. Of course, each function has arguments, such as the X and Y sizes, the X and Y positions within the main GUI Window, colours, title texts, button texts, gridlist creation with amount of columns and rows, etc.

    GUI functions
    Buttons
    Part 2 of the suggestion here
     
  2. Wulf

    Wulf Community Admin

    The Rust server doesn't have any ability to edit/add to the client's UI, so none of this would be possible. Unless Garry/Facepunch adds a way to control the existing UI elements or some sort of custom system, there's not much that can be done. If you wanted to do something like this on your own, you'd need to have a client mod as well, and then you also run into the possibility of getting banned via EAC.
     
  3. Oh I see, too bad, it would have allowed a lot of different additions to the servers. Wont bother posting the part 2 I guess. Thanks for the quick answer
    [DOUBLEPOST=1432013189][/DOUBLEPOST]I was actually looking to add several plugins with this, there is absolutely no workaround, no way, to add any kind of graphic interface?
     
  4. Wulf

    Wulf Community Admin

    No problem, sorry for you having to write up that detailed post! :)
     
  5. Just so you know, there are 2 ways to work around it.

    You could use Rust debug drawing methods checkout source of this huge plugin :) http://oxidemod.org/plugins/draw.968/
    problem is it's quite ugly and you need to redraw it all the time.

    The other, much friendlier method is hanging a floating sign in players FOV. You would also need a piece of code to ensure signs correct position relative to the players, but at least you only have to redraw only when some parts of your 'gui' changed.
    Bind 1-6 keys as navigation and you are all set :).
     
  6. You can do floating signs with Rust parent system ( SetParent( BaseEntity, "closest") ) ;)
     
  7. Yeah you can, but I've been running into some unexpected behavior when parenting transforms in rust. Namely, the objects won't take damage and c4 won't stick to them. This might be ideal in this situation, but since I'm not sure what causing the behavior so I try to use it as little as possible (orphanizing the transforms after moving group of objects).

    For a simple case like this he would be better using position= on FixedUpdate() imho
     
  8. because real position of object is (0,0,0), but NetworkGroup position = parent object position + real position
     
  9. So there is no other way than to ask Garry nicely if he can get the client's HTML GUI from the server and allow us to edit them? That way we could really get going on this.
     
  10. It's not built using html anymore it is using unity gui system.