Ranking Script Version 1.2

By Defero on Sep 13, 2013

This is a ranking script withouth using the /guser etc. commands
Its just a script with variables etc.
(If you may have noticed I love Variables lol)
Just load it into your remotes and have fun!
Report any bugs etc. in the comments or on the IRC: irc.quakenet.org Port: 6667 Channel: #Defero

On *:LOAD:{
  If $var(%globalowner,0) { unset %globalowner }
  Inputboxowner
  Echo -a Loaded the Channel Ranking script successfully
  Echo -a Made by Defero
}

Alias inputboxowner while ($?="Set the Global Owner (Warning only 1!)" == $null) / | set %globalowner $v1

menu nicklist {
  .Levels
  ..Add
  ...Global Owner: /set %globalowner %globalowner $1
  ...Channel Owner: /set %owner. $+ $chan %owner. $+ $chan $1
  ...Channel Master: /set %master. $+ $chan %master. $+ $chan $1
  ...Channel OP: /set %op. $+ $chan %op. $+ $chan $1
  .Remove
  ..Global Owner: /set %globalowner $remtok(%globalowner,$1,32)
  ..Channel Owner: /set %owner. $+ $chan $remtok(%owner. $+ $chan,$1,32)
  ..Channel Master: /set %master. $+ $chan $remtok(%master. $+ $chan,$1,32)
  ..Channel OP: /set %op. $+ $chan $remtok(%op. $+ $chan,$1,32)
}

on *:TEXT:!chanowner*:#:{
  if $istok(%globalowner,$nick,32) && ($2 == add) {
    set %owner. $+ $chan %owner. $+ $chan $3
    msg $3 You have been added as Channel Owner for the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%globalowner,$nick,32) && ($2 == del) {
    set %owner. $+ $chan $remtok(%owner. $+ $chan,$3,32)
    msg $3 You have been removed as Channel Owner for the channel $chan 
    msg $nick Removed successfully
  }
}

on *:TEXT:!chanmaster*:#:{
  if $istok(%owner. $+ $chan,$nick,32) && ($2 == add) {
    set %master. $+ $chan %master. $+ $chan $3
    msg $3 You have been added as Channel Master for the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%owner. $+ $chan,$nick,32) && ($2 == del) {
    set %master. $+ $chan $remtok(%owner. $+ $chan,$3,32)
    msg $3 You have been removed as Channel Master for the channel $chan 
  }
  elseif $istok(%owner. $+ $chan,$nick,32) && ($2 == list) {
    msg $nick The Channel owners are: %owner. $+ $chan
    msg $nick The Channel masters are: %master. $+ $chan
    msg $nick The Channel OP's are: %op. $+ $chan
  }
  elseif $istok(%globalowner,$nick,32) && ($2 == add) {
    set %master. $+ $chan %master. $+ $chan $3
    msg $3 You have been added as Channel Master for the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%globalowner,$nick,32) && ($2 == del) {
    set %master. $+ $chan $remtok(%owner. $+ $chan,$3,32)
    msg $3 You have been added as Channel Master for the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%globalowner,$nick,32) && ($2 == list) 
  msg $nick The Channel owners are: %owner. $+ $chan
  msg $nick The Channel masters are: %master. $+ $chan
  msg $nick The Channel OP's are: %op. $+ $chan
}

on *:TEXT:!chanop*:#:{
  if $istok(%owner. $+ $chan,$nick,32) && ($2 == add) {
    set %op. $+ $chan %op. $+ $chan $3
    msg $3 You have been added as Channel OP or the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%master. $+ $chan,$nick,32) && ($2 == add) {
    set %op. $+ $chan %op $+ $chan $3
    msg $3 You have been added as Channel OP for the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%owner. $+ $chan,$nick,32) && ($2 == del) {
    set %op. $+ $chan $remtok(%op. $+ $chan,$3,32)
    msg $3 You have been removed as Channel OP for the channel $chan 
    msg $nick Removed successfully
  }
  elseif $istok(%master. $+ $chan,$nick,32) && ($2 == del) {
    set %op. $+ $chan $remtok(%op. $+ $chan,$3,32)
    msg $3 You have been removed as Channel OP for the channel $chan 
    msg $nick Removed successfully
  }
  elseif $istok(%owner. $+ $chan,$nick,32) && ($2 == list) {
    msg $nick The Channel owners are: %owner. $+ $chan
    msg $nick The Channel masters are: %master. $+ $chan
    msg $nick The Channel OP's are: %op. $+ $chan
  }
  elseif $istok(%master. $+ $chan,$nick,32) && ($2 == list) {
    msg $nick The Channel owners are: %owner. $+ $chan
    msg $nick The Channel masters are: %master. $+ $chan
    msg $nick The Channel OP's are: %op. $+ $chan
  }
  elseif $istok(%globalowner,$nick,32) && ($2 == add) {
    set %op. $+ $chan %op. $+ $chan $3
    msg $3 You have been added as Channel OP for the channel $chan 
    msg $nick Added successfully
  }
  elseif $istok(%globalowner,$nick,32) && ($2 == del) {
    set %op. $+ $chan $remtok(%op. $+ $chan,$3,32)
    msg $3 You have been removed as Channel OP for the channel $chan 
    msg $nick Removed successfully  
  }
}

