Author Topic: XGUI - Fully featured modular GUI for ULX! (Included with ULX v3.51 and SVN)  (Read 261191 times)

0 Members and 1 Guest are viewing this topic.

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1229
  • Karma: 156
  • open(my $file, "<README") or die;
    • View Profile
    • XGUI
XGUI -- A GUI for ULX

XGUI is a GUI for ULX which is easy to use, very intuitive, always provides 100% updated information, is modular for additional content, and will include EVERY feature ULX has to offer. This will become the official GUI for ULX, and has replaced the current menus.

<a href="http://www.youtube.com/v/OQJ9QPqDFjk&amp;hl=en&amp;fs=1" target="_blank" class="new_win">http://www.youtube.com/v/OQJ9QPqDFjk&amp;hl=en&amp;fs=1</a>

The Modules
Here are the individual modules and the information about them:

Players Module:

This module is designed to provide admins/nonadmins with access to commands they can use. Designed to flow easily between commands and arguments, and adds shortcuts for quick command-execution!

Groups Module:


This module is designed to allow admins to easily add/remove groups, set/remove users to various groups, set user/group command restrictions and access tags, as well as manage UTeam teams and modifiers, and assign groups to teams.

Maps Module:

This module is designed for admins to view server maps, and perform a yes/no vote to change to a specific map, or to perform a multiple-map vote. Users can also access this to see which maps on the server are voteable, and to start a votemap for any available maps.

Settings Module:


This module is designed for users to modify XGUI settings or any client-side settings. Admins will be able to change gamemode-specific settings and limits, change any XGUI-specific settings, and set ULX specific settings, including adding/removing gimps and adverts on the fly. All settings changed should be instantaneous, and others should see the changes you make in realtime!

Bans Module:

This module is designed to allow admins to quickly view bans on their server, as well as provide very specific details about bans when requested. It also allows to ban players in the server, or ban offline players by their STEAMID. You can also change the name/reason of a ban when needed. You can also view bans that were imported from the Source Engine (banned via banid), and move them over to ULX if needed.

Logs Module:
This module will allow an easily viewable log showing chat, PMs, ULX commands, server output, and other various important console information. This log will be filterable, so you will be able to quickly show only the information you want to look up.
TODO: This entire module!  :o

Progress Bar:

XGUI features a progress bar to view when data is being received from the server, and if data is currently being processed on the clients end! (Usually only shows up for a split second, but, useful for large ban files and possible log features later)

Download, Instructions, and Usage
XGUI is now included with ULX SVN by default! Please make sure you have the latest version from the following thread:
http://forums.ulyssesmod.net/index.php/topic,3092.0.html

To view an official TODO list/bug list, please go here: http://github.com/SticklyMan/xgui/issues

Once installed, you can activate XGUI by the following methods:
To toggle xgui (recommended):
-Bind a key to "xgui" OR
-Bind a key to "xgui toggle"

To show xugi:
-Say "!xgui" in chat OR
-Bind a key to "xgui show"

To hide xgui:
-Click the 'x' button at the top-right of the screen OR
-Bind a key to "xgui hide"

To open a specific tab in xgui:
-Say "!xgui bans" in chat OR
-Bind a key to "xgui show bans"
(where bans can be any tab name such as cmds, groups, maps, settings, bans, etc.)

To open the quick ban window:
-Say "!xban" in chat, or specify a partial player name to automatically pull up their info in the ban window.
-Say "!fban <player>" in chat with a partial player name to freeze the player while you specify a ban reason and time.

Enjoy! Let me know of any bugs you come across, or any suggestions you might have! :D

CHANGELOG:
Code: [Select]
9/21/2011 (rev 188)
-----------------
+Added: Double click on a player on the commands tab to execute the command.

9/03/2011 (rev 187)
-----------------
*Changed: Lowered sending priority of users data.
=Fixed: Optimized client-side processing of incoming users data.
=Fixed: Optimized frequency of gui updates regarding users data.


7/29/2011 (rev 186)
-----------------
*Changed: Uteam code optimizations
=Fixed: Players' UTeam parameters now update properly when their group is changed by addons that call ULib's addUser/removeUser functions directly.
=Fixed: In the groups menu, when selecting a player and clicking "change", the list of groups was not in inherited-based order.
=Fixed: Users table was pointlessly being sent when a groups inheritance was changed.


