ULX

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

0 Members and 1 Guest are viewing this topic.

Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #120 on: February 17, 2010, 07:48:01 AM »
Ty for informing, i'm not going to update my SVN then :D

It's not a problem, you just have to update both XGUI and ULX/ULIB SVN.
Experiencing God's grace one day at a time.

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1270
  • Karma: 164
  • What even IS software anymore?
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #121 on: February 17, 2010, 01:15:46 PM »
Ty for informing, i'm not going to update my SVN then :D

In fact, yes, as Megiddo said, you have to update XGUI and ULX/ULib SVN at the same time-- If you update one without the other it will break things  :o
Join our Team Ulysses community discord! https://discord.gg/gR4Uye6

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #122 on: February 17, 2010, 03:40:40 PM »
Ty for informing, i'm not going to update my SVN then :D
Why not? Stickly man just said Megiddo and he have already fixed it. If you update to latest SVN ULib/ulx, then just update your XGUI too.
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline tssge

  • Newbie
  • *
  • Posts: 16
  • Karma: 0
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #123 on: February 17, 2010, 09:06:46 PM »
Yes, yes, yes, i realized it now later. Thanks.

Offline Frrz

  • Jr. Member
  • **
  • Posts: 65
  • Karma: 0
    • Youtube ftw
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #124 on: March 19, 2010, 07:04:44 PM »
Kinda bumping but meh.... Is there a chat command to bring up the menu?





Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1270
  • Karma: 164
  • What even IS software anymore?
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #125 on: March 19, 2010, 07:08:32 PM »
I'm soon going to write up a more detailed first post, but no, there is no chat command. You can open it by binding any keyboard key to 'xgui'
Join our Team Ulysses community discord! https://discord.gg/gR4Uye6

Offline Frrz

  • Jr. Member
  • **
  • Posts: 65
  • Karma: 0
    • Youtube ftw
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #126 on: March 19, 2010, 07:09:46 PM »
Do you think you will have a chat command when further down in development (I'm thinking about the clients.. they a little stupid.. most don't know how to use console.. )





Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1270
  • Karma: 164
  • What even IS software anymore?
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #127 on: March 19, 2010, 07:12:00 PM »
I guess it wouldn't hurt to have one, should take me only a couple minutes to implement. I'll have it ready for my next update (which will hopefully be in a few hours)
Join our Team Ulysses community discord! https://discord.gg/gR4Uye6

Offline Stickly Man!

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 1270
  • Karma: 164
  • What even IS software anymore?
    • XGUI
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #128 on: March 20, 2010, 06:31:22 AM »
MAJOR XGUI UPDATE! Because the first post was getting outdated, here's a brand new 'first post'! If you're familiar with all of this information, skip to the very bottom for the best part-- the changelog!

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 will eventually replace the current menus.

The Modules
As this is a work in progress, everything isn't completely finished. Here are the individual modules and the information about them (as well as a general idea of what needs to be finished):

Players Module:

This module is designed to provide admins/nonadmins with access to commands they can use. Also features an accessible textbox to allow players to quickly send private messages to each other.
TODO: Add better organization/manipulation of commands; Add a way to perform "quick commands" by double-clicking a command.

Groups Module:

This module is designed to allow admins to easily add/remove groups, set/remove users to various groups, and set user/group command restrictions and access tags.
TODO: This module needs a major re-organization. Layout is a bit confusing at first glance.

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. Also users can access this to see which maps on the server are voteable, and to start a votemap to any available maps.
TODO: Add spot for admins to edit the votemaps list.

Settings Module:

PICTURE NOTE: That "add" button on the gimps window changes from add to remove based on what you selected last. It was supposed to say "Remove" when I took the screenshot.
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.
Please note that any changes made in this module don't save yet! I'll be implementing this soon.
TODO: Saving!! Redo settings layout-- Needs to be modular for gamemode settings, as well as settings for any third-party plugins (UTeam, for example). Also need to work on adding more XGUI settings, like quick-command options specified earlier.

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.
TODO: Nothing! (Except any future features/bugfixes that may come about)

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 has a progress bar to view when and how much data is coming from the server! (Usually only shows up for a split second, but, useful for large ban files and possible log features later)

Download, Instructions, and Usage
XGUI will eventually be included with ULX by default-- but for now, it comes as a separate addon.
To download, please visit My Github Page and click the "download source" button, download as ZIP.

NOTE: As of 05/02/2010, due to file location changes, when updating XGUI you should completely remove the existing XGUI folder before replacing it with the new one.
(Or you can just delete the xgui/lua/ulx/modules/cl/gui_modules/ folder)

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" OR
-Bind a key to "xgui close"

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 players, groups, settings, bans, test module, etc.)

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

CHANGELOG:

