Garry's Mod

Garry's Mod

57 ratings
[E2] Vgui Core
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Tool
Addon Tags: Build, Fun
File Size
Posted
Updated
355.813 KB
8 May, 2018 @ 2:02pm
12 Jun, 2024 @ 7:40am
24 Change Notes ( view )

Subscribe to download
[E2] Vgui Core

In 1 collection by Linus
Linus' Favorites
9 items
Description
Addon for the Wiremod Expression2 Tool which allows the player to create vgui panels.

E2 Code Examples: https://github.com/Linus045/e2_vgui_core/wiki/Examples-for-different-types
Wiki: https://github.com/Linus045/e2_vgui_core/wiki
GitHub: https://github.com/Linus045/e2_vgui_core
Issues/Bugs: https://github.com/Linus045/e2_vgui_core/issues

Demo Video: https://drive.google.com/file/d/1MZWlPZ2Kw71UmFu7NSF8Rhu5U_8jZSMH/view

Features:
- Create vgui elements via e2 on your own client or other people's client (abuse protection is provided, see wiki)
- fully customize the vgui panel layout (similar to how they work inside lua)
- link the e2 to vehicles so the vgui elements open/close automatically when someone enters/leaves the vehicle
- simple coloring options to customize the vgui elements


If you encounter bugs please report them on github and not in the comments, thanks :)

If you have any ideas for improvements or stuff you want me to add just ask in the comments and i will see what i can do.

Any feedback is appreciated, this especially refers to lua errors or other bugs since my testing capabilities are limited.

I'm also available on the Official Wiremod Discord @Linus


Available vgui elements:
- DCombobox
- DTextentry
- DSlider
- DButton
- DPropertysheet
- DListview
- DPanel
- DSpawnicon
- DModelpanel
- DLabel
- DImagebutton
- DFrame
- DColormixer
- DCheckboxlabel
- DCheckbox

If you need more feel free to ask in the comments and I'll see what I can do.
61 Comments
Manneneyen 25 Mar @ 4:55am 
thank you very much
Linus  [author] 25 Mar @ 3:20am 
@Manneneyen
I don't encounter the problem when opening the e2 editor.
However I've done some debugging and the problem seems to be a compatibility bug with wiremod itself. This core adds a lot of e2 functions which cause a client overflow when they get loaded on the client.

I've created an issue on the wiremod GitHub, see here [github.com]. Once it's resolved this should hopefully fix your problem. Otherwise I'll have another look.
Manneneyen 25 Mar @ 3:12am 
First crash appears when i opened e2 editor, after reloading singleplayer is starts crashing me with same error on the loading stage, after restarting the game the situation is same
Linus  [author] 24 Mar @ 3:20pm 
@Manneneyen
I'm aware of the crash when you reload/restart the singleplayer world. It should work on the first load though.
The current workaround is to restart Gmod completely.

There is already a GitHub issue [github.com] to track this but, however I'm not sure what the root cause of the problem is.

If your problem differs from the already existing GitHub issue please provide more information and steps to reproduce it.
Manneneyen 24 Mar @ 10:21am 
pls fix this core, i'm crashing with [Client 0 overflowed reliable channel]
Linus  [author] 4 Nov, 2024 @ 12:25pm 
Serverside CVars will probably be something to limit the functionality.
However I would also like to allow each client itself to allow/block the dhtml functionality due to the previously mentioned abuse concerns.

I've tried to implement the DHTML element on the experimental branch on github but haven't found the time to continue working on this feature yet.

As mentioned before, some actual use cases for this would be appreciated so I know what to focus on.
And feel free to create a Github issue to discuss this in more detail e.g. with example code etc.
Obsidian Plague 27 Oct, 2024 @ 1:49am 
why not have server cvars to limit what dhtml can do?
Linus  [author] 4 May, 2024 @ 4:03pm 
@cirro
I've never used the DHTML element myself.
I took a quick look and security might be a problem. As I understand it the website gets loaded by the client that creates the DHTML element.
Therefore it allows the e2-creator to open any URL on any other player, which is something I'm not willing to implement.

That said. It might be possible to allow only the e2-owner to use DHTML elements but block it on other players or add additional features to the buddy system to explicitly allow the usage of DHTML elements.
Aside from that, there seems to be a feature that allows Javascript to execute Lua code which also might present security problems (I took note that you can disable this specific funtionality though)
I will have to look into it a bit more.

Do you have any specific use cases in mind for DHTML which would help me understand what features you need?
The specialist 31 Mar, 2024 @ 8:48am 
might be outside the scope of this addon, but is there any way we can get dhtml?
Linus  [author] 26 Nov, 2023 @ 10:33pm 
Thanks for bringing this to my attention. I will try to get it fixed within the next few days, I'm currently a bit busy. The fix itself seems to be pretty simple though. Someone already made a pull request on GitHub (thanks for that).