-
Notifications
You must be signed in to change notification settings - Fork 23
Command syntax
One of Shine's design goals is to be easy to use. Thus I've created an easy to use targeting system that lets you fine tune exactly who you want to target. This command syntax applies to both console commands and chat commands in the same way.
Player names are always completed, you do not need to type the full name. However, Shine checks game IDs first, then NS2/Steam IDs and finally checks the name. If you enter a number value, it will only be checked against first the game ID list, then NS2IDs. Number values are not checked against names.
Not all commands support multiple player targets. See the plugin pages or use sh_help <command>
for whether a command takes a single player or multiple players as arguments.
To use spaces in an argument in the middle of the argument list, wrap it in quotes like so:
sh_kick "Name with spaces" Reason here.
If you need to include quotes in the value, escape them with a \
before the quote:
sh_kick "Name \"with quotes\"" Reason here.
If you have a strange name or part (or all) of it is shared with another player, it can often be annoying to try and apply a command to yourself. Shine allows you to target yourself with ^
.
For example,
sh_forcerandom ^
would put you onto a random team.
The default targeting will look through NS2/Steam ID, game ID and name to target (in that order). If you want to be sure of who you are targeting, you can use $<ID>
to target a specific Steam/NS2 ID.
For example,
sh_forcerandom $123456
would put the player with NS2 ID 123456 onto a random team.
As an alternative to targeting by Steam ID, you can also use #<ID>
to target a specific game ID.
For example,
sh_forcerandom #12
would put the player with game ID 12 onto a random team.
For commands that require you to specify a team, just use 'alien' or 'marine' or any variation of them (as long as it's a single word). Shine will sort out the team number stuff for you so you don't have to know that Aliens are team 2 and Marines are team 1.
For example,
sh_setteam bob alien
would move bob over to the alien team.
Valid team matches are:
-
rr
orready
- Ready room (team 0). -
marine
orblue
- Marine team (team 1). -
alien
ororange
orgold
- Alien team (team 2). -
spectator
orspectate
- Spectator team (team 3).
For some commands, you can pass multiple players to the command and Shine will apply the action to all of them at once. For instance, if you type comma separated names or Steam IDs, Shine will attempt to find each player you give and for any it finds, will apply the command.
For example,
sh_rr bob,joe,123456,^
would move bob, joe, the player with Steam ID 123456 and yourself to the ready room.
It doesn't stop at multiple player names though. Shine lets you target an entire team at once with @alien
or @marine
. You can also select all ready room players with @readyroom
or @rr
for short, and all spectators with @spectate
.
For example,
sh_forcerandom @readyroom
will force everyone in the ready room to a random team.
You can select everyone in a certain user group with %groupname
. To select all those who aren't in a set user group, use %guest
.
For example,
sh_forcerandom %guest
will force every user without a set user group onto a random team.
You can even select multiple teams. As with selecting multiple individuals, just separate the values with commas.
For example,
sh_forcerandom @readyroom,@spectate
will force everyone in the ready room and everyone in spectate onto a random team.
Finally, if you really want to, you can select the entire server population at once. This is done with *.
For example,
sh_forcerandom *
will force everyone on the server into a random team.
If you wish to select all players except a given player/group, or you wish to trim a target group down, you can add '!' before your target directive. This will remove the given target from the target list. For example,
sh_forcerandom !^
will force everyone except you onto a random team. You could also do something like:
sh_rr @alien,!^
which would force the entire alien team except yourself into the ready room.
For commands that take a time value, you can either specify a raw time value as a number, or you can use an easier expression form.
For example, take the sh_ban
command. It has the arguments <player> <duration> <reason>
. For the duration
value, you can either give it a number in minutes, or you can use a short form expression like:
-
1w
-> Evaluates to 1 week. -
2h5m
-> Evaluates to 2 hours and 5 minutes. -
3d4h
-> Evaluates to 3 days and 4 hours.
Supported short form time values are:
-
w
- weeks -
d
- days -
h
- hours -
m
- minutes -
s
- seconds
You can also use full sentence time values such as:
"1 week"
"2 hours and 5 minutes"
"3 days and 4 hours"
If you're feeling really maths-y, then you can even put negative values in your time expression to subtract from the other values. For example:
-
"1 week -1 day"
-> 6 days. -
2h-30m
- 1 hour and 30 minutes.
This should make expressing time much easier.