Code: [Select]
05/03/2010
-----------------
+Added: New (but very incomplete) settings module. (I added this back in to fix a bug when starting XGUI.)
Code: [Select]
05/02/2010
-----------------
*Changed: Organized code-- Tableilzed most of the functions and controls
*Changed: Moved module lua files to lua/ulx/xgui/, other xgui files in same location.
*Changed: XGUI is now much smoother-- It has better fade in/out effects!
=Fixed: Some data being sent twice when one's permissions were changed.
=Fixed: "attempt to index global 'xgui_chunkbox' (a nil value)" error has *hopefully* been permanently fixed.
=Fixed: Misc. bugfixes, mostly caused by new changes.
Code: [Select]
04/21/2010
-----------------
+Added: xgui showtab "tabname" - Allow a console command to bring up a specific module in XGUI
+Added: !xgui "tabname" - Open a specific module in xgui via chat command
+Added: "hook" system for modules to run functions when certain 'events' happen. (Not using gamemode hooks whatsoever, used for refreshing data)
=Fixed: Modules no longer appear "popped off" the screen for a fraction of a second on occasion.
=Fixed: Bug where users wouldn't have access to the chat command
=Fixed: Groups tab now updates properly when changes are made
*Changed: XGUI no longer refreshes every module when it is opened (Modules can now "hook" into "onOpen")
*Changed: Cleaned up XGUI initialization code (derma and functions, mostly in xgui_client.lua)
*Changed: Offline mode is now detected better
*Changed: New method of sending data to clients.
-Now shows a progress bar!
-You can use XGUI while data is being sent/updated
-Supports sending lots of data (VERY large banlists)
-Modules can "hook" their own functions when certain data is updated
*Bans menu update!
+Added: You can filter out permabans from the main ULX banlist
+Added: Allow setting (DMultiChoice) of hours/minutes/days on bantime slider
+Added: You can now update a reason of a ban, as well as the name.
+Added: Window to view any bans retrieved from the source engine-- banned_users.cfg
-Sourcebans can be removed
-You can "convert" these to ULX bans and add name/reason/time details.
+Added: Freezeban option! When you select a player to ban via the add ban button, it can automatically freeze the player to prevent them from damaging your server while you specify a time/reason!
*Changed: Bans now automatically remove themselves when their time expires.
-And many bugfixes/minor changes!
Code: [Select]
03/20/2010
-----------------
+Added: Bans Module!
     -Easily add and remove bans.
     -When adding a ban by SteamID, you can set the players name.
     -Edit an existing banned players name.
     -View tons of ban details, such as the date and length banned, time unbanned, time remaining, etc.
     -Double-Click a ban to view ban details, right-click to show more options!
