MIRCX IRC Network
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Search
 
 

Display results as :
 


Rechercher Advanced Search

Web Applications
install Joomla Wordpress Phpbb Drupal FluxBB PunBB osCommerce simple-machines MYBB moodle vBulletin Dolphin-v.7.1.1 PHPNUKE XOOPS
Services
install BorkNet Services X3 Services Anope Atheme Services Srvx IRC Srervices
IRCD
install Snircd IRCU INSPIRCD UNREAL Nefarious Bircd Bahamut Asuka Charybdis
TCL SCRIPT
TCL SCRIPT FOR EGGDROP Allprotection4.7 Antiproxy
Bots
Bots install FishBot bobot++ Eggdrop janus Omega Security Services Botnix Bopm SupyBot PyLink Hopm
Latest topics
» מדריך גירסה INSPIRCD V4
Clear-Chanlev Script for QuakeNet EmptySat Aug 05, 2023 2:09 am by Chief

» mIRCx IRC Network Config
Clear-Chanlev Script for QuakeNet EmptySat Jul 15, 2023 9:51 pm by Chief

» ircu2.10.12-pk with dnsbl
Clear-Chanlev Script for QuakeNet EmptyFri Mar 10, 2023 2:22 pm by Admin

» Guide install PyLink on New version FreeBSD
Clear-Chanlev Script for QuakeNet EmptyThu Dec 15, 2022 9:39 pm by Chief

» מדריך התקנה PBot על מערכת הפעלה FreeBsd-12
Clear-Chanlev Script for QuakeNet EmptyMon Dec 05, 2022 5:44 am by Chief

» install Nefarious2 && X3 IRC Services in FreeBsd
Clear-Chanlev Script for QuakeNet EmptySat Nov 12, 2022 3:12 pm by Chief

» help problem with adduser in Freebsd 12
Clear-Chanlev Script for QuakeNet EmptyFri Nov 11, 2022 9:06 pm by Chief

» מדריך פקודות והתקנה בסרביס X3
Clear-Chanlev Script for QuakeNet EmptyFri Oct 28, 2022 1:43 pm by Chief

» מדריך הגדרות WebIRC in Nefarious2
Clear-Chanlev Script for QuakeNet EmptyThu Apr 07, 2022 4:45 am by Chief

March 2024
MonTueWedThuFriSatSun
    123
45678910
11121314151617
18192021222324
25262728293031

Calendar Calendar

Affiliates
free forum

Affiliates
free forum


Clear-Chanlev Script for QuakeNet

Go down

Clear-Chanlev Script for QuakeNet Empty Clear-Chanlev Script for QuakeNet

Post  Admin Fri Jan 20, 2012 4:39 pm

Code:

; ClearChanlev script by doomie
;  #help.script @ QuakeNet
;
;
; You can use this script by typing:
;
;        /clearchanlev [-r] #channel
;
;  Note, that you must be authed and owner of #channel.
;
;  Flags:
;          * -r ... Resets the script, i.e. cleans everything up. One usually doesn't need that flag, however, if something didn't work,
;                    one can use it. 
;
;
;  Example output:
;
;      ClearChanlev: -----------------------------
;      ClearChanlev: Now beginning to remove all chanlevs from channel #channel except yours!
;      ClearChanlev: Receiving own auth now!
;      ClearChanlev: ...done.
;      ClearChanlev: Saving chanlev now...
;      ClearChanlev: ...done.
;      ClearChanlev: There are 2 lines to send. This will take approximatly 4 seconds. Removing...
;      ClearChanlev: ...done.
;      ClearChanlev: Cleaned up!
;      ClearChanlev: -----------------------------
;

; Returns the milliseconds between every message sent to Q
; If you excess flood, you should increase this value to 4000 or even 5000.
alias -l ClearChanlev.Delay { return 3000 }