on *:TEXT:!globalowner*:#:{
  if ($nick isin %globalowner) && ($2 == add) {
    set %globalowner %globalowner $3
    msg $3 You have been added as Global Owner
    msg $nick Added successfully
  }
  elseif ($nick isin %globalowner) && ($2 == del) {
    set %globalowner %remtok(%globalowner,$3,32)
    msg $3 You have been removed as Global Owner
    msg $nick Removed successfully
  }
  elseif ($nick isin %globalowner) && ($2 == list) {
    msg $nick The Global owners are: %globalowner
  }
}

on *:TEXT:!help*:#:{
  if $istok(%globalowner,$nick,32) {
    msg $nick Your commands so far are: !globalowner (add/del/list) ; !chanowner (add/del/list) ; !chanmaster (add/del/list) ; !chanop (add/del/list) 
  }
  elseif $istok(%owner. $+ $chan,$nick,32) {
    msg $nick Your commands so far are: !chanmaster (add/del/list) ; !chanop (add/del/list)
  }
  elseif $istok(%master. $+ $chan,$nick,32) {
    msg $nick Your commands so far are: !chanop (add/del/list)
  }
}

alias globalowner {
  set %globalowner %globalowner $?="Add a Global Owner to the list"
}

on *:JOIN:#:{
  if $istok(%globalowner,$nick,32) {
    msg $chan A global owner ( $+ $nick $+ ) has joined the channel!
    mode $chan +ov $nick $nick
  }
  elseif $istok(%owner. $+ $chan,$nick,32) {
    mode $chan +ov $nick $nick
  }
  elseif $istok(%master. $+ $chan,$nick,32) {
    mode $chan +ov $nick $nick
  }
  elseif $istok(%op. $+ $chan,$nick,32) {
    mode $chan +ov $nick $nick
  }
}

on *:UNLOAD:{
  echo -a You just unloaded the Rank script by Defero
  echo -a All Script Variables will be removed!
  unset %globalowner
  unset %owner.*
  unset %master.*
  unset %op.*
  echo -a All Script Variables were removed!
}

Here is a script with some commands and Protection you can use for the Ranking Script
Have fun!

on *:TEXT:*:#:{
  if ($1 == !op) {
    if $istok(%globalowner,$nick,32) {
      mode $chan +o $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan +o $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan +o $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan +o $2
    }
  }
  if ($1 == !deop) {
    if $istok(%globalowner,$nick,32) {
      mode $chan -o $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan -o $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan -o $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan -o $2
    }
  }
  if ($1 == !voice) {
    if $istok(%globalowner,$nick,32) {
      mode $chan +v $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan +v $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan +v $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan +v $2
    }
  }
  if ($1 == !devoice) {
    if $istok(%globalowner,$nick,32) {
      mode $chan -v $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan -v $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan -v $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan -v $2
    }
  }
  if ($1 == !kick) {
    if $istok(%globalowner,$nick,32) {
      kick $chan $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      kick $chan $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      kick $chan $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      kick $chan $2
    }
  }
  if ($1 == !ban) {
    if $istok(%globalowner,$nick,32) {
      mode $chan +b $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan +b $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan +b $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan +b $2
    }
  }
  if ($1 == !unban) {
    if $istok(%globalowner,$nick,32) {
      mode $chan -b $2
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan -b $2
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan -b $2
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan -b $2
    }
  }
  if ($1 == !unbanall) {
    if $istok(%globalowner,$nick,32) {
      mode $chan -b *!*@*
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan -b *!*@*
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan -b *!*@*
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan -b *!*@*
    }
  }
  if ($1 == !kb) {
    if $istok(%globalowner,$nick,32) {
      mode $chan +b $2 | kick $chan $2 $3-
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      mode $chan +b $2 | kick $chan $2 $3-
    }
    if $istok(%master. $+ $chan,$nick,32) {
      mode $chan +b $2 | kick $chan $2 $3-
    }
    if $istok(%op. $+ $chan,$nick,32) {
      mode $chan +b $2 | kick $chan $2 $3-
    }
  }
}

on *:TEXT:!protection*:#:{
  if ($2 == On) {
    if $istok(%globalowner,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
    if $istok(%master. $+ $chan,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
    if $istok(%op. $+ $chan,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
  }
  if ($2 == Off) {
    if $istok(%globalowner,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan Off
      notice $nick Protection for the channel $chan has been toggled on!
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
    if $istok(%master. $+ $chan,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
    if $istok(%op. $+ $chan,$nick,32) {
      unset %protection. $+ $chan
      set %protection. $+ $chan On
      notice $nick Protection for the channel $chan has been toggled on!
    }
  }
  if ($1 == Status) {
    if $istok(%globalowner,$nick,32) {
      notice $nick The Protection for the channel $chan is currently %protection. $+ $chan
    }
    if $istok(%owner. $+ $chan,$nick,32) {
      notice $nick The Protection for the channel $chan is currently %protection. $+ $chan
    }
    if $istok(%master. $+ $chan,$nick,32) {
      notice $nick The Protection for the channel $chan is currently %protection. $+ $chan
    }
    if $istok(%op. $+ $chan,$nick,32) {
      notice $nick The Protection for the channel $chan is currently %protection. $+ $chan
    }
  }
}

on *:BAN:#:{
  if (%protection. $+ $chan == On) {
    if $istok(%globalowner,$bnick,32) {
      mode $chan -b-o+b $bnick $nick $nick
      kick $chan $nick You're not allowed to ban Channel OP's !
    }
    if $istok(%owner. $+ $chan,$bnick,32) {
      mode $chan -b-o+b $bnick $nick $nick
      kick $chan $nick You're not allowed to ban Channel OP's !
    }    
    if $istok(%master. $+ $chan,$bnick,32) {
      mode $chan -b-o+b $bnick $nick $nick
      kick $chan $nick You're not allowed to ban Channel OP's !
    }
    if $istok(%op. $+ $chan,$bnick,32) {
      mode $chan -b-o+b $bnick $nick $nick
      kick $chan $nick You're not allowed to ban Channel OP's !
    }
  }
}

on *:KICK:#:{
  if (%protection. $+ $chan == On) {
    if $istok(%globalowner,$knick,32) {
      mode $chan -o+b $nick $nick
      kick $chan $nick You're not allowed to kick Channel OP's
    }
    if $istok(%owner. $+ $chan,$knick,32) {
      mode $chan -o+b $nick $nick
      kick $chan $nick You're not allowed to kick Channel OP's
    }
    if $istok(%master. $+ $chan,$knick,32) {
      mode $chan -o+b $nick $nick
      kick $chan $nick You're not allowed to kick Channel OP's
    }
    if $istok(%op. $+ $chan,$knick,32) {
      mode $chan -o+b $nick $nick
      kick $chan $nick You're not allowed to kick Channel OP's
    }
  }
}

on *:MODE:#:{
  if (%protection. $+ $chan == On) {
    if $istok(%globalowner,$nick,32) {
      if $istok(%owner. $+ $chan,$nick,32) {
        if $istok(%master. $+ $chan,$nick,32) {
          if $istok(%op. $+ $chan,$nick,32) {
            halt
          }
        }
      }
    }
    else {
      mode $chan -o+b $nick $nick
      kick $chan $nick You're not allowed to change the modes on $chan $+ !
    }
  }
}

on *:TOPIC:#:{
  if (%protection. $+ $chan == On) {
    if $istok(%globalowner,$nick,32) {
      if $istok(%owner. $+ $chan,$nick,32) {
        if $istok(%master. $+ $chan,$nick,32) {
          if $istok(%op. $+ $chan,$nick,32) {
            halt
          }
        }
      }
    }
    else {
      mode $chan -o+b $nick $nick
      kick $chan $nick You're not allowed to change the topic on $chan $+ !
    }
  }
}

Comments

Sign in to comment.
dronez4   -  Sep 14, 2013

Hey, its a great script and all.. but dont forget to add lil.. umm.. explinations.. and make sure if there isnt an owner when the script is loaded, then he has to choose one.

Not the only thing.. if u wrote into a text file with /write or u did /writeini
to feedback your information then that would work perfect for multiple owners, Plus u should prob make commands for this, What do u think?

I'll get on the IRC And help u out if u want :)

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.