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
- getChatboxLayout
- guiBringToFront
- guiCreateFont
- guiGetAlpha
- guiGetEnabled
- guiGetFont
- guiGetInputEnabled
- guiGetInputMode
- guiGetPosition
- guiGetProperties
- guiGetProperty
- guiGetScreenSize
- guiGetSize
- guiGetText
- guiGetVisible
- guiMoveToBack
- guiSetAlpha
- guiSetEnabled
- guiSetFont
- guiSetInputEnabled
- guiSetInputMode
- guiSetPosition
- guiSetProperty
- guiSetSize
- guiSetText
- guiSetVisible
- isChatBoxInputActive
- isConsoleActive
- isDebugViewActive
- isMainMenuActive
- isMTAWindowActive
- isTransferBoxActive
Part 2 of the suggestion here
Solved GUI system
Discussion in 'Rust Development' started by Gonzalo_Cardozo, May 19, 2015.
-
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.
-
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? -
Wulf Community Admin
-
Just so you know, there are 2 ways to work around it.
You could use Rust debug drawing methods checkout source of this huge pluginhttp://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.
-
-
For a simple case like this he would be better using position= on FixedUpdate() imho -
because real position of object is (0,0,0), but NetworkGroup position = parent object position + real position
-
-