mIRC Homepage
Posted By: StriderGU New Rank Support - 14/02/03 10:00 AM
Some networks use founder and admin ranks that show up differently than ops in the nick list. But it would be nice to have more support of these (and one more rank too).

Founder '!' +g - Highest Rank, only fo the channel owner.
Admin '*' +a - Higher rank than Op.
HVop '^' +f (or something) - Help Voice, new rank between voice and halfop.

With support for all the operations (is) and conditions (on).
Posted By: starbucks_mafia Re: New Rank Support - 14/02/03 03:12 PM
What exactly do you mean by 'support'? As long as those modes and prefixes are correctly specified in the PREFIX= and CHANMODES= tokens of raw 005 then they should be supported in the standard sense. If you mean things like on HVOP events etc. then I don't really think that's necessary until they've proven to be popular and worthwhile modes. Quite frankly HVOp sounds pretty damn pointless to me.
Posted By: StriderGU Re: New Rank Support - 14/02/03 07:50 PM
How to test if a user gets admin (*) and see if a nick have admin? How is $prefix used?
Posted By: Watchdog Re: New Rank Support - 14/02/03 09:22 PM
If you mean things like on HVOP events etc. then I don't really think that's necessary until they've proven to be popular and worthwhile modes. Quite frankly HVOp sounds pretty damn pointless to me.

No more or less pointless than % or -, surely. This isn't the point though, the issue is for whether mIRC supports it or not.
Posted By: MonoSex Re: New Rank Support - 14/02/03 10:05 PM
I think you can use $nick(#channel,nick).pnick for that - would return nick with it's prefix on channel.

And i don't think it's possible for mIRC to support all prefixes/channel modes in all IRCds...
Posted By: starbucks_mafia Re: New Rank Support - 15/02/03 12:08 AM
UOp is also pointless and is also not 'supported' by mIRC in the way of events. Halfop is somewhere near useful and is present in many IRCds.

StriderGU - Well for admin there is an actual (undocumented) on ADMIN event. For the others you can use rawmode to detect when one of those modes is set/unset and as MonoSex said, $nick(#channel,nickname).pnick to detect whether that mode is already present.
Posted By: codemastr Re: New Rank Support - 15/02/03 12:16 AM
/me suggests a new "all inclusive" event

ON <level>:LEVEL:<char>:<#[,#]>:<commands>
ON <level>:DELEVEL:<char>:<#[,#]>:<commands>

These would work for any mode listed in the Numeric 005 PREFIX= (since mIRC already fully supports PREFIX=). Would work something like this:

ON *:LEVEL:a:*:{ .echo $nick was just made an admin on $chan }

ON *:DELEVEL:a:*:{ . echo $nick just lost his admin status on $chan }

Would also support the current levels (meaning in time it can replace ON OP, ON VOICE, etc) Also it would support wildcards for the <char> and have a $char that would tell you which was changed so you can have a single event to handle them all.

Crazy? Yes, but it could be useful.
Posted By: Watchdog Re: New Rank Support - 15/02/03 04:43 AM
Pointless to you but perhaps not other people. I like codemastrs suggestion. There is nothing wrong with universal acceptance of mode prefixes.
Posted By: StriderGU Re: New Rank Support - 15/02/03 05:54 AM
Nice idea codemaster
Yes I think its unnsessesary to have 6+ different on that handle what rank a user gets.

And all thanks for the help.
Posted By: landonsandor Re: New Rank Support - 15/02/03 07:27 AM
Not a bad idea at all smile
Posted By: StriderGU Re: New Rank Support - 15/02/03 08:00 AM
So now before this is added, to test if a user is an admin (in a event) you have to write like this:

if ($nick($chan, $nick).pnick == * $+ $nick) { }

Or is there an easier way?


You say there is a "on *:ADMIN:* { }"? I cant get it to work.
How to use the rawmode format to test if someone got admin?

Edit: pnick does not work if you have many channel ranks at the same time frown, Like both admin and op != admin status.
Posted By: The_Game Re: New Rank Support - 15/02/03 10:11 AM
Ok if i understand correctly you want something like access lists for a channel? For example you want something so when the channel owner (founder) joins or does something then you want only that user to be able to do so? I will give an example cause im not really sure this is what you meant..

To give someone a certain access such as Channel Founder, Or Channel Op, or whatnot you would have to add them to a certain access level by doing

/guser Founder <nickname>

or

/guser Channel Op <nickname>

(guser looks up the nicks userhost automatically so you wont have to put it in)

Then to have something for example if the Founder joins this will op him

on Founder:JOIN:#channel:/mode $chan +o $nick

or

on Channel Op:JOIN:#channel:/mode $chan +o $nick

*NOTE: If you add this to your script this will only work unless you are in the room and opped! or if this script is embedded into a botscript or what not

This is only a cheap cheesy way of doing it and i will say again that im not sure if this is what you are looking for.so im hoping this helps in some way. If I am wrong about what you really wanted then I will apologize in advanced.
Posted By: StriderGU Re: New Rank Support - 15/02/03 11:11 AM
No that was not what I wanted.

The network support +a (* admin status).

I wanted to know how to see that a +a is made on a user. So I can make a script thats responds to that.
Posted By: The_Game Re: New Rank Support - 15/02/03 12:42 PM
my bad
Posted By: qwerty Re: New Rank Support - 15/02/03 03:45 PM
Type /help on RAWMODE, this is one of the reasons this event exists. I'm not sure if you will be able to use $mode(N) for +a modes (although I *think* that $mode(N) supports mode letters, so maybe $mode(1).a would work), but even if this isn't possible, you can still parse $1- yourself.
Posted By: codemastr Re: New Rank Support - 15/02/03 06:46 PM
Also thinking about it, maybe there could be a $islevel() as well? $islevel(<nick>,<chan>,<char>|,<prefix>)
meaning: $islevel(codemastr,#test,o)
$islevel(codemastr,#test,@) both would have the same effect.
Posted By: qwerty Re: New Rank Support - 15/02/03 07:59 PM
No need for that: $nick(<channel>,<nick>,<mode letter/symbol>) returns a number (position in nicklist) if the nick has that mode, otherwise $null. And yes, it doesn't only support "aohvr", it supports whatever modes are in $prefix (and $nickmode)
Examples: $nick(#blah,foo,*), $nick(#blah,foo,z)

What I don't know is what happens when the mode letter happens to be "a" or "r", which conflicts with mirc's reserved letters for "all" and "regulars".
Posted By: C45P3R Re: New Rank Support - 07/02/05 09:43 PM
What on earth is HVop? I have never come accross it.
© mIRC Discussion Forums