+Added: Permissions Phase 1: XGUI automatically adds/removes tabs you now have or no longer have access to, and gets/removes any server data you have or don't have access to. The changes are applied IMMEDIATELY.
+Added: Gimps and Adverts now refresh immediately when ANY player makes adds or removes them.
+Added: Close button on each tab (adds automatically) that closes xgui
+Added: A chat command! You can now open xgui by saying "!xgui" in chat!
+Added: "Offline" mode-- XGUI will now run even when the server doesn't have it installed!
*Changed: Updated XGUI-specific access tags:
     -xgui_gmsettings - Gives access to gamemode-specific CVARS and settings,
     -xgui_svsettings - Gives access to server-specific CVARS and settings
     -xgui_ulxsettings - Gives access to view / change ULX settings (Note that ULX has it's own accesses per cvar)
     -xgui_managegroups - Gives access to view the groups tab (But doesn't necessarily give permissions to modify groups/users)
     -xgui_managebans - Gives access to the Bans tab (But not to add/remove bans)
*Changed: Changing ulx welcomemessage no longer requires access to ulx rcon.
*Changed: Replaced RCON box with private message box
*Changed: Restyled Gimps window-- Now uses only one window, has one button for adding/removing gimps (based on whether or not a gimp or the textbox was last selected)
*Changed: Restyled adverts window-- MUCH more informative and user-friendly, can't set advert groups name by design (if you REALLY want to do this just edit adverts.txt)
=Fixed: Added Permissions to individual tabs-- Now they don't show up if you aren't supposed to see them!
=Fixed: Bugs where XGUI wouldn't open due to lack of data from server (caused by not having permission to receive data)
=Fixed: [b]Most[/b] cases where any problems or bugs with XGUI would cause a window to be left open resulting in a stuck window/mouse cursor have now been fixed
=Fixed: Gimps and adverts now add/remove correctly with the latest SVN.
-Removed: Hovering map preview on the maps tab.

And many, many, bugfixes!
« Last Edit: May 03, 2010, 02:39:42 PM by Stickly Man! »
Join our Team Ulysses community discord! https://discord.gg/gR4Uye6

Offline Frrz

  • Jr. Member
  • **
  • Posts: 65
  • Karma: 0
    • Youtube ftw
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #129 on: March 20, 2010, 08:52:07 AM »
Looks so pretty-full

Just wondering what other major things need work on it?





Offline someone920

  • Newbie
  • *
  • Posts: 47
  • Karma: 3
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #130 on: March 20, 2010, 09:49:43 AM »
i think one of the last things it needs is to save the edits you make, but otherwise, it's great! my server staff love it!

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #131 on: March 20, 2010, 09:53:03 AM »
Two ideas for now

Re: Your ToDo "Add a way to perform "quick commands" by double-clicking a command."
1) Make it detect Windows swapped mice buttons (or allow a toggle)? (No, I'm not left handed, but I know a gmod player who is)
(My description below is for a right handed mouse)
When you add it, use both left and right mouse capability. The group and user access control screen is a perfect example.
If I select "operator", is there a graphical section of the info screen that tells me what commands they don't have allowed or restricted that I might want to give them?
I think the ability to double left (to allow) or double right (to restrict) the commands would be great.
Also, once they have been allowed or restricted, if I double left click it in that particular section, it would remove it. Or if you want to get even more fancy, if a player has been allowed something, and you double right click in the allow area, it moves it to the restricted (and vice versa)

Re: Your Todo - Nothing of the ban area.
2) Allow editing of a ban reason after the fact
I notice you have an "update name" right-click menu. Add in a reason. Many times I and other admins of a server I used to help with quickly banned someone without typing a reason (slow typers!!) but wanted to go back and edit after damage control.

Also, does the slider text adjust itself to years/months/weeks/days as I go higher?


Geez....all that was before my first coffee of the day.
Gonna go get some now and see if I can take over the world.
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming

Offline Frrz

  • Jr. Member
  • **
  • Posts: 65
  • Karma: 0
    • Youtube ftw
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #132 on: March 20, 2010, 10:00:03 AM »
Two ideas for now

Re: Your ToDo "Add a way to perform "quick commands" by double-clicking a command."
1) Make it detect Windows swapped mice buttons (or allow a toggle)? (No, I'm not left handed, but I know a gmod player who is)
(My description below is for a right handed mouse)
When you add it, use both left and right mouse capability. The group and user access control screen is a perfect example.
If I select "operator", is there a graphical section of the info screen that tells me what commands they don't have allowed or restricted that I might want to give them?
I think the ability to double left (to allow) or double right (to restrict) the commands would be great.
Also, once they have been allowed or restricted, if I double left click it in that particular section, it would remove it. Or if you want to get even more fancy, if a player has been allowed something, and you double right click in the allow area, it moves it to the restricted (and vice versa)



Well instead of having all the left / right clicking... why not have something like this... (jsut an example)

Code: [Select]
Allowed Commands
ulx votekick
ulx voteban
ulx slay

Unallowed Commands (xD is unallowed a word?)
ulx sslay
ulx maul
ulx ban

Then you simply double click something in the allowed, lets say "ulx slay" and it moved down to the unallowed commands. Same with the other way around.. Double click "ulx sslay" and it moves to the allowed

no need to use the two mouse buttons for different things, (for this at least)
You could use only one mouse button or
have both do the same thing ( just a thought)

I hope this made sense..
« Last Edit: March 20, 2010, 10:02:18 AM by Frrz »





Offline Megiddo

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 6214
  • Karma: 394
  • Project Lead
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #133 on: March 20, 2010, 10:16:51 AM »
Looks pretty awesome!

One GUI to rule them all, One GUI to bind them, One GUI go bring them all and in the darkness bind them.

I take it you figured out how to deal with the adverts?
Experiencing God's grace one day at a time.

Offline JamminR

  • Ulysses Team Member
  • Hero Member
  • *****
  • Posts: 8096
  • Karma: 390
  • Sertafide Ulysses Jenius
    • Team Ulysses [ULib/ULX, other fine releases]
Re: XGUI - Fully featured modular GUI for ULX! (WIP)
« Reply #134 on: March 20, 2010, 11:39:00 AM »
<stuff>

Because with ULX, there are three states a command can be in.
Allowed
Restricted
No access

If I double click on a command while it's in allowed state, how will it know where to go...what if I wanted it to move to Restricted instead of No Access?
I'd have to perform that many more menu adjustments anyway... just allow me to double right click if I wanted to move an Allowed state command to go to Restricted

Typically, Restricted shouldn't need to be used much even in current ULX. It would normally only be used if you have a group inheriting another and don't want a command being inherited to be used by a group or individual
"Though a program be but three lines long, someday it will have to be maintained." -- The Tao of Programming