; $1 = #channel
;
; flags:
;  -c --complete = deletes the complete chanlev, inclusive owner. This will
;                  result in Q parting. This option is disabled.
;  -r --reset    = resets the scripts in case something didn't work the last time.
alias ClearChanlev {
  echo -s ClearChanlev: -----------------------------
  var %i = 1, %c, %ClearChanlev.Complete = 0, %r, %ClearChanlev.Force = 0, %ClearChanlev.Channel
  while (%i <= $0) {
    %c = $ [ $+ [ %i ] ]
    if (%c == -c) || (%c == --complete) {
      echo -s ClearChanlev: The %c option to remove Q is disabled, it is ignored.
      ; %ClearChanlev.Complete = 0
    }
    elseif (%c == -r) || (%c == --reset) {
      %ClearChanlev.Force = 1
    }
    elseif ($left(%c, 1) == $chr(35)) {
      %ClearChanlev.Channel = %c
    }
    inc %i
  }
  if (%ClearChanlev.Global) {
    if (%ClearChanlev.Force == 0) {
      echo -s ClearChanlev: ClearChanlev is currently running. If this is not the case, please use the -r flag (i.e. /clearchanlev -r #channel)
      echo -s ClearChanlev: -----------------------------
      return
    }
    else {
      unset %ClearChanlev.Global
      echo -s ClearChanlev: ClearChanlev reseted.
    }
  }
  if (!%ClearChanlev.Channel) {
    echo -s ClearChanlev: No channel specified.
    return
  }
  %r = $rand(1,1000)
  set %ClearChanlev.Global %ClearChanlev.Channel %ClearChanlev.Complete %r
  echo -s ClearChanlev: Now beginning to remove all chanlevs from channel %ClearChanlev.Channel $iif(%ClearChanlev.Complete, inclusive, except) yours!
  echo -s ClearChanlev: Receiving own auth now!
  .timerClearChanlevCleanUp 1 60 ClearChanlev.CleanUp
  .who $me n%nat, $+ %r
}

raw 354:*: {
  if ($2 == $gettok(%ClearChanlev.Global, 3, 32)) && ($3 == $me) {
    haltdef
    set %ClearChanlev.Global %ClearChanlev.Global $4
  }
}

raw 315:*: {
  if (%ClearChanlev.Global) && ($2 == $me) {
    haltdef
    if ($gettok(%ClearChanlev.Global, 4, 32) == 0) {
      echo -s ClearChanlev: You are NOT authed.
      ClearChanlev.CleanUp
    }
    else {
      echo -s ClearChanlev: ...done.
      set %ClearChanlev.Global %ClearChanlev.Global 0
      .msg Q chanlev $gettok(%ClearChanlev.Global, 1, 32)
    }
  }
}

alias -l ClearChanlev.GotMessages {
  if (!$exists(ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt)) {
    echo -s ClearChanlev: File does not exist!
    ClearChanlev.CleanUp
    return
  }
  if ($lines(ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt) == 0) {
    echo -s ClearChanlev: No chanlev to remove!
    ClearChanlev.CleanUp
    return
  }
  if ($gettok(%ClearChanlev.Global, 5, 32) == 0) {
    echo -s ClearChanlev: You are NOT owner of this channel. Aborting!
    ClearChanlev.CleanUp
    return
  }
  echo -s ClearChanlev: There are $lines(ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt) lines to send. This will take $&
    approximatly $calc($lines(ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt) * $ClearChanlev.Delay / 1000) seconds. Removing...
  .play Q ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt $ClearChanlev.Delay
}

alias -l ClearChanlev.CleanUp {
  .remove ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt
  unset %ClearChanlev.*
  .timerClearChanlevCleanUp off
  echo -s ClearChanlev: Cleaned up!
  echo -s ClearChanlev: -----------------------------
}

; $1- = message from Q
alias -l ClearChanlev.Interpret {
  if (%ClearChanlev.Global) {
    if (Username*Flags*Last join*Last changed iswm $1-) {
      echo -s ClearChanlev: Saving chanlev now...
      set %ClearChanlev.Global %ClearChanlev.Global 1
    }
    elseif (You do not have sufficient access on* iswm $1-) {
      echo -s ClearChanlev: You do not have sufficied access on the specified channel!
      ClearChanlev.CleanUp
    }
    elseif (End of list. == $1-) {
      echo -s ClearChanlev: ...done.
      set %ClearChanlev.Global $puttok(%ClearChanlev.Global, 0, 6, 32)
      if ($numtok(%ClearChanLev.Users,32)) {
        write -il1 ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt REMOVEUSER $gettok(%ClearChanlev.Global, 1, 32) %ClearChanLev.Users
        unset %ClearChanlev.Users
      }
      ClearChanlev.GotMessages
    }
    elseif (Channel * is unknown or suspended. iswm $1-) {
      echo -s ClearChanlev: Channel is not known or suspended. Aborting.
      ClearChanlev.CleanUp
    }
    elseif ($gettok(%ClearChanlev.Global, 6, 32) == 1) {
      if ($1 == $gettok(%ClearChanlev.Global, 4, 32)) {
        if (n !isin $2) {
          set %ClearChanlev.Global $puttok(%ClearChanlev.Global, 0, 5, 32)
          return
        }
        else {
          set %ClearChanlev.Global $puttok(%ClearChanlev.Global, 1, 5, 32)
        }

        if ($gettok(%ClearChanlev.Global, 2, 32) == 0) {
          return
        }
        else {
          write ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt CHANLEV $gettok(%ClearChanlev.Global, 1, 32) $chr(35) $+ $1 $replace($2,+,-)
          return
        }
      }
      else {
        if (n isin $2) {
          ; do not remove owners - do not change unless you know what you are doing!
          return
          ; write -il1 ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt CHANLEV $gettok(%ClearChanlev.Global, 1, 32) $chr(35) $+ $1 $replace($2,+,-)
        }
        else {
          set %ClearChanlev.Users $addtok(%ClearChanLev.users,$chr(35) $+ $1,32)
          if ($numtok(%ClearChanlev.Users,32) == 18) {
            write -il1 ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt REMOVEUSER $gettok(%ClearChanlev.Global, 1, 32) %ClearChanlev.Users
            unset %ClearChanlev.Users
          }
        }
      }
    }
  }
}

on ^*:Notice:*:?: {
  if ($nick == Q) && (%ClearChanlev.Global) {
    haltdef
    ClearChanlev.Interpret $1-
  }
}

on ^*:Text:*:?: {
  if ($nick == Q) && (%ClearChanlev.Global) {
    haltdef
    ClearChanlev.Interpret $1-
  }
}

on *:PLAYEND:{
  if ($nopath($filename) == ClearChanlev $+ $gettok(%ClearChanlev.Global, 3, 32) $+ .txt) {
    echo -s ClearChanlev: ...done.
    ClearChanlev.Cleanup
  }
}
http://script.quakenet.org/wiki/Clear-Chanlev_Script_for_QuakeNet
Admin
Admin
Admin

מספר הודעות : 269
Join date : 2009-09-12
Age : 43
מיקום : mIRCX IRC Network

https://mircx.forumotion.net

Back to top Go down

Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum