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.http://www.youtube.com/v/OQJ9QPqDFjk&hl=en&fs=1The 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! 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!
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.
=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
=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
=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.
+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.
+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.
=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!
+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
*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.
+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.
+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.
+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.
*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.
+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.
=Fixed: Textboxes for gimps and adverts couldn't be modified.
=Fixed: Derma popup menus now close when XGUI is closed.
+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.
=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.>