07-13-2019, 07:12 PM
ULX Console Command Execution and ULX Targeting
A lot of staff members simple inherit admin mod technology when they become staff, but they only realize the potential of them when they do their own research and self-experimentation with gmods command system, ULX's features and combining the two. Here, the process shall be explained so that you do not have to figure out these things yourself.
ULX Command Execution
When you type a mute command or fill out a ban in xgui, you are really just filling a predetermined format for a console command that has been made simpler. For example, when you type !xban and fill out the forum for a permaban with the reason racism, it is just a console command that looks like this:
ulx banid <steamid> 0 "Racism"
Well, by choosing not to restrict yourself to the limitations of typed commands and xgui, you can achieve much more in much less time presuming the amount of time it takes for you to type out information.
Let us start with binding and execution.
Console Command Execution
The universal console command format is always one to two words for the base command, and the rest are arguments. If you continue typing after you have completed all arguments, it will ignore it meaning if someone has a two part name and you put a space it will only mute for the first part. ULX commands always have a ULX prefix (Such as ulx mute <argument>).
Now binding is simple enough, its bind <key> <command>, but because the bind command has two arguments, one for the key and only one for the command, if your command has any arguments, it will be ignored. The solution? Put the command as a string, because the multi worded command is seen as one argument when put into a string.
bind kill works because the kill command has no arguments
bind say blah blah blah does not work because the arguments of the say command are ignored because they are not seen as arguments to the bind command
bind "say blah blah blah" works because the string is seen as one argument to the bind command.
Example: to bind No Ghosting you would have to put this into console bind "say No Ghosting"
ULX Targeting
ULX has some cool targeting properties that make it easier to use. For example, instead of unmuting everyone individually, you can use an asterisk. I'll briefly go over them:
* - Targets all
^ - Targets self
$<steamid> - Targets steamid
#<group> - Targets group
%<group> - Targets group and all groups it inherits from (Explained next)
Important Memes Make sure to make the day.
Matt is Matt
Monke Resign
Staffing in 2021
Fish Fun
Travis Army