|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
Can anyone tell me whats wrong with this script? Its supose to kick and ban anyone who idles on channel and is not level 11 or 10 in remote.ini!!!!
on me:*:JOIN:#channel: .timer 0 5 CheckIdlers
alias CheckIdlers { if ($ulevel != 10) || ($ulevel != 11) { if ($nick(%chan,%a,r).idle > 20) { ban -ku300 %chan $nick(%chan,%a,r) 2 ยง5 Please do not idle. Return in a while if you need help or want to help } dec %a } }
|
|
|
|
Naz
|
Naz
|
You didn't set a value for %chan or %a such as... var %a = $nick(%chan,0)
|
|
|
|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
sorry dont know what you mean where should i put it?
|
|
|
|
Naz
|
Naz
|
I also just noticed that you didn't add a kick event either.
alias CheckIdlers {
[color:blue]var %chan = #YourChannel, %a = $nick(%chan,0) [/color]
while %a {
if ($ulevel != 10) || ($ulevel != 11) {
if ($nick(%chan,%a,r).idle > 20) {
ban -ku300 %chan $nick(%chan,%a,r) 2 [color:blue]| kick %chan $nick(%chan,%a,r)[/color] Please do not idle. Return in a while if you need help or want to help
}
}
dec %a
}
}
|
|
|
|
CtrlAltDel
|
CtrlAltDel
|
ban -ku300 %chan $nick(%chan,%a,r) 2 the kick is there
|
|
|
|
Naz
|
Naz
|
Ah yes, completely over looked it :tongue:
|
|
|
|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
well thanks  But the script doesnt work  on me:*:JOIN:#channel: .timer 0 5 CheckIdlers alias CheckIdlers { var %chan = #channel %a = $nick(%chan,0) while %a { if ($ulevel != 10) || ($ulevel != 11) { if ($nick(%chan,%a,r).idle > 20) { ban -ku300 %chan $nick(%chan,%a,r) 2 Please do not idle. Return in a while if you need help or want to help } } dec %a } }
|
|
|
|
Naz
|
Naz
|
When you declare more than one variable on the same line they need to be seperated by a comma.
var %chan = #channel, %a = $nick(%chan,0)
|
|
|
|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
now the script almost works! But it still kicks level 10 & 11 users if thay dont have voice or op! The script is supose to kick and ban anyone who idle who is not level 11 or 10 user!
|
|
|
|
Joined: Mar 2004
Posts: 108
Vogon poet
|
Vogon poet
Joined: Mar 2004
Posts: 108 |
if ($ulevel < 10) || ($ulevel > 11) {
try that
-cheers
|
|
|
|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
hmm Sorry Yoda but it still doesnt work
|
|
|
|
Naz
|
Naz
|
I'm assuming  that you've already added users with "auser" or "guser" to your userlist. The example below is based on users added to the userlist with type 2 (*!*@host). It was not tested.
alias CheckIdlers {
var %chan = #YourChannel, %a = $nick(%chan,0)
while %a {
var %nick = $address($nick(%chan,%a,r),[color:blue]2[/color])
if (!$ulist(%nick,10,1) || !$ulist(%nick,11,1)) {
if ($nick(%chan,%a,r).idle > 20) {
ban -ku300 %chan $nick(%chan,%a,r) 2 Please do not idle. Return in a while if you need help or want to help
}
}
dec %a
}
}
|
|
|
|
Joined: Mar 2004
Posts: 108
Vogon poet
|
Vogon poet
Joined: Mar 2004
Posts: 108 |
hehe, I should read the code a lil closer before posting. what Naz posted should work for ya. sorry.
|
|
|
|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
Still doesnt work as its supose to im sorry  Lets just start from the beginning and forget the script we have been working on...... I want the script to kick and ban ALL who isnt level 10 or 11 on the channel even if thay are opped.... BUT.. If a level 10 or 11 join its not supose to kick and ban them no mater what..... Do you understand?
|
|
|
|
Naz
|
Naz
|
Ok, it had appeard you only wanted to k/b regular users.
$nick(%chan,%a,r) is only going to act on "regular" users, meaning not voiced or opped. If you want it to include everybody just make that identifier $nick(%chan,%a)
Also, again make sure that the users are added to the userlist and that you are checking for the same type of hostmask here --> $address($nick(%chan,%a),2)
The alias looks fine. If it doesn't work after changing that identifier, place an echo -a statement after every line that should return something (one line at a time to avoid confusion). That will make the alias echo back to you the info it is getting which will help you see where it it breaking.
For instance, under this line.... var %nick = $address($nick(%chan,%a),2) put this line.... echo -a %nick That would echo back the the var %nick for every nick it checks. If it didn't echo anything then you would know the var wasn't being set correctly. (Just an example) It's easier to fix when you know where it is breaking.
|
|
|
|
Joined: Feb 2004
Posts: 714
Hoopy frood
|
Hoopy frood
Joined: Feb 2004
Posts: 714 |
alias CheckIdlers {
var %chan = [color:red]$1[/color], %a = $nick(%chan,0)
while %a {
if ($ulevel != 10) || ($ulevel != 11) {
if ($nick(%chan,%a).idle > 20) {
ban -ku300 %chan $nick(%chan,%a) 2 Please do not idle. Return in a while if you need help or want to help
}
}
dec %a
}
} This should work. Note that the usage of the alias is /checkidlers #channel, so $1 is the identifier for the channel name in that alias. The var %chan has to be set to $1 then. Hope this works! Zyzzy.
|
|
|
|
Joined: May 2004
Posts: 132
Vogon poet
|
OP
Vogon poet
Joined: May 2004
Posts: 132 |
hmm if i use this script nothing hapents: on me:*:JOIN:#needhelp: .timer 0 5 CheckIdlers alias CheckIdlers { var %chan = $1, %a = $nick(%chan,0) while %a { if ($ulevel != 10) || ($ulevel != 11) { if ($nick(%chan,%a).idle > 20) { ban -ku300 %chan $nick(%chan,%a) 2 Please do not idle. Return in a while if you need help or want to help } } dec %a } } And if i use this one, it kicks and bans everyone also level 10 & 11 users: on me:*:JOIN:#needhelp: .timer 0 5 CheckIdlers alias CheckIdlers { var %chan = #needhelp, %a = $nick(%chan,0) while %a { if ($ulevel != 10) || ($ulevel != 11) { if ($nick(%chan,%a).idle > 20) { ban -ku300 %chan $nick(%chan,%a) 2 Please do not idle. Return in a while if you need help or want to help } } dec %a } }
|
|
|
|
CtrlAltDel
|
CtrlAltDel
|
try this: alias CheckIdlers {
var %chan = #needhelp, %a = $nick(%chan,0)
while %a {
if ($ulevel[color:red] ==[/color] 10) || ($ulevel [color:red]==[/color] 11) [color:red]{ return } [/color]
if ($nick(%chan,%a,r).idle > 20) {
ban -ku300 %chan $nick(%chan,%a) 2 Please do not idle. Return in a while if you need help or want to help
}
dec %a
}
}
|
|
|
|
Joined: Mar 2004
Posts: 108
Vogon poet
|
Vogon poet
Joined: Mar 2004
Posts: 108 |
this dont look right: if ($ulevel != 10) || ($ulevel != 11) { if ($ulevel != 10) or ($ulevel != 11) { will ban some one level 10 or 11 since it will check both. try: if ($ulevel < 10) || ($ulevel > 11) {
on the second code set.
Ps. fire us we stink! if it still dont work after you try the above posts, ill test before my next post.. hehe.
-cheers
Last edited by xxxYODAxxx; 07/06/04 07:25 PM.
|
|
|
|
Joined: Feb 2004
Posts: 714
Hoopy frood
|
Hoopy frood
Joined: Feb 2004
Posts: 714 |
on me:*:JOIN:#needhelp: .timer 0 5 CheckIdlers $chan
Without the channel, the script will run with the channel parameters, which is crucial. If you specify the channel (in this case, $chan) then the $1 will be filled.
Hmm.. i think that doing that alias every 5 seconds might slow you down a bit (of course i don't know you computer's RAM so im saying compared to mine :P)
Hope this helps, Zyzzy
|
|
|
|
|