7/22/2011 (rev 185)
-----------------
*Changed: Modifying UTeam settings is now disabled on non sandbox-derived gamemodes
*Changed: Serverside xgui.removeData much more more robust.
=Fixed: UTeam information would be lost when changing UTeam settings on non sandbox-derived gamemodes
=Fixed: DNumberWangs on color panels being extra long (due to garry update?)
=Fixed: ULib team data not sent after making changes to teams.
=Fixed: Users in the groups tab were not being updated when a group was removed and users in that group were moved to a new group.
=Fixed: Issue where a group's team wasn't getting unassigned when the unassigned team had no more groups associated with it.


5/18/2011 (rev 180)
-----------------
=Fixed: Non-harmful Lua error occuring during data transfer when running XGUI on a non-sandbox game mode. (Thanks Synergy Connections!)


5/18/2011 (rev 179)
-----------------
+Added several XGUI customization options--
   +You can change the order of the main tabs and settings tabs in XGUI.
   +You can now set the position of XGUI (and set an x/y offset for even more precise placement)
   +You can now change the default open/close animations from fade in/out to sliding from any side of the screen.


5/18/2011 (rev 178)
-----------------
+Added: XLIB: Additional control layout for xlib.makecolorpicker with alphabar.
*Changed: XGUI module now the "Clientside Settings Module", which now contains the XGUI settings.
=Fixed: Selected svsetting/clsetting modules no longer close when XGUI modules get reprocessed.


5/17/2011 (rev 177)
-----------------
*Changed: Groups on the groups module load regardless of whether XGUI was able to recieve data from server or not.
*Changed: Optimized sending of ULib users data-- Only sends the data when it needs to (no longer on UCLChanged), and when changed, only sends the updated info.
=Fixed: Rare error causing votemap settings to not load properly (which was previously fixable after a mapchange)
=Fixed: The button for scrolling through tab names of settings modules (if there were too many) was being obscured by the close button. (Thanks [eVo]Lead4u!)
-Removed: xgui_oldcheck.lua (No longer checks for a pre-svn version of XGUI installed.)


5/14/2011 (rev 176)
-----------------
=Changed: Added a data chunksize to users to help alleviate some major lag issues on servers with large users lists.
=Fixed: Error caused when a bans unban time was changed, causing the ban to expire.
=Fixed: Adding details to SBans would throw an error on server, wouldn't refresh on clients properly.
=Fixed: Expired bans were not removing themselves from the client lists.
=Fixed: Somehow managed to duplicate the entire bans module code within the same file. X|


5/14/2011 (RELEASE ULX v3.51)
-----------------
=Fixed: Votemaps and kick/ban reasons were not getting refreshed properly.
=Fixed: Ban menu was visible to all players (but not all players could see bans)


5/13/2011 (RELEASE ULX v3.50)
-----------------
*Changed: UTeam minimum run/walk speed to be 1 (0 has no effect)
*Changed: UTeam default jump value to 200-- Gmod reports 160 as being default, but when set to 160, it's too low. 200 Represents the default value.
=Fixed: Multi-choice Cvars (i.e. ulx_logEcho) randomly show "Invalid Convar Value" in XGUI after startup.
=Fixed: XGUI wouldn't send data to clients who were connected, banned, unbanned, and rejoined in the same server session.
=Fixed: Errors when running ulx adduser, ulx removeuser, and a few other ulx commands with no parameters specified.
=Fixed: Warning when trying to add/remove a bot's group from XGUI-- use ulx adduser/ulx removeuser via console instead.


5/12/2011
-----------------
=Fixed: Major bug that prevented xgui from loading on clients (Thanks Solonari!)
=Fixed: Minor bug that threw a lua error when _xgui command was run with no parameters


5/11/2011
-----------------
=Fixed: Groups module not showing admins added via garry's users.txt
=Fixed: Could not update adverts
=Fixed: XGUI and related commands are now listed on ulx help
=Fixed: Some XGUI accesses (like xgui_gmsettings) were not showing in the permissions menu.
=Fixed: The transparancy on the infobar was incorrect when loading color settings from clientside file.
=Fixed: Minor issues relating to some data transfers being sent too early.
*Changed: Minor code optimizations


4/23/2011
-----------------
=Fixed an issue where xgui would not be able to properly get its installed status.
=Fixed an occasional error with votemaps throwing an error on startup.


4/10/2011
-----------------
+Added: Safety check: XGUI shows a warning when you are about to remove access to xgui_managegroups, or ulx groupallow, ulx userdeny, etc. from yourself.
+Added: Serverside XGUI code is now modular!
+Added: "xgui xban" and "xgui fban" are now console commands.
+Added: XGUI command info to ulx help
*Changed: You can now fully edit bans and change the name, reason, and ban length all from one window!
*Changed: Added automatic word-wrapping to a few more places.
*Changed: Ban details window now updates when changes to the ban is made.
*Changed: Ban details window stays open when you click "edit bans"
*Changed: Merged sv_ulx.lua into server.lua
*Changed: Major backend overhaul adding modularity support for server-side code and improved client-side modules.
*Changed: Split xgui_server.lua into seperate files on a per-module basis.
*Changed: Backend code modularizing xgui "datatypes", changed backend data transfers, and data updating functionality.
=Fixed: Small bug where the "Apply Restrictions" button had the wrong label in certain circumstances.
=Fixed: Source Engine bans are now showing up again!
=Fixed: Bug when trying to edit UTeam parameters that were loaded from empty_teams.txt
=Fixed: XLIB: Label wouldn't properly accept the width parameter.


3/06/2011
-----------------
+Added: Finished the restrictions! You can now view and edit any group's per-command per-argument restrictions.
+Added: Any commands with restrictions show up as orange
+Added: XGUI console command now has autocomplete features (Thanks Megiddo!)
+Added: "xgui show <tabname>" or "!xgui <tabname>" now allows you to specify the name of a settings tab. i.e. ("xgui show sandbox")
+Added: New color picker that no longer uses convars! No longer requires inclusion of Garry's CtrlColor.lua file.
+Added: You can now set the colors of TSay Event Echoes in the Settings->Server->Command/Event Echoes module!
=Fixed: "!xgui" and "!menu" chat commands no longer require access to the "ulx help" tag in order to work.
=Fixed: "xgui show <tabname>" or "!xgui <tabname>" were not working.
=Fixed: Using "xgui show <tabname>" or "!xgui <tabname>" on a tab you didn't have access to would throw an error.
=Fixed: DCheckBoxes being disabled before they had been initally drawn wouldn't show up properly. (Removed lots of hackish workarounds to prevent this from earlier)
=Fixed: Ban details window wouldn't display reason in a tooltip.
=Fixed: Some string arguments were not receiving the correct restrictions in the cmds tab.
*Changed: xgui close concommand changed to xgui hide!
*Changed: You can now close sliding panels by deselecting the selected item in the list. (e.g. deselecting a command in the Cmds tab)
*Changed: You can now close the teams/access menus by clicking the Manage Teams/Permissions buttons a second time.


2/15/2011
-----------------
=Fixed: setcantarget field is now applied when creating a new group. (Thanks Aaron113!)
=Fixed: Bug where having a player selected in the groups tab would throw an error whenever players/groups/etc. were updated.
=Fixed: Errors when removing a group that was assigned to a team-- It now properly sets the team of any players affect by the group removal.
*Changed: Groups management window (add/remove/rename etc.) is now more user-friendly!


2/6/2011
-----------------
+Added: Cvars in the ULX General Settings module for ULX's auto name-changing kicker
+Added: Option to enable/disable colored TSay echoes
+Added: "ulx menu" console command now opens XGUI.
=Fixed: Changing the inheritance of a group wouldn't properly update the list of groups
=Fixed: Minor animation bugs
=Fixed: Sometimes ULX user data was being sent twice to admins
=Fixed: UTeam modifiers would stick after moving from one team to another via changing group.
=Fixed: Animation bug when switching the sliding panels quickly in the Settings->Server module.
=Fixed: Player list in cmds module and groups module now update players with name changes
=Fixed: Groups module player list now updates when players join/leave
=Fixed: Errors when trying to run XGUI on singleplayer or listen server


1/11/2011
-----------------
*Changed: Now included with the ULX SVN!
+Added: Extra file to check if users have XGUI installed with the SVN AND as a seperate addon, and then send them rather large warnings.


11/8/2011
-----------------
+Added: (Thanks to ULX) Support for adding/removing default kick/ban reasons!
+Added: (Thanks to ULX) You are now able to enable/disable the TSay event colors in the Settings->Server->Command/Event Echos module.
*Changed: Creating a new team now creates them as New_Team, New_Team1, New_Team2, etc.. in case of attempting to create a team that already exists.
*Changed: Updated layout of command restrictions.
=Fixed: Sandbox limits now (finally) work in the event that ulyssesmod.net is down and cannot retrieve the most recent list.
=Fixed: Issues with cvar controls within XGUI were not being updated when changed, nor were they having any effect when changed.
=Fixed: Ban menus and !xban now function properly if the player has access to ulx ban, but not ulx banid.
=Fixed: Empty tooltip showing on the ban details page if no reason was shown.


1/4/2011
-----------------
+Added: XLIB: Added a simple wordwrap ability to labels and tooltips. Now used on adverts and ban reasons/names on the ban details window. (Thanks Megiddo!)
+Added: XLIB: DCollapsableCategories can now have a checkbox on the header.
*Changed: Adverts menu updated!
-Now updated to work with new ULX changes!
-TSay adverts can now have color.
-No longer requires you to combine adverts to make a new group.
--Advert groups can be created by simply making an advert and specifying a nonexistant group.
-Reselects the last advert selected when making changes.
-All non-grouped adverts are sorted alphabetically, as are the group names.
-Adverts can now be reordered within a group, and can even change groups.
-Overall easier, faster, and less cumbersome to use, with better code!
*Changed: Some minor code cleanup!
*Changed: View Source Bans button is always enabled regardless of if there are sourcebans or not.
=Fixed: Temporary bans were not being removed from the banlist after expiring.
=Fixed: Buttons and controls in the Source Bans window now become disabled properly if they won't do anything.
=Fixed: The ban player window now only hides the close button when someone has been frozen.
=Fixed: XGUI no longer tries to use freezeban if you don't have access to ulx freeze.
=Fixed: All SourceBans are now recieved properly (used to only get 25 of them).
=Fixed: XLIB: DMultiChoices wouldn't be properly disabled when created.
=Fixed: Sandbox CVar limits wouldn't be properly retrieved/loaded in some rare scenarios.
=Fixed: Rare errors with the color controls not working, along with "Unknown Command: colour_r"
=Fixed: ULX motd values weren't showing up properly on server join.


12/25/2010
-----------------
+Added: Add Ban window now warns when invalid ID/name was entered.
=Fixed: XGUI breaking when ULX SVN revision number didn't get retrieved.
=Fixed: Name of ban always showed <Unknown> on the ban details window.
=Fixed: Banning with an offline SteamID now properly sets the name of the banned player if set.
Thanks Aaron113!


11/20/2010
-----------------
*Changed: Infobar now shows the ULX SVN revision number!
=Fixed: XGUI errors when number cvars like ulx_logEcho were set to a string value.
=Fixed: The animation clip panel for the command restrictions was starting out as visible, so mouse input was ignored on half of the UTeam settings panel.


10/19/2010
-----------------
+Added: Initial implementation of command string restrictions! (Animations, layout.. mostly just placeholders for now)
=Fixed: Bug where XGUI would show an error if the user attempted to open it before it was fully initialized.
=Fixed: Bug where cmds module would break if a ULX command existed with a numArg that didn't have a default set.
=Fixed: Bug where XGUI would throw errors and wouldn't show accesses for commands that were Uncategorized.
=Fixed: Minor bug dealing with a miscapitalized cvar
=Fixed: Access data (group, restriction data) was sometimes returning incorrect values. This did not cause any bugs.
*Changed: Slight changes in code dealing with ULX replicated convars.


10/09/2010
-----------------
=Fixed: Textboxes for gimps and adverts couldn't be modified.
=Fixed: Derma popup menus now close when XGUI is closed.


10/03/2010
-----------------
|General|
+Added: Implemeneted new animation system
--Animations can now be TRUELY disabled
--Much more reliable
--Centralizes much of the animation code, less code for the individual modules.

*Changed: Individual modules are no longer "popped up" on top of the XGUI base-
--Removed lots of hackish code because of it.
--Textboxes still work!

=Fixed: Mouse control is lost as soon as the user closes XGUI, not after the animation fadeout finishes.
=Fixed: XGUI now accurately shows ULX/ULib version numbers.

|Commands Module|
=Fixed: Boolean arguments using a textbox didn't return the correct value.
=Fixed: Animation glitches caused when multiple animation chains are triggered while an animation is running.
=Fixed: Other random animation glitches
=Fixed: Losing access to a selected command is now handled properly.
*Changed: The playerlist is now accurately refreshed when players join/leave.
*Changed: The no longer resets itself completely when players join/leave.
*Changed: Selecting a new command will remember your player selection and will open the argslist if needed.

<Older changelogs archived.>
« Last Edit: September 21, 2011, 07:45:31 PM by Stickly Man! »
"The stupidity of an individual on the Internet is generally matched only the by size of their ego, unless the individual in question is unaware of both." - Me

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6097
  • Karma: 374
  • Project Lead
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #1 on: July 05, 2009, 04:03:30 PM »
Very sweet! Plus karma for you. :)
Experiencing God's grace one day at a time.

Offline lavacano201014

  • Jr. Member
  • **
  • Posts: 83
  • Karma: 9
  • Archbishop of Cristina Scabbia worship
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #2 on: July 06, 2009, 11:36:48 AM »
Is this clientside? Or serverside?

Looks awesome, though...
Circle reasoning works because circle reasoning works because...

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1229
  • Karma: 156
  • open(my $file, "<README") or die;
    • View Profile
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #3 on: July 06, 2009, 11:49:03 AM »
Its actually going to be both-- The server will send it to clients, so that both admins and non-admins alike can use it  :D

(Will disable buttons and stuff if players don't have access to certain features--)

EDIT: I'm also hijacking this post and putting the original first post here.

Hey everyone! I've been working on a much-needed GUI for ULX, which I decided to call XGUI ... for reasons unknown. My main goal is to include every possible feature of ULX, while keeping it as simple and easy to use as possible. Its also going to be modular, allowing people who make ULX addons (like UTeam, UPS, etc.) can have a spot to easily change settings, or even have their own 'Tab' page if necessary. Even though this really is my first serious lua project, I'm also going to be working with the other ULX devs to make this the official GUI for ULX  :)  (and by that, I mean I have to make sure the code is clean, it looks nice and is well commented, etc..)

I will be posting screenshots, information, and post the code so that you guys can try it, give feedback on things you would like added/changed/etc.

So here's what I've got so far:

The menu will be useable by admins and non-admins. It basically consists of a tab sheet with the following tabs:

Players Tab:


For non-admins, this screen will show a list of connected players, and allow for sending private messages (and possibly a few other things, not 100% sure yet). Admins will also be able to perform user actions here such as kick, slap, slay, ban, votebans, etc. and maybe even allow/deny certain tools, commands, etc. per player here. I'm still working on a good way to layout all this information, hence why this is mostly unfinished. But hey, its a work in progress, just stay tuned! :)


Admins Tab:


For non-admins, this screen will show all admins on the server and their online/offline status, as well as allow them to send private messages to all admins. Admins will be able to send messages to all via tsay, csay, etc, send console commands to server, and manage players' groups. You can add offline admins using SteamID, or when players are online, you are given a simple dialog box to change the group. If a certain person is an admin already and they are offline, you can use the simple dialog to change their group without having to lookup their steamID! This page should be completed, however there are probably a few bugs and things that need to be reworked for better performance and management of groups.


Maps Tab:


For non admins, you will be able to view which maps are available on the server (and see the thumbnails ;D), and start a votemap on a map. Admins can select a map (or multiple maps) to initiate a vote on, and they can just force a map change on the selected map. I'm debating whether to put settings here for map votes, as there is some blank space...


And that's all I have so far! Other tabs I'm planning on including are for server settings, limits, a page to manage bans, a page to manage groups and their permissions, and a page for viewing and filtering through the ULX logs. This is still a major WIP, so none of this could be the same by the time I'm done!

Anyways, for you guys adventurous to try it out, you can grab the files from here:
http://github.com/SticklyMan/xgui/tree/master

UPDATE: 09/07/09
I update progress status as the forum goes, so this first post is a bit out of date, but here's some important changes to note:

This is now in an addon format-- simply make a folder called 'xgui' in your addons folder, and put the info.txt and lua folders there.
You can now toggle open/close XGUI by using 'xgui' or 'xgui toggle' in console.
You can also use 'xgui open' and 'xgui close' to open and close it.

Anyways, good luck, please give any feedback/ideas/suggestions/questions you have! The community input will help make this the most easy to use GUI out there!

EDIT: (Yes, the code is probably a mess, my first priority is getting it up and running and functioning, then I'll worry about cleanup haha)

EDIT 2: New update! Check out the latest screenshots here!
« Last Edit: May 03, 2010, 02:40:48 PM by Stickly Man! »
"The stupidity of an individual on the Internet is generally matched only the by size of their ego, unless the individual in question is unaware of both." - Me

Offline lavacano201014

  • Jr. Member
  • **
  • Posts: 83
  • Karma: 9
  • Archbishop of Cristina Scabbia worship
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #4 on: July 06, 2009, 11:58:25 AM »
But if I stick it on my client only, and the server has no knowledge of it, will it still work?
Circle reasoning works because circle reasoning works because...

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1229
  • Karma: 156
  • open(my $file, "<README") or die;
    • View Profile
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #5 on: July 06, 2009, 02:10:27 PM »
Yes, actually, but it won't work properly-- Part of the GUI requires information from the server, so the GUI won't get all the info it needs. Anything else that doesn't rely on that should work fine. For example, as of right now the only problems you would have are the admins page not listing any admins, and you wouldn't be able to get a list of gamemodes.. Everything else beyond that point should work fine (for now)  ;)
« Last Edit: July 06, 2009, 02:44:41 PM by Stickly Man! »
"The stupidity of an individual on the Internet is generally matched only the by size of their ego, unless the individual in question is unaware of both." - Me

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6097
  • Karma: 374
  • Project Lead
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #6 on: July 06, 2009, 04:19:45 PM »
You've got a lot of room to work with on the right side of the maps menu, why not stick the gamemodes in list form over there? Also regarding gamemodes, it's a little complicated since only admins can get the gamemode to change... would you be able to disable the list if they're not an admin?
Experiencing God's grace one day at a time.

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1229
  • Karma: 156
  • open(my $file, "<README") or die;
    • View Profile
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #7 on: July 07, 2009, 12:01:32 AM »
You've got a lot of room to work with on the right side of the maps menu, why not stick the gamemodes in list form over there? Also regarding gamemodes, it's a little complicated since only admins can get the gamemode to change... would you be able to disable the list if they're not an admin?

Hmm.. that's true, I'm still not sure how all the stuff is going to act based on permissions-- But I will keep that in mind when I get to it  ;) As for the right part of the window that's so empty-- well, I didn't have time to post my update before I had to run to work:

New update! Added votemap settings to the maps menu!



I'm going to be adding tooltips to a lot of things.. and maybe an option to enable/disable them in case of annoyance.. but at least it will help the newbies figure what does what  :D
I also optimized quite a lot of code actually, I found that I was reusing a LOT of code when adding derma controls.. so I decided to write a few simple functions to create derma controls that made things look quite a lot nicer! (And its faster for me, too)-- Hence the added xgui_helpers.lua file. I also renamed the server's xgui.lua file to xgui_server.lua, and the other to xgui_client.lua to avoid confusion of the two.

As always, if you're feeling adventurous, you can grab the code here and try it out!

http://github.com/SticklyMan/xgui/tree/master
"The stupidity of an individual on the Internet is generally matched only the by size of their ego, unless the individual in question is unaware of both." - Me

Offline gamerlv

  • Newbie
  • *
  • Posts: 6
  • Karma: 1
  • VP of GAmers4Life
    • View Profile
    • The awsome gamers4life clan site
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #8 on: July 07, 2009, 02:59:24 AM »
This is looking great. Keep on going, +karma.

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1229
  • Karma: 156
  • open(my $file, "<README") or die;
    • View Profile
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #9 on: July 19, 2009, 12:07:10 AM »
-- and much much later, another update! This is taking a whole lot longer than I anticipated.. Anyways, whats new!:

