Ulysses

Ulysses Stuff => General Chat & Help and Support => Topic started by: zaph on February 10, 2013, 11:59:29 AM

Title: [Help wanted] Restricting command arguments
Post by: zaph on February 10, 2013, 11:59:29 AM
Hi all! First post on the forum  :)
Im running ULX on my TTT server, and I love it.
However, all admins keep slaying all the survivors at the end of the round by using the "!slay *" command "for the lulz".
Not a big issue, but i think it is silly, and want to remove the abillity to slay all, admin and superadmin from the group "admin".

Ive tried typing in !%*, and !* in the "restrict command arguments" section of the slay command, but nothing happens.

Can someone give me a quick tutorial on how this works, and what I need to type in to acomplish what I want?

A picture of what I've tried so far.

(https://dl.dropbox.com/u/105879387/ulx%20restrict%20command.jpg)

Any help is very welcome!
Title: Re: [Help wanted] Restricting command arguments
Post by: JamminR on February 10, 2013, 12:20:35 PM
No, you didn't use % in what you typed in XGUI.
You used $. :)
Try %, which is what our can_target looks for when specifying groups.
Additionally, I'm pretty sure 'ignore can_target' DISABLES that for the group(s) you have selected.
So, you definitely wouldn't want that for the groups you're trying to restrict.
Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 10, 2013, 01:02:11 PM
I did try to use !%*, but I dont believe it worked.
Im a little confused about the "ignore can_target" function.
I had the feeling that it meant to disable the default given target rights for all commands, or am I wrong?

But anyway, should I then write i ex;
%user,%regular
In the xgui? Meaning they can only target the group "user" and "regular"?
Title: Re: [Help wanted] Restricting command arguments
Post by: JamminR on February 10, 2013, 07:22:17 PM
See if this helps you -
http://forums.ulyssesmod.net/index.php/topic,4314.msg16844.html
Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 11, 2013, 12:14:14 AM
Thank you for that link. Been looking for something like that!

So, I should rather use console then?
So if I want admins to only be able to slay regulars, guests and themselfs I could do something like this?

Code: [Select]
ulx groupallow admin "ulx slay" "!%moderator,^"

In that case, would this also remove the ability to slay "all" (!slay *) ?
Title: Re: [Help wanted] Restricting command arguments
Post by: JamminR on February 11, 2013, 02:01:45 PM
You can still use our menu, that article just covers how the groupings work.
If you don't specify !*, they'll still be able to slay all.
Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 11, 2013, 02:10:00 PM
Well, this is what ive used.

rcon ulx groupallow admin "ulx slay" "!%moderator,!*,^"

and i can still slay all as an admin (!slay *)
Title: Re: [Help wanted] Restricting command arguments
Post by: JamminR on February 11, 2013, 02:23:41 PM
Are you an admin, or a superadmin? Most server owners are superadmin.
And, as I questioned before but am not sure, do you still have that 'ignore can_target' set on admins?
From what logical perspective I have, that would mean 'allow access to this team to override the target settings'

Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 11, 2013, 02:33:51 PM
I am a superadmin, but i set myself to admin whenever i test this. And no, i unchecked the "ignore can_target" box.

Im trying to make it so that admins can only slay people in the usergroups "user" and "regular", and themselves

(https://dl.dropbox.com/u/105879387/slay.jpg)
Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 14, 2013, 10:11:12 AM
Anyone? :)
Title: Re: [Help wanted] Restricting command arguments
Post by: nathan736 on February 14, 2013, 10:57:49 AM
i need your ranks  if they are inherited then you just cant target the people above them for not targeting people in there group idk about that
Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 14, 2013, 11:17:04 AM
These are the ranks:
superadmin, inh from admin
admin, inh from moderator
moderator, inh from regular
regular, inh from user
user, inh from -----
Title: Re: [Help wanted] Restricting command arguments
Post by: Stickly Man! on February 14, 2013, 12:28:26 PM
Your inheritance tree looks like this:
user -> regular -> moderator -> admin -> superadmin

With how ULX works, any member of "admin" is also considered to be a member of "moderator", "regular" and "user". Therefore, the preferred method to select ONLY user and regular groups would be to use the string "!%moderator" (This means, can NOT select any user in group moderator-- which means they can't select admins or superadmins either)

And if I'm remembering correctly, you should be able to let them target themselves by adding ^, so your final string should look like this:
"!%moderator,^"  (This means can't target any users that have access to moderator permissions, and they can target themselves)

As for the ignore can_target checkbox, that ignores any restrictions applied to the GROUP as a whole. You can view what that restriction is by clicking on the dropdown box at the top-left corner of the groups tab, and selecting "Manage Groups..." (By default, groups are only allowed to target their own group and any groups below them)
Title: Re: [Help wanted] Restricting command arguments
Post by: zaph on February 14, 2013, 01:05:21 PM
Thank you for taking time to make a good and detailed awnser  :)

I only have one question left then. If you take a look at the last picture i posted you can se that I was able to slay all (!slay *) even though I had put !* in the restriction arguments.
Is there something im doing wrong, or can you only have groups and self In the restrictions?
Title: Re: [Help wanted] Restricting command arguments
Post by: Stickly Man! on February 15, 2013, 07:03:09 AM
In your case, an admin who says '!slay *' will only slay themselves, anyone in "regular", and anyone in "user". Since they aren't technically slaying everyone, it doesn't get blocked by the !* restriction. (At least, that's all off the top of my head, Megiddo would know for sure :P)

If you wanted the slay command to only target one person at a time, you'd have to make a very slight change to some ULX code.