#Shax@Quakenet.org

Home­FAQ­Search­Memberlist­Usergroups­Register­Log in
Post new topic   Reply to topicShare | 
 

 List Script

View previous topic View next topic Go down 
AuthorMessage
Shax
Admin


Posts: 19
Join date: 2008-12-14

PostSubject: List Script   Sun Dec 14, 2008 7:08 pm

on *:start:{
.hmake acces 100
.hmake nick 100
.hload -i acces acces
}

on *:exit:{ hsave -i acces acces }
on *:join:#:{
if ($nick == $me) { who $chan n%nca }
else {
if (!$hget(nick,$nick)) {
if ($address($nick,4) == *!*@*.users.quakenet.org) {
hadd -s nick $nick $remove($address($nick,2),*!*@,.users.quakenet.org)
enter $chan $nick
}
else { set %chknick $chan $nick | who $nick n%na }
}
}
}
on *:part:#:{ if ($hget(nick,$nick)) && ($comchan($nick,0) == 1) { hdel -s nick $nick } }
on *:kick:#:{ if ($hget(nick,$knick)) && ($comchan($knick,0) == 1) { hdel -s nick $knick } }
on *:nick:{ if ($hget(nick,$nick)) { hadd -s nick $newnick $hget(nick,$nick) | hdel -s nick $nick } }
on *:quit:{ if ($hget(nick,$nick)) { hdel -s nick $nick } }
on *:text:*:#:{
if ($acces($nick,$chan)) {
if ($1 == !whois) && ($2) { msg $chan Nick: $2 - Auth: $hget(nick,$2) - Access: $iif($acces($2,$chan),$iif($ifmatch == admin,Global $ifmatch,$ifmatch),Unknow) }
}
if ($acces($nick,$chan) == Admin) || ($acces($nick,$chan) == master) {
if ($1 == !addmaster) { add master $chan $2 }
elseif ($1 == !adduser) { add user $chan $2 }
elseif ($1 == !addbot) { add bot $chan $2 }
elseif ($1 == !delmaster) { del master $chan $2 }
elseif ($1 == !deluser) { del user $chan $2 }
elseif ($1 == !delbot) { del bot $chan $2 }
elseif ($1 == !list) && ($2 == master) { .notice $nick $list(master,$chan) }
elseif ($1 == !list) && ($2 == user) { .notice $nick $list(user,$chan) }
elseif ($1 == !list) && ($2 == bot) { .notice $nick $list(bot,$chan) }
}
if ($acces($nick,$chan) == Admin) {
if ($1 == !addadmin) { add admin $chan $2 }
elseif ($1 == !deladmin) { del admin $chan $2 }
elseif ($1 == !addban) && ($3 == global) { add globban $chan $2 }
elseif ($1 == !delban) && ($3 == global) { del globban $chan $2 }
elseif ($1 == !list) && ($2 == global) { .notice $nick $list(global) }
}
}
raw 354:*:{
haltdef
if ($left($2,1) == $chr(35)) { if ($hget(acces,$4)) { addnick $3-4 } }
elseif ($gettok(%chknick,2,32) == $2) { if ($hget(acces,$3)) { addnick $2-3 | enter %chknick } | unset %chknick }
elseif ($gettok(%addnick,3,32) == $2) { add %addnick $3 | unset %addnick }
elseif ($gettok(%delnick,3,32) == $2) { del %delnick $3 | unset %delnick }
}
alias acces {
var %auth = $hget(nick,$1)
if ($hget(acces,%auth) == Admin) { return Admin }
elseif ($hget(acces,%auth) == globban) { return Globban }
elseif ($gettok($hget(acces,%auth),1,32) == $2) { return $gettok($hget(acces,%auth),2,32) }
elseif ($istok($gettok($hget(acces,%auth),1,32),$2,38)) { return $gettok($gettok($hget(acces,%auth),2,32),$findtok($gettok($hget(acces,%auth),1,32),$2,38),38) }
}
alias add {
if ($4) { var %auth = $4 }
if ($address($3,4) == *!*@*.users.quakenet.org) { var %auth = $remove($address($3,2),*!*@,.users.quakenet.org) }
elseif (!%auth) { set -u2 %addnick $1-3 | who $3 n%na | halt }
var %flags = $1,%chan = $2,%nick = $3
if ($hget(acces,%auth) == Admin) { msg %chan Error %nick is already admin | halt }
if (%flags == Admin) { hadd -s acces %auth Admin | addnick %nick %auth | msg %chan Done. | halt }
if (%flags == globban) { hadd -s acces %auth globban | addnick %nick %auth | msg %chan Done. | halt }
if ($hget(acces,%auth)) { var %dchan = $gettok($hget(acces,%auth),1,32) | var %dflags = $gettok($hget(acces,%auth),2,32) }
if ($istok(%dchan,$2,38)) { msg %chan Error %nick is already $gettok(%dflags,$findtok(%dchan,$2,38),38) }
else { hadd -s acces %auth $iif(%dchan,$+(%dchan,&,%chan) $+(%dflags,&,$1),%chan $1) | addnick %nick %auth | msg %chan Done. }
}
alias del {
if ($4) { var %auth = $4 }
if ($address($3,4) == *!*@*.users.quakenet.org) { var %auth = $remove($address($3,2),*!*@,.users.quakenet.org) }
elseif (!%auth) { set -u2 %delnick $1-3 | who $3 n%na | halt }
var %flags = $1,%chan = $2,%nick = $3
if (%flags == globban) && ($hget(acces,%auth) == globban) { hdel -s acces %auth | hdel nick %nick | msg %chan Done. | halt }
if (%flags == Admin) && ($hget(acces,%auth) == Admin) && (%auth != rchi) { hdel -s acces %auth | hdel nick %nick | msg %chan Done. | halt }
elseif (%flags == admin) && ($hget(acces,%auth) != Admin)) { msg %chan %nick isn't admin. | halt }
if ($hget(acces,%auth)) { var %dchan = $gettok($hget(acces,%auth),1,32) | var %dflags = $gettok($hget(acces,%auth),2,32) }
if (!$istok(%dchan,$2,38)) { msg %chan Erreur %nick do not have any access. | halt }
if ($gettok(%dflags,$findtok(%dchan,$2,38),38) != %flags) { msg %chan Error: %nick isn't %flags but $gettok(%dflags,$findtok(%dchan,$2,38),38) ! }
else { hdel -s acces %auth $remtok(%dchan,%chan,1,38) $remtok(%dflags,$gettok(%dflags,$findtok(%dchan,$2,38),38),1,38) | msg %chan Done. }
}
alias addnick { if (!hget(nick,$1)) { hadd -sm nick $1 $2 } }
alias list {
if ($1 == master) {
var %z = $hget(acces,0).item
while (%z) {
tokenize 32 $1 $2 $hget(acces,%z).data
if ($2 == $3) && ($4 == master) {
var %e = %e  $+ $hget(acces,%z).item $+  ( $+ $hfind(nick,$hget(acces,%z).item,1).data $+ ) $+ $chr(44)
}
dec %z
}
}
elseif ($1 == user) {
var %z = $hget(acces,0).item
while (%z) {
tokenize 32 $1 $2 $hget(acces,%z).data
if ($2 == $3) && ($4 == user) {
var %e = %e  $+ $hget(acces,%z).item $+  ( $+ $hfind(nick,$hget(acces,%z).item,1).data $+ ) $+ $chr(44)
}
dec %z
}
}
elseif ($1 == bot) {
var %z = $hget(acces,0).item
while (%z) {
tokenize 32 $1 $2 $hget(acces,%z).data
if ($2 == $3) && ($4 == bot) {
var %e = %e  $+ $hget(acces,%z).item $+  ( $+ $hfind(nick,$hget(acces,%z).item,1).data $+ ) $+ $chr(44)
}
dec %z
}
}
elseif ($1 == global) {
var %z = $hget(acces,0).item
while (%z) {
var %e = %e  $+ $hget(acces,%z).data  -  $+ $hget(acces,%z).item $+  ( $+ $hfind(nick,$hget(acces,%z).item,1).data $+ ) $+ $chr(44)
dec %z
}
}
return $iif(%e,%e,Empty)
}
Back to top Go down
View user profile http://shax.darkbb.com
 

List Script

View previous topic View next topic Back to top 
Page 1 of 1

Permissions of this forum:You cannot reply to topics in this forum
#Shax@Quakenet.org :: MSL-
Post new topic   Reply to topic