Added a 'Settings' Tab, where admins will be able to access main server settings, gamemode settings, ULX specific settings, GUI settings, etc.



Anyways, I'm still trying to figure out what to put on the right side there, I was planning on a global allow/deny STool thing, but I'm not sure If i want to put that in a later tab. Most of the functionality is in there, but since I've only been running this on a listen server, I know there are probably some things I'll have to fix to make it work properly. Also made a gimp sayings and adverts manager, so that you can easily add/remove gimp sayings and adverts-- I also did a lot of work on the background stuff, like my simple little library for adding Derma functions. But, the code looks somewhat cleaner!

Let me know what you think of it! What kind of settings should I add to the server settings? What are some things you like/dislike about what you see?

As always, you can grab the files here: http://github.com/SticklyMan/xgui/tree/master

"The stupidity of an individual on the Internet is generally matched only the by size of their ego, unless the individual in question is unaware of both." - Me

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6097
  • Karma: 374
  • Project Lead
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #10 on: July 19, 2009, 08:35:11 AM »
Looks nicey-nice to me. With the sliders, do you have them expand? For example, if I set sv_gravity to as high as it will go and apply/save it, will the slider move the maximum value I can use? This is done in the current ulx menu for limits and stuff.

How do you plan on doing saves?
Experiencing God's grace one day at a time.

Offline jay209015

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 927
  • Karma: 59
    • View Profile
    • Dev-Solutions
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #11 on: July 19, 2009, 03:53:47 PM »
Should throw in a tab for tools, and loadouts and use URestrict server side scripts :D :D.

An error only becomes a mistake when you refuse to correct it. --JFK

"And thus the downfall of the great ULX dynasty was wrought not by another dynasty, but the slow and steady deterioration of the leaders themselves, followed by the deprecation of the great knowledge they possessed." -Gmod, Chapter 28, verse 34 -- Stickly

Offline ACProdigy

  • Newbie
  • *
  • Posts: 21
  • Karma: 10
  • Beriddled with nonsense
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #12 on: July 20, 2009, 08:28:38 AM »
This is looking very impressive. I'm very interested to see how this all turns out :D

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1229
  • Karma: 156
  • open(my $file, "<README") or die;
    • View Profile
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #13 on: July 20, 2009, 10:13:39 PM »
Looks nicey-nice to me. With the sliders, do you have them expand? For example, if I set sv_gravity to as high as it will go and apply/save it, will the slider move the maximum value I can use? This is done in the current ulx menu for limits and stuff.

How do you plan on doing saves?

As of right now, no clue lol-- I actually haven't used the current ULX menus much  :-X, I'll check out how it works and try to implement it  ;)
As for the saving of values.. I was planning on writing to a file that will load all the settings when the GUI is loaded, however this would pretty much override the server.ini file-- So I'm still not sure how that's all going to work out..

Should throw in a tab for tools, and loadouts and use URestrict server side scripts :D :D.

 :D Im planning on having a addons tab which will show a combobox list of addons on the left, and display the contents of the selected 'Addon' on the right..  basically when I get it working, all you will have to do is add a few lines of code with your script to integrate it with the menu.. (or have it add a lua file into the gui_modules folder.. still need to figure how its going to be put together). I'm planning on working on that next, but I'm going to be without a computer for the rest of the week, so, it may be a while.

This is looking very impressive. I'm very interested to see how this all turns out :D

Thanks! :D I also am anxious to see how this turns out.. ULX has been needing a GUI for a while now, and it would be definitely awesome if it were released side-by-side with ULX.. however I'm fearing the day when Megiddo has to look through my code and see if its clean enough :o haha
"The stupidity of an individual on the Internet is generally matched only the by size of their ego, unless the individual in question is unaware of both." - Me

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6097
  • Karma: 374
  • Project Lead
    • View Profile
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #14 on: July 21, 2009, 05:12:00 AM »
I've already given the code a quick perusal a couple times and it seems pretty good. :)
Experiencing God's grace one day at a time.