Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; PZEliten Gather bot
- ;; #pzeliten.2 @ QuakeNet
- ;;
- ;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Admin - 100 ( 2/3/3/10 - 75 )
- ;; Manager - 90 ( 0/2/2/10 - 65 )
- ;; Voucher - 70 ( 0/0/0/5 - 65 )
- ;; Censor - 50 ( 0/0/0/3 - 20 )
- ;; Leader - 30
- ;; User - 10
- ;;
- ;############################## ON START #############################
- ;#####################################################################
- on *:LOAD: {
- set %game.daymax 0
- set %max.xpgained 0
- set %max.xplost 0
- }
- on *:INVITE:*: {
- if ( $nick == Q ) {
- join $chan
- }
- }
- on *:INVITE:*: {
- if ( $nick == zhn ) {
- join $chan
- }
- }
- on *:START: {
- hmake userdata 1000
- hload userdata userdata.txt
- timer 0 180 hsave userdata userdata.txt
- hmake pendata 1000
- hload pendata pendata.txt
- timer 0 180 hsave pendata pendata.txt
- hmake gamedata 1000
- hload gamedata gamedata.txt
- timer 0 180 hsave gamedata gamedata.txt
- hmake vouchdata 1000
- hload vouchdata vouchdata.txt
- timer 0 180 hsave vouchdata vouchdata.txt
- hmake herodata 100
- hload herodata herodata.txt
- timer 0 180 hsave herodata herodata.txt
- timer 0 180 save -rv script\vars.nns
- ;; timer 0 7200 rank.sortexp
- timer -oi 00:00 1 61 daychange
- timersyncvoice 0 180 sync.voice
- timer 0 180 /nick PZELITEN
- }
- on *:EXIT: {
- hsave userdata userdata.txt
- hsave gamedata gamedata.txt
- hsave vouchdata vouchdata.txt
- hsave herodata herodata.txt
- hsave pendata pendata.txt
- save -rv script\vars.nns
- }
- on *:START: {
- hmake fdata 1000
- hload fdata fdata.txt
- timer 0 180 hsave fdata fdata.txt
- hmake pendata 1000
- hload pendata pendata.txt
- timer 0 180 hsave pendata pendata.txt
- hmake pendata 1000
- hload pendata pendata.txt
- timer 0 180 hsave pendata pendata.txt
- hmake edata 1000
- hload edata edata.txt
- timer 0 180 hsave edata edata.txt
- hmake ldban 1000
- hload ldban ldban.txt
- timer 0 180 hsave ldban ldban.txt
- }
- on *:EXIT: {
- hsave fdata fdata.txt
- hsave pendata pendata.txt
- hsave pendata pendata.txt
- hsave edata edata.txt
- hsave ldban ldban.txt
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;HJORT COMMANDS;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- on *:TEXT:.adminreplace*:#: {
- if ($userlvl($nick) < 70) { .describe %ch You havent enough access to use this command | return }
- if (!$3) { .describe %ch Syntax Error; .adminreplace <user-in-game> <newuser> | return }
- var %ru = $getid($2)
- if (!$user(%ru).gamenum) { .describe %ch Can not found $iif(%ru,%ru,$2) ingame | return }
- var %gn = $user(%ru).gamenum
- var %u = $getid2($nick)
- var %nu = $getid($3)
- if ($istok($($+(%,game.auths_,%gn),2),%nu,46)) { .describe %ch %nu already is in game %gn | return }
- if (!$istok($($+(%,game.auths_,%gn),2),%ru,46)) { .describe %ch Can not found: %ru is in game %gn | return }
- if (!$hget(userdata,%nu)) { .describe %ch $iif($getid($3),$getid($3),$3) isn`t vouched | return }
- if ($hget(gamedata,%gn)) { return }
- if ( $($+(%,game.replace.votes_,%gn,_,%ru,_,%nu),2) >= 1 ) { return }
- if ($userlvl($nick) >= 70) {
- echo -ag REPLACED
- var %pos = $findtok($($+(%,game.auths_,%gn),2),%ru,1,46)
- set %game.auths_ $+ %gn $puttok($($+(%,game.auths_,%gn),2),%nu,%pos,46)
- set %player.game_ $+ %ru 0
- set %player.game_ $+ %nu %gn
- describe %ch Player $getname(%ru) Successfully replaced to $getname(%nu) in $get.gamename($($+(%,game.mode_,%gn),2),%gn) by Administrator $getname(%u) $+ .
- }
- }
- on *:TEXT:.adminexclude *:%ch: {
- var %u = $getid2($nick)
- if ( $userlvl(%u) >= $adminlvl ) {
- var %gn = $user(%eu).gamenum
- var %eu = $getid($2)
- inc %game.exclude.votes_ $+ %gn $+ _ $+ %eu
- set %game.exclude.voted_ $+ %gn $+ _ $+ %eu $instok($($+(%,game.exclude.voted_,%gn,_,%eu),2),%u,10,46)
- if ( $($+(%,game.exclude.votes_,%gn,_,%eu),2) == 1 ) {
- echo -ag EXCLUDED
- set %game.exclude_ $+ %gn $addtok($($+(%,game.exclude_,%gn),2),%eu,46)
- AddPenalty $botname %eu Exclude
- describe %ch Player $getname(%eu) excluded from $get.gamename($($+(%,game.mode_,%gn),2),%gn)
- }
- }
- }
- on *:text:.setvent*:#: {
- if ( $userlvl($auth($nick)) >= 100 ) {
- set %vent $2-
- }
- }
- on *:text:.setggc*:#: {
- if ( $userlvl($auth($nick)) >= 100 ) {
- set %ggc $2-
- }
- }
- on *:text:.setmap*:#: {
- if ( $userlvl($auth($nick)) >= 100 ) {
- set %c.gameversion $2-
- }
- }
- on *:text:.settopic*:#: {
- if ( $userlvl($auth($nick)) >= 100 ) {
- set %ihltopic $2-
- topic %ch $topicwelcome
- }
- }
- on *:text:.map:#: {
- msg $chan %c.gameversion
- }
- on *:text:.ggc:#: {
- msg $chan %ggc
- }
- on *:text:admin:#: {
- msg $chan If an admin dosn't respond within 1minute(s), please contact one, via private message, Thank you.
- }
- on *:text:zhn:#: {
- msg $chan <3 zhn
- }
- on *:text:elijd:#: {
- msg $chan <3 elijd
- }
- on *:text:.vt:#: {
- msg $chan %vent
- }
- on *:text:.setstream*:#: {
- if ( $userlvl($auth($nick)) >= 70 ) {
- set %stream $2-
- }
- }
- on *:text:.stream:#: {
- if ( $userlvl($auth($nick)) >= 70 ) {
- /timerstream 1 1 msg #dota.no %stream live på GGTV snart: .lastgame for å se hvem som spiller
- /timerstream2 3 900 msg #dota.no %stream live på GGTV: .lastgame for info
- }
- }
- on *:text:.stopstream:#: {
- if ( $userlvl($auth($nick)) >= 70 ) {
- /timerstream off
- /timerstream2 off
- msg #dota.no %stream FINISHED
- }
- }
- alias getname {
- if ( $1 != hjortbot ) {
- var %n = $gettok($hget(userdata,$getid($1)),10,46)
- ;;if (%n == sacco) { return 13sacco03 }
- ;elseif (%n == hjortbot) { return 04hjortbot03 }
- ;else { return %n }
- return %n
- }
- else { return IHL }
- }
- On $*:Text:/^[@!.](Calculator|Calc)/Si:#: {
- if ($mainbot ison $chan) && ($me != $mainbot) { halt }
- elseif (!$2) {
- set %ctarg1 $iif($left($1,1) == @, msg $chan, describe %ch)
- %ctarg1 $logo(error) Please give me some numbers to calculate.
- unset %ctarg1
- }
- else {
- set %ctarg2 $iif($left($1,1) == @, msg $chan, describe %ch)
- %ctarg2 $logo(calc) $2- = $bytes($calc($replace($2-,k,*1000,m,*1000000,pi,$pi)),bd)
- unset %ctarg2
- }
- }
- on *:TEXT:!addh:#dota.no: {
- if (!%game.on) { return }
- if ($userlvl2($nick) < 10) { return }
- msg %ch $nick Added on #dota.no when there is a game on #ihl.no
- msg $nick Why do you add when there is a game on #ihl.no?
- }
- on *:TEXT:.stats*:#: {
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- if ($2) { var %u = $getid($2) }
- else { var %u = $getid2($nick) }
- if (!$hget(userdata,%u)) { describe %target User not found! | return }
- var %line = $getname(%u) has $user(%u).win wins, $user(%u).lost losses, $user(%u).exp experience, $iif($user(%u).inactive != $true,ranked $user(%u).rank $+ $chr(44) Rated $enclose($get.exprank(%u)) $+ ;,Inactive;)
- var %line = %line $iif($get.streakrank($user(%u).spree),$ifmatch), ; Longest streak $user(%u).bspree wins;
- var %r = $get.cfrank($user(%u).conf)
- var %c = $calc($user(%u).win + $user(%u).lost)
- var %cu = $calc($user(%u).exp experience)
- var %cum = 1000
- var %cur = $calc %cu - %cum
- var %cut = $calc %cur / %c
- %c = $round(%c,2)
- %cu = $round(%cu,2)
- %cum = $round(%cum,2)
- %cur = $round(%cur,2)
- %cut = $round(%cut,2)
- describe %target %line %r
- describe %target Avg.experience per game: %cut Experience
- }
- else {
- if ( $userlvl2($nick) < 50 ) {
- describe $nick %line
- $iif($get.cfrank($user(%u).conf),$ifmatch)
- }
- else {
- describe %target %line
- $iif($get.cfrank($user(%u).conf),$ifmatch)
- }
- }
- on *:TEXT:.noob:%ch: {
- var %game = $user(%u).gamenum
- var %lol = $gettok($game(%game).plist,1-5,46)
- msg %ch %lol
- }
- on *:TEXT:.commands:#: {
- describe %ch .sign, .out, .startgame(all), .challenge(leaders), .top, .stats, .whois, .whoami, .compare, .vt, .info <gamenum>, .ggc (prize)
- }
- ;########################### ALIAS DAYCHANGE #########################
- ;#####################################################################
- alias botversion {
- return 2.20
- }
- alias daychange {
- unset %cen.today_*
- var %i = 1
- var %l = %rank.users
- while ( %i <= %l ) {
- var %u = $sort.getuser(%i)
- var %lg = $user(%u).lastgame
- if ( $calc($ctime - $game(%lg).time) > 1728000 ) {
- var %e = $user(%u).exp
- if ( %e > 1000 ) {
- if ( $calc($ctime - $user(%u).lastdecay ) > 1728000 ) {
- set %last.decay_ $+ %u $ctime
- var %decay = $round($calc( %e * -0.04 ),0)
- noop $xsetuser(%u,%decay).exp
- AddPenalty $botname %u Decayed %decay
- }
- }
- }
- if ( $calc($ctime - $game(%lg).time) <= 1728000 ) {
- if ( $user(%u).conf < 1000 ) {
- noop $xsetuser(%u,5).conf
- }
- }
- inc %i
- }
- var %ctime = $ctime
- mkdir backup\ $+ %ctime
- copy userdata.txt $+(backup\,%ctime,\userdata.txt)
- copy gamedata.txt $+(backup\,%ctime,\gamedata.txt)
- copy vouchdata.txt $+(backup\,%ctime,\vouchdata.txt)
- copy herodata.txt $+(backup\,%ctime,\herodata.txt)
- copy pendata.txt $+(backup\,%ctime,\pendata.txt)
- copy script\vars.nns $+(backup\,%ctime,\vars.nns)
- ;;;;
- if (%game.today >= %game.daymax) {
- set %game.daymax %game.today
- set %game.daymax.time $ctime
- }
- set %game.today 0
- ;;;;
- timer -oi 00:00 1 61 daychange
- }
- ;################################ INVITE #############################
- ;#####################################################################
- alias timebanned {
- return $($+(%,timeban_,$1),2)
- }
- alias banned {
- return $hget(pendata,$+(ban.,$1))
- }
- alias lvlcheck {
- return $iif($hget(userdata,$+(level.,$1)),$v1,0)
- }
- ;; ($hget(userdata,$+(level.,$getid2($1))))
- alias inviteuser {
- var %auth = $qauth($1)
- echo -ag %auth -- $lvlcheck(%auth)
- if (!%auth) { msg $1 Access denied! | return }
- if ($user(%auth).conf <= 250) { msg $1 Your confidence factor is too low. You are banned! | return }
- if ($lvlcheck(%auth) < 10) { msg $1 Access denied! | return }
- if ($calc($timebanned(%auth) - $ctime) > 0 ) { msg $1 You are banned! Expires: $asctime($timebanned(%auth),HH:nn:ss dd/mm/yy) | return }
- if ($calc($banned(%auth) - $ctime) > 0 ) { msg $1 You are banned! Expires: $asctime($banned(%auth),HH:nn:ss dd/mm/yy) | return }
- invite $1 %ch
- msg $1 Auth verification successful, you are free to join the channel $chr(35) $+ $channelname
- }
- alias opuser {
- var %auth = $qauth($1)
- if ($userlvl(%auth) >= 70) { mode %ch +o $1 }
- if (($user(%auth).ig) || ($user(%auth).signed)) {
- mode %ch +v $1
- }
- if ($user(%auth).conf <= 250) { kick %ch $1 Your confidence factor is too low. You are banned! }
- }
- alias voiceuser {
- var %auth = $qauth($1)
- if ($user(%auth).conf <= 250) { kick %ch $1 Your confidence factor is too low. You are banned! }
- if ($calc($timebanned(%auth) - $ctime) > 0 ) { kick %ch $1 You are banned! Expires: $asctime($timebanned(%auth),HH:nn:ss dd/mm/yy) | return }
- if ($calc($banned(%auth) - $ctime) > 0 ) { Kick %ch $1 You are banned! Expires: $asctime($banned(%auth),HH:nn:ss dd/mm/yy) | return }
- }
- on *:text:.i:?: {
- /invite $nick %ch
- msg $nick You are free to join %ch
- }
- on *:JOIN:%ch: {
- timer 1 0 opuser $nick
- }
- ;###################### BASIC ALIASES ( returns ) ####################
- ;#####################################################################
- on *:text:.setvent*:#: {
- if ( $userlvl($auth($nick)) == 100 ) {
- set %vent $2-
- }
- }
- on *:text:.vent:#: {
- msg $chan %vent
- }
- alias botname {
- return hjortbot
- }
- alias adminlvl {
- return 70
- }
- alias managerlvl {
- return 90
- }
- alias describe {
- if ( $len($2-) < 400 ) { describe $1 $2- }
- else {
- var %line = $2-
- var %l = $numtok(%line,32)
- var %i = 1
- var %r
- while ( %i <= %l ) {
- if ( $len(%r) > 400 ) { describe $1 %r [more...] | var %r = $null }
- var %r = %r $gettok(%line,%i,32)
- inc %i
- }
- describe $1 %r
- }
- }
- alias enclose {
- return $chr(91) $+ $1 $+ $chr(93)
- }
- alias enclose2 {
- }
- alias enclose3 {
- return < $+ $1 $+ >
- }
- alias getauth {
- return $hget(userdata,$+(id.,$1))
- }
- alias getid {
- if ($auth($1)) { return $v1 }
- elseif ($hget(userdata,$1)) { return $1 }
- elseif ($hget(userdata,$+(id.,$1))) { return $v1 }
- else { return $null }
- }
- alias getid2 {
- if ($auth($1)) { return $v1 }
- else { return $null }
- }
- alias getname {
- if ( $1 != hjortbot ) {
- var %n = $gettok($hget(userdata,$getid($1)),10,46)
- ;;if (%n == sacco) { return 13sacco03 }
- ;elseif (%n == hjort) { return 04hjort03 }
- ;else { return %n }
- return %n
- }
- else { return IHCS-PROBOT }
- }
- alias userlvl {
- if ($hget(userdata,$+(level.,$getid($1)))) { return $v1 }
- else { return 0 }
- }
- alias userlvl2 {
- if ($hget(userdata,$+(level.,$getid2($1)))) { return $v1 }
- else { return 0 }
- }
- alias spam.censure {
- ;;describe %ch Nezabudnite ze .censure je moznost ako vyjadrit osobnu nespokojnost so spravanim niektorych ludi. Nema to nic spolocne s pravidlami, preto ak citite ze sa niekto nesprava tak ako by sa mal, nevahajte tento prikaz pouzit! ( prikaz mozete pouzit po ukonceni spolocnej hry s hracom ktoremu chcete censure udelit. Funguje aj cez PM botovi - anonymne )
- }
- ;register format: win.lost.draw.exp.lastexp.spree.bestspree.lastgame.conf.name
- ;id format: id.USERNAME -> AUTH
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; GET STUFF ABOUT USER
- alias user {
- if (!$1) { return }
- ;var %n = $getid($1)
- var %n = $1
- if ( $prop == win ) {
- return $gettok($hget(userdata,%n),1,46)
- }
- if ( $prop == lost ) {
- return $gettok($hget(userdata,%n),2,46)
- }
- if ( $prop == draw ) {
- return $gettok($hget(userdata,%n),3,46)
- }
- if ( $prop == exp ) {
- return $gettok($hget(userdata,%n),4,46)
- }
- if ( $prop == lastexp ) {
- return $gettok($hget(userdata,%n),5,46)
- }
- if ( $prop == spree ) {
- return $gettok($hget(userdata,%n),6,46)
- }
- if ( $prop == bspree ) {
- return $gettok($hget(userdata,%n),7,46)
- }
- if ( $prop == lastgame ) {
- return $gettok($hget(userdata,%n),8,46)
- }
- if ( $prop == conf ) {
- return $gettok($hget(userdata,%n),9,46)
- }
- if ( $prop == name ) {
- return $gettok($hget(userdata,%n),10,46)
- }
- if ( $prop == game ) {
- return $calc($gettok($hget(userdata,%n),1,46) + $gettok($hget(userdata,%n),2,46) + $gettok($hget(userdata,%n),3,46))
- }
- if ( $prop == winp ) {
- return $round($calc($gettok($hget(userdata,%n),1,46) * 100 / $calc($gettok($hget(userdata,%n),1,46) + $gettok($hget(userdata,%n),2,46) + $gettok($hget(userdata,%n),3,46))),0)
- }
- if ( $prop == lostp ) {
- return $round($calc($gettok($hget(userdata,%n),2,46) * 100 / $calc($gettok($hget(userdata,%n),1,46) + $gettok($hget(userdata,%n),2,46) + $gettok($hget(userdata,%n),3,46))),0)
- }
- if ( $prop == drawp ) {
- return $round($calc($gettok($hget(userdata,%n),3,46) * 100 / $calc($gettok($hget(userdata,%n),1,46) + $gettok($hget(userdata,%n),2,46) + $gettok($hget(userdata,%n),3,46))),0)
- }
- if ( $prop == ig ) {
- return $($+(%,player.game_,%n),2)
- }
- if ( $prop == signed ) {
- return $istok(%c.gameauths,%n,46)
- }
- if ( $prop == gamenum ) {
- return $($+(%,player.game_,%n),2)
- }
- if ( $prop == vouchedby ) {
- return $gettok($hget(vouchdata,$+(info.,%n)),1,46)
- }
- if ( $prop == promoteby ) {
- return $gettok($hget(vouchdata,$+(info.,%n)),2,46)
- }
- if ( $prop == vouchinfo ) {
- return $hget(vouchdata,$+(info.,%n))
- }
- if ( $prop == voucheddate ) {
- return $hget(vouchdata,$+(date.,%n))
- }
- if ( $prop == rank ) {
- return $($+(%,rank_,%n),2) $+ / $+ %ranked.users
- }
- if ( $prop == rankonly ) {
- return $($+(%,rank_,%n),2)
- }
- if ( $prop == lastdecay ) {
- if ($($+(%,last.decay_,%n),2)) { return $v1 }
- else { return 0 }
- }
- if ( $prop == inactive ) {
- var %lg = $gettok($hget(userdata,%n),8,46)
- var %g = $calc($gettok($hget(userdata,%n),1,46) + $gettok($hget(userdata,%n),2,46) + $gettok($hget(userdata,%n),3,46))
- if ((%g == 0) || ($calc($ctime - $game(%lg).time) > 2592000)) {
- return $true
- }
- }
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; SET VALUE TO $2
- alias setuser {
- if (!$1) { return }
- ;var %n = $getid($1)
- var %n = $1
- if ($2 isnum) { var %p = $int($2) }
- if ( $prop == win ) {
- var %a = $puttok($hget(userdata,%n),%p,1,46)
- var %canset = 1
- }
- if ( $prop == lost ) {
- var %a = $puttok($hget(userdata,%n),%p,2,46)
- var %canset = 1
- }
- if ( $prop == draw ) {
- var %a = $puttok($hget(userdata,%n),%p,3,46)
- var %canset = 1
- }
- if ( $prop == exp ) {
- var %a = $puttok($hget(userdata,%n),%p,4,46)
- var %canset = 1
- }
- if ( $prop == lastexp ) {
- var %a = $puttok($hget(userdata,%n),%p,5,46)
- var %canset = 1
- }
- if ( $prop == spree ) {
- var %a = $puttok($hget(userdata,%n),%p,6,46)
- var %canset = 1
- }
- if ( $prop == bspree ) {
- var %a = $puttok($hget(userdata,%n),%p,7,46)
- var %canset = 1
- }
- if ( $prop == lastgame ) {
- var %a = $puttok($hget(userdata,%n),%p,8,46)
- var %canset = 1
- }
- if ( $prop == conf ) {
- var %a = $puttok($hget(userdata,%n),%p,9,46)
- var %canset = 1
- }
- if ( $prop == name ) {
- var %a = $puttok($hget(userdata,%n),$2,10,46)
- var %canset = 1
- }
- if (%canset) {
- hadd userdata %n %a
- return 0
- }
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; SET VALUE TO <value> + $2
- alias xsetuser {
- if (!$1) { return }
- ;var %n = $getid($1)
- var %n = $1
- if ($2 isnum) { var %p = $int($2) }
- else { return 0 }
- if ( $prop == win ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).win + %p),1,46)
- var %canset = 1
- }
- if ( $prop == lost ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).lost + %p),2,46)
- var %canset = 1
- }
- if ( $prop == draw ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).draw + %p),3,46)
- var %canset = 1
- }
- if ( $prop == exp ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).exp + %p),4,46)
- var %canset = 1
- }
- if ( $prop == lastexp ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).lastexp + %p),5,46)
- var %canset = 1
- }
- if ( $prop == spree ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).spree + %p),6,46)
- var %canset = 1
- }
- if ( $prop == bspree ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).bspree + %p),7,46)
- var %canset = 1
- }
- if ( $prop == lastgame ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).lastgame + %p),8,46)
- var %canset = 1
- }
- if ( $prop == conf ) {
- var %a = $puttok($hget(userdata,%n),$calc($user(%n).conf + %p),9,46)
- var %canset = 1
- }
- if (%canset) {
- hadd userdata %n %a
- return 0
- }
- }
- ;########################### USER MANAGEMENT #########################
- ;#####################################################################
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Admin - 100 ( 1/3/3/10 - 50 )
- ;; Manager - 90 ( 0/2/2/10 - 40 )
- ;; Voucher - 70 ( 0/0/0/5 - 40 )
- ;; Censor - 50 ( 0/0/0/3 - 15 )
- ;; Leader - 30
- ;; User - 10
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; VOUCH DATA STRUCTURE
- ;; info.ID
- ;; vouched_by.promoted_by
- ;;
- ;; m.ID
- ;; manager
- ;; promoted by nick
- ;; v.ID
- ;; voucher1.voucher2.voucher3
- ;; promoted by nick
- ;; c.ID
- ;; censor1.censor2.censor3
- ;; promoted by nick
- ;; l.ID
- ;; leader1-10
- ;; leaders promoted by nick
- ;; u.ID
- ;; number of users vouched.
- /*
- ;; Admin - 100 ( 2/3/3/10 - 75 )
- ;; Manager - 90 ( 0/2/2/10 - 65 )
- ;; Voucher - 70 ( 0/0/0/5 - 65 )
- ;; Censor - 50 ( 0/0/0/3 - 20 )
- */
- alias maxvouch {
- if ( $2 == user ) {
- if ( $1 >= 100 ) { return 300 }
- elseif ( $1 >= 90 ) { return 100 }
- elseif ( $1 >= 70 ) { return 50 }
- elseif ( $1 >= 50 ) { return 7 }
- else { return 0 }
- }
- if ( $2 == leader ) {
- if ( $1 >= 100 ) { return 100 }
- elseif ( $1 >= 90 ) { return 100 }
- elseif ( $1 >= 70 ) { return 10 }
- elseif ( $1 >= 50 ) { return 3 }
- else { return 0 }
- }
- if ( $2 == censor ) {
- if ( $1 >= 100 ) { return 100 }
- elseif ( $1 >= 90 ) { return 100 }
- else { return 0 }
- }
- if ( $2 == voucher ) {
- if ( $1 >= 100 ) { return 100 }
- elseif ( $1 >= 90 ) { return 100 }
- else { return 0 }
- }
- if ( $2 == manager ) {
- if ( $1 >= 100 ) { return 100 }
- else { return 0 }
- }
- if ( $2 == administrator ) {
- return 0
- }
- }
- alias nextlevel {
- if ( $1 >= 100 ) { return 100 }
- elseif ( $1 >= 90 ) { return 100 }
- elseif ( $1 >= 70 ) { return 90 }
- elseif ( $1 >= 50 ) { return 70 }
- elseif ( $1 >= 30 ) { return 50 }
- elseif ( $1 >= 10 ) { return 30 }
- else { return 0 }
- }
- alias prevlevel {
- if ( $1 >= 100 ) { return 90 }
- elseif ( $1 >= 90 ) { return 70 }
- elseif ( $1 >= 70 ) { return 50 }
- elseif ( $1 >= 50 ) { return 30 }
- elseif ( $1 >= 30 ) { return 10 }
- else { return 0 }
- }
- /*
- change this to change OUTPUT
- */
- /*
- Marshal (root), General (Administrator), Colonel ( Super Mod ),
- Major ( moderator ), Captain ( Captain ), Officer ( Host )
- */
- alias level.str {
- if ( $1 >= 101 ) { return root }
- elseif ( $1 >= 100 ) { return Head Admin }
- elseif ( $1 >= 90 ) { return Admin }
- elseif ( $1 >= 70 ) { return Voucher }
- elseif ( $1 >= 50 ) { return Censor }
- elseif ( $1 >= 30 ) { return Leader }
- elseif ( $1 >= 10 ) { return User }
- else { return unknown }
- }
- alias level.strc {
- if ( $1 >= 101 ) { return Root }
- elseif ( $1 >= 100 ) { return Administrator }
- elseif ( $1 >= 90 ) { return Manager }
- elseif ( $1 >= 70 ) { return Voucher }
- elseif ( $1 >= 50 ) { return Censor }
- elseif ( $1 >= 30 ) { return Leader }
- elseif ( $1 >= 10 ) { return User }
- else { return unknown }
- }
- alias voucher {
- if ( $2 == user ) {
- if ($hget(vouchdata,$+(u.,$getid($1)))) { return $v1 }
- else { return 0 }
- }
- if ( $2 == leader ) {
- return $numtok($hget(vouchdata,$+(leader.,$getid($1))),46)
- }
- if ( $2 == censor ) {
- return $numtok($hget(vouchdata,$+(censor.,$getid($1))),46)
- }
- if ( $2 == voucher ) {
- return $numtok($hget(vouchdata,$+(voucher.,$getid($1))),46)
- }
- if ( $2 == manager ) {
- return $numtok($hget(vouchdata,$+(manager.,$getid($1))),46)
- }
- if ( $2 == administrator ) {
- return 0
- }
- if ( $2 == leaderlist ) {
- if ($hget(vouchdata,$+(leader.,$getid($1)))) { return $v1 }
- else { return . }
- }
- if ( $2 == censorlist ) {
- if ($hget(vouchdata,$+(censor.,$getid($1)))) { return $v1 }
- else { return . }
- }
- if ( $2 == voucherlist ) {
- if ($hget(vouchdata,$+(voucher.,$getid($1)))) { return $v1 }
- else { return . }
- }
- if ( $2 == managerlist ) {
- if ($hget(vouchdata,$+(manager.,$getid($1)))) { return $v1 }
- else { return . }
- }
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; Format .vouch <q-auth> <nick>
- on $*:TEXT:/^\.vouch\s.*/:*: {
- var %u = $getid2($nick)
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %ulvl = $userlvl2($nick)
- if ( %ulvl >= 50 ) {
- if ( $maxvouch(%ulvl,user) > $voucher($nick,user) ) {
- if ($3) {
- if ( $userlvl($getid($2)) != 1 ) {
- if (($hget(userdata,$+(id.,$3))) || ($hget(userdata,$+(id.,$2)))) { notice $nick User $2 $+ / $+ $3 is already registred! | return }
- if (($hget(userdata,$2)) || ($hget(userdata,$3))) { notice $nick User $2 $+ / $+ $3 is already registred! | return }
- }
- elseif ( $getname($2) != $3 ) { notice $nick Qauth and username do not match! | return }
- if ( $3 == x ) { notice $nick "x" is not a valid username! | return }
- if ( . isin $3 ) { notice $nick This is not a valid username! | return }
- if ( $userlvl($getid($2)) != 1 ) {
- hadd userdata $2 0.0.0.1000.0.0.0.0.500. $+ $3
- hadd userdata $+(id.,$3) $2
- var %re = 1
- }
- else { var %re = 0 }
- hadd userdata $+(level.,$2) 10
- hadd vouchdata $+(info.,$2) $getid($nick) $+ . $+ x
- hadd vouchdata $+(date.,$2) $ctime
- hinc vouchdata $+(u.,$getid($nick)) 1
- describe %target $nick has $iif(%re,vouched,revouched) $2 with username $3 $+ .
- describe #nihl.staff $nick has $iif(%re,vouched,revouched) $2 with username $3 $+ .
- AddRecord %u .vouch has $iif(%re,vouched,revouched) $2 with username $3 $+ .
- }
- else { notice $nick You have to specify Qauth and username! }
- }
- else { notice $nick You can't vouch more people! }
- }
- }
- on *:TEXT:.unvouch *:*: {
- var %u = $getid2($nick)
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %ulvl = $userlvl2($nick)
- if ( %ulvl >= 50 ) {
- if ($2) {
- var %u = $getid($2)
- var %un = $getname(%u)
- var %v = $user(%u).vouchedby
- if (( %v == $getid($nick) ) || ( %ulvl >= $userlvl(%v) )) {
- if (($userlvl(%v) < 50) && (%ulvl < 70)) { notice $nick You need at least Voucher rank to unvouch this player! | return }
- if ( $userlvl(%u) == 10 ) {
- if ($hget(userdata,%u)) {
- ;hdel userdata $+(id.,%un)
- ;hdel userdata $+(level.,%u)
- hadd userdata $+(level.,%u) 1
- ;hdel userdata %u
- hdel vouchdata $+(info.,%u)
- hdel vouchdata $+(leader.,%u)
- hdel vouchdata $+(censor.,%u)
- hdel vouchdata $+(voucher.,%u)
- hdel vouchdata $+(manager.,%u)
- ;hdel vouchdata $+(u.,%u)
- hdec vouchdata $+(u.,%v) 1
- describe %target User %un has been unvouched!
- describe #nihl.staff $nick has unvouched %un
- AddRecord %u .unvouch User %un has been unvouched!
- }
- else { notice $nick User not found! }
- }
- else { notice $nick You have to demote user to [user] rank before unvouching him! }
- }
- else { notice $nick You can't remove another's voucher users unless you are higher-level then (s)he! }
- }
- else { notice $nick You have to specify nick/qauth/username! }
- }
- }
- on *:TEXT:.voiduser *:*: {
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %ulvl = $userlvl2($nick)
- if ( %ulvl > $adminlvl ) {
- var %vu = $getid($2)
- if ($userlvl(%vu) == 1) {
- if ($hget(userdata,%vu)) {
- var %vun = $getname(%vu)
- hdel userdata level. $+ %vu
- hdel userdata id. $+ %vun
- hdel userdata %vu
- ;;var %voucher = $user(%vu).vouchedby
- ;;hdec vouchdata $+(u.,%voucher) 1
- hdel vouchdata info. $+ %vu
- describe %target User %vun has been completely removed from database!
- }
- else { describe %target User not found! }
- }
- else { notice $nick Use .unvouch before .voiduser! }
- }
- }
- on *:TEXT:.changename *:*: {
- if (!$3) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid2($nick)
- var %ulvl = $userlvl(%u)
- if ( %ulvl >= $adminlvl ) {
- ;echo -ag OK
- if (($hget(userdata,$+(id.,$2))) && (!$hget(userdata,$+(id.,$3)))) {
- ;echo -ag OK
- if ((!$hget(userdata,$3)) || ($getid($2) == $3)) {
- ;echo -ag OK
- var %cu = $getid($2)
- var %rec = $hget(userdata,%cu)
- hadd userdata $+(id.,$3) %cu
- hdel userdata $+(id.,$2)
- hadd userdata %cu $puttok(%rec,$3,10,46)
- describe %target Username $2 changed to $3 successfully!
- }
- }
- }
- }
- on *:TEXT:.promote*:*: {
- if (!$2) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid($2)
- var %ulvl = $userlvl2($nick)
- if ( %ulvl >= 50 ) {
- var %plvl = $userlvl(%u)
- var %orank = $level.strc(%plvl)
- var %nrank = $level.strc($nextlevel(%plvl))
- var %orankr = $level.str(%plvl)
- var %nrankr = $level.str($nextlevel(%plvl))
- if ( $maxvouch(%ulvl,%nrank) > $voucher($nick,%nrank) ) {
- if ( $user(%u).promoteby == $getid($nick) || $user(%u).promoteby == x ) {
- if ( %orank != user ) {
- var %olist = $voucher($nick,$+(%orank,list))
- var %nlist = $voucher($nick,$+(%nrank,list))
- hadd vouchdata $+(%orank,.,$getid($nick)) $remtok(%olist,%u,1,46)
- hadd vouchdata $+(%nrank,.,$getid($nick)) $addtok(%nlist,%u,46)
- hadd vouchdata $+(info.,%u) $puttok($user(%u).vouchinfo,$getid($nick),2,46)
- hadd userdata $+(level.,%u) $nextlevel(%plvl)
- }
- else {
- var %nlist = $voucher($nick,$+(%nrank,list))
- echo -ag %nrank %nlist
- hadd vouchdata $+(%nrank,.,$getid($nick)) $addtok(%nlist,%u,46)
- hadd vouchdata $+(info.,%u) $puttok($user(%u).vouchinfo,$getid($nick),2,46)
- hadd userdata $+(level.,%u) $nextlevel(%plvl)
- }
- describe %target User $getname(%u) promoted from $enclose(%orankr) to $enclose(%nrankr)
- if ((%nrank == manager) || (%nrank == administrator)) {
- noop $setuser(%u,1000).conf
- }
- }
- else { notice $nick User was first promoted by another staff member! Only (s)he can promote the user further! }
- }
- else { notice $nick You can't promote (more) %orank $+ s to %nrank $+ s! }
- }
- }
- on *:TEXT:.demote *:*: {
- if (!$2) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid($2)
- var %ulvl = $userlvl2($nick)
- var %tlvl = $userlvl($getid($2))
- if ( %tlvl >= %ulvl ) { notice $nick What are you trying to do, BITCH!?! | return }
- if ( %ulvl >= 50 ) {
- var %plvl = $userlvl(%u)
- var %orank = $level.strc(%plvl)
- var %orankr = $level.str(%plvl)
- var %nrank = $level.strc($prevlevel(%plvl))
- if ( %nrank != unknown ) {
- if ( %plvl >= 50 ) {
- var %prank = %nrank
- var %pplvl = $prevlevel(%plvl)
- while ( %prank != user ) {
- var %i = 1
- var %l = $numtok($voucher(%u,$+(%prank,list)),46)
- echo -ag %prank -- %l
- while (%i <= %l) {
- var %dnick = $gettok($voucher(%u,$+(%prank,list)),%i,46)
- hadd userdata $+(level.,%dnick) 10
- hadd vouchdata $+(info.,%dnick) $puttok($user(%dnick).vouchinfo,x,2,46)
- var %list = $addtok(%list,%dnick,46)
- ;echo -ag DEMOTED: %dnick
- ;echo -ag %list
- inc %i
- }
- hdel vouchdata $+(%prank,.,%u)
- %pplvl = $prevlevel(%pplvl)
- %prank = $level.strc(%pplvl)
- }
- if (%list) {
- describe %target Users demoted: $replace(%list,.,$chr(44) $+ $ch(32)))
- }
- }
- var %v = $user(%u).promoteby
- while (( $maxvouch(%ulvl,%nrank) <= $voucher(%v,%nrank)) && ( %nrank != user )) {
- %plvl = $prevlevel(%plvl)
- %nrank = $level.strc($prevlevel(%plvl))
- }
- if ((( $user(%u).promoteby == $getid($nick)) || ($user(%u).promoteby == x )) || ( $userlvl($nick) >= $userlvl(%v))) {
- var %olist = $voucher(%v,$+(%orank,list))
- var %nlist = $voucher(%v,$+(%nrank,list))
- hadd vouchdata $+(%orank,.,%v) $remtok(%olist,%u,1,46)
- if ( %nrank != user ) {
- hadd vouchdata $+(info.,%u) $puttok($user(%u).vouchinfo,%v,2,46)
- hadd vouchdata $+(%nrank,.,%v) $addtok(%nlist,%u,46)
- }
- else {
- hadd vouchdata $+(info.,%u) $puttok($user(%u).vouchinfo,x,2,46)
- }
- hadd userdata $+(level.,%u) $prevlevel(%plvl)
- describe %target User $getname(%u) demoted from $enclose(%orankr) to $enclose($level.str($userlvl(%u)))
- if ((%orank == manager) || (%orank == administrator)) {
- noop $setuser(%u,700).conf
- }
- }
- else { notice $nick User was first promoted by another staff member( $+ $getname(%v) $+ )! Only (s)he or higher-level staff members can demote the user! }
- }
- else { notice $nick Use .unvouch to further demote player! }
- }
- }
- on *:TEXT:.giveadmin *:*: {
- if (!$2) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid2($nick)
- var %gu = $getid($2)
- if (!$hget(userdata,%gu)) { describe %target User not found! | return }
- if ($userlvl(%gu) != 10) { describe %target User have to have rank [User] before promoting to admin! | return }
- if ($userlvl(%u) < 101) { describe %target You don't have sufficient rights to appoint new admin! | return }
- if ($user(%gu).vouchedby != %u) { describe %target You can only promote new admins from among users you have vouched! | return }
- hadd userdata level. $+ %gu 100
- hadd vouchdata info. $+ %gu %u $+ . $+ %u
- noop $setuser(%gu,700).conf
- describe %target User $2 has been promoted to admin!
- }
- on *:TEXT:.giveroot *:*: {
- if (!$2) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid2($nick)
- var %gu = $getid($2)
- if (!$hget(userdata,%gu)) { describe %target User not found! | return }
- if ($userlvl(%gu) != 10) { describe %target User have to have rank [User] before promoting to admin! | return }
- if ($userlvl(%u) < 101) { describe %target You don't have sufficient rights to appoint new admin! | return }
- if ($user(%gu).vouchedby != %u) { describe %target You can only promote new admins from among users you have vouched! | return }
- hadd userdata level. $+ %gu 101
- hadd vouchdata info. $+ %gu %u $+ . $+ %u
- noop $setuser(%gu,700).conf
- describe %target User $2 has been promoted to root!
- }
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;; takes token, returns token separated by ", "
- alias get.usernamelist {
- var %i = 1
- var %l = $numtok($1,46)
- var %list
- while ( %i <= %l ) {
- var %list = $addtok(%list,$getname($gettok($1,%i,46)),46)
- inc %i
- }
- var %list = $replace(%list,.,$chr(44) $+ $chr(32))
- return %list
- }
- on $*:TEXT:/^(\.whois\s\S*|\.whoami$)/:%ch, #ihl.no, #nihl.no-staff: {
- if ((!%canreply) && ($userlvl2($nick) < 50 )) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- if ( $2 == dasik ) {
- describe %target I am hjortbot lololol
- return
- }
- if ($2) { var %u = $getid($2) }
- else { var %u = $getid2($nick) }
- if ($1 = .whoami) { var %u = $getid2($nick) }
- echo -ag %u $userlvl(%u)
- if ((!%u) || (!$userlvl(%u))) { describe %target User not found! | return }
- var %level = $userlvl(%u)
- var %rank = $level.str(%level)
- var %line = $getname(%u) $+ $enclose(%rank) $+ : $iif(%level != 1,Vouched by $getname($user(%u).vouchedby) $+ $iif( $user(%u).voucheddate > 1 ,$enclose2($asctime($ifmatch,HH:nn:ss dd/mm/yy))) $+ $iif($user(%u).promoteby != x,$chr(44) Promoted by $getname($user(%u).promoteby)) $+ ;,Unvouched;)
- var %line = %line $iif($user(%u).inactive != $true,$iif($userlvl(%u) != 1,Rated $get.exprank(%u) $+ ( $+ $user(%u).rank $+ );),Inactive;)
- var %line = %line $iif($user(%u).rankonly != 0,Last game: $get.gamenamen($user(%u).lastgame) $+ ;)
- if ( %level >= 100 ) {
- %line = %line $level.str(90) $+ s: $iif($voucher(%u,manager) > 0,$get.usernamelist($voucher(%u,managerlist))) $+ $chr(91) $+ $voucher(%u,manager) $+ / $+ $maxvouch(%level,manager) $+ $chr(93) $+ .
- %line = %line $level.str(70) $+ s: $iif($voucher(%u,voucher) > 0,$get.usernamelist($voucher(%u,voucherlist))) $+ $chr(91) $+ $voucher(%u,voucher) $+ / $+ $maxvouch(%level,voucher) $+ $chr(93) $+ .
- %line = %line $level.str(50) $+ s: $iif($voucher(%u,censor) > 0,$get.usernamelist($voucher(%u,censorlist))) $+ $chr(91) $+ $voucher(%u,censor) $+ / $+ $maxvouch(%level,censor) $+ $chr(93) $+ .
- %line = %line $level.str(30) $+ s: $iif($voucher(%u,leader) > 0,$get.usernamelist($voucher(%u,leaderlist))) $+ $chr(91) $+ $voucher(%u,leader) $+ / $+ $maxvouch(%level,leader) $+ $chr(93) $+ .
- %line = %line $iif($voucher(%u,user),$voucher(%u,user),0) $+ / $+ $maxvouch(%level,user) vouchees.
- }
- elseif ( %level >= 90 ) {
- %line = %line $level.str(70) $+ s: $iif($voucher(%u,voucher) > 0,$get.usernamelist($voucher(%u,voucherlist))) $+ $chr(91) $+ $voucher(%u,voucher) $+ / $+ $maxvouch(%level,voucher) $+ $chr(93) $+ .
- %line = %line $level.str(50) $+ s: $iif($voucher(%u,censor) > 0,$get.usernamelist($voucher(%u,censorlist))) $+ $chr(91) $+ $voucher(%u,censor) $+ / $+ $maxvouch(%level,censor) $+ $chr(93) $+ .
- %line = %line $level.str(30) $+ s: $iif($voucher(%u,leader) > 0,$get.usernamelist($voucher(%u,leaderlist))) $+ $chr(91) $+ $voucher(%u,leader) $+ / $+ $maxvouch(%level,leader) $+ $chr(93) $+ .
- %line = %line $iif($voucher(%u,user),$voucher(%u,user),0) $+ / $+ $maxvouch(%level,user) vouchees.
- }
- elseif ( %level >= 70 ) {
- %line = %line $level.str(30) $+ s: $iif($voucher(%u,leader) > 0,$get.usernamelist($voucher(%u,leaderlist))) $+ $chr(91) $+ $voucher(%u,leader) $+ / $+ $maxvouch(%level,leader) $+ $chr(93) $+ .
- %line = %line $iif($voucher(%u,user),$voucher(%u,user),0) $+ / $+ $maxvouch(%level,user) vouchees.
- }
- elseif ( %level >= 50 ) {
- %line = %line $level.str(30) $+ s: $iif($voucher(%u,leader) > 0,$get.usernamelist($voucher(%u,leaderlist))) $+ $chr(91) $+ $voucher(%u,leader) $+ / $+ $maxvouch(%level,leader) $+ $chr(93) $+ .
- ;;%line = %line $iif($voucher(%u,user),$voucher(%u,user),0) $+ / $+ $maxvouch(%level,user) vouchees.
- }
- describe %target %line
- $iif($get.cfrank($user(%u).conf),$ifmatch)
- }
- on *:TEXT:.nick*:#: {
- if ((!%canreply) && ($userlvl2($nick) < 50 )) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- if ($2) { var %n = $2 }
- else { var %n = $nick }
- msg %target $iif($getname($getid2(%n)), $v1, User is not online)
- }
- on *:TEXT:.name*:#: {
- if ((!%canreply) && ($userlvl2($nick) < 50 )) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- if ($2) {
- var %n = $2
- var %n = $getid(%n)
- }
- else {
- var %n = $nick
- var %n = $getid2(%n)
- }
- msg %target $iif($nauth(%n), $v1, User is not online)
- }
- on *:TEXT:.whoareyou:#: {
- if ((!%canreply) && ($userlvl2($nick) < 50 )) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- describe %target I am The PZEliten BOT
- }
- ;########################
- ;##########################
- ;#######################
- ; DISALBEEEEEEEEEEEEEEEEED
- ;
- ;
- ;##########################
- alias mvouchees {
- if ($1) { var %u = $getid($1) }
- else { var %u = $getid2($nick) }
- write -c maelk.txt
- var %l = $hget(vouchdata,0).item
- var %i = 1
- var %n = 0
- var %un = 1
- while ( %i <= %l ) {
- var %item = $hget(vouchdata,%i).item
- if ( info. isin %item) {
- if ( $gettok($hget(vouchdata,%i).data,1,46) == %u ) {
- write maelk.txt $gettok(%item,2,46)
- }
- }
- inc %i
- }
- }
- on $*:TEXT:/^\.vouchee(s|s\s.*)$/:#: {
- if ((!%canreply) && ($userlvl2($nick) < 70 )) { return }
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- if ($2) { var %u = $getid($2) }
- else { var %u = $getid2($nick) }
- if ( $userlvl(%u) < 70 ) { return }
- var %man = $voucher(%u,managerlist)
- var %vou = $voucher(%u,voucherlist)
- var %cen = $voucher(%u,censorlist)
- var %lea = $voucher(%u,leaderlist)
- var %manl, %voul, %cenl, %leal, %usrl1, %adml
- var %l = $hget(vouchdata,0).item
- var %i = 1
- var %n = 0
- var %un = 1
- while ( %i <= %l ) {
- var %item = $hget(vouchdata,%i).item
- if ( info. isin %item) {
- if ( $gettok($hget(vouchdata,%i).data,1,46) == %u ) {
- var %name = $mid(%item,6,$calc($len(%item)-5))
- if ($userlvl(%name) >= 100 ) { var %adml = %adml $getname(%name) $+ $enclose(A) }
- elseif ($istok(%man,%name,46)) { var %manl = %manl $getname(%name) $+ $enclose(SM) }
- elseif ($istok(%vou,%name,46)) { var %voul = %voul $getname(%name) $+ $enclose(M) }
- elseif ($istok(%cen,%name,46)) { var %cenl = %cenl $getname(%name) $+ $enclose(C) }
- elseif ($istok(%lea,%name,46)) { var %leal = %leal $getname(%name) $+ $enclose(H) }
- else {
- if ($len($($+(%,usrl,%un),2)) > 400) {
- inc %un
- set %usrl $+ %un $null
- }
- ;;echo -ag UN -- NAME: %un -- $getname(%name)
- set %usrl $+ %un $($+(%,usrl,%un),2) $getname(%name)
- }
- inc %n
- }
- }
- inc %i
- }
- echo -ag ADDING LISTS
- var %listtokens = adml.manl.voul.cenl.leal.usrl1
- var %i = 2
- while (%i <= %un) {
- var %listtokens = $addtok(%listtokens,$+(usrl,$(%un)),46)
- inc %i
- }
- ;;;;;;;;;;;;;;;;;
- ;;echo -ag LISTTOKENS: %listtokens
- ;;;;;;;;;;;;;;;;;
- var %i = 1
- var %j = 1
- var %stop = 1
- var %l = $numtok(%listtokens,46)
- ;;;;;;;;;;;;;;;;;
- ;;echo -ag LIMIT %l
- ;;;;;;;;;;;;;;;;;
- var %list = $getname(%u) $+ 's vouchees $+ ( $+ %n $+ ):
- while (%i <= %l) {
- if (%stop > 10000) { return }
- var %curl = $($+(%,$gettok(%listtokens,%i,46)),2)
- ;;echo -ag CURL: %curl
- var %j = 1
- var %ll = $numtok(%curl,32)
- while (%j <= %ll) {
- if (%stop > 10000) { return }
- if ($len(%list) >= 780) {
- describe %target %list [more...]
- echo -ag -- %list [more...]
- var %list = $null
- }
- var %list = %list $gettok(%curl,%j,32)
- inc %j
- inc %stop
- }
- inc %i
- inc %stop
- }
- describe %target %list
- echo -ag -- %list
- ;;var %list = %adml %manl %voul %cenl %leal %usrl
- ;;describe %target $getname(%u) $+ 's vouchees $+ ( $+ %n $+ ): %list
- }
- /*
- while (%i <= %l) {
- if ($len(%list) >= 780) {
- describe %target %list [more...]
- var %list = $null
- }
- var %list = %list $enclose($pen(%pu,%i).type by $getname($pen(%pu,%i).author) - $pen(%pu,%i).date)
- inc %i
- }
- describe %target %list
- */
- /*
- 1000 - Newbie
- 1050 - Fair
- 1100 - Acceptable
- 1150 - Trustable
- 1250 - Great
- 1300 - Incredible
- 1350 - Violence
- 1400 - Rapist
- 1450 - HolyCrap
- 1500 - Satanic
- 1550 - Ohmygod
- 1600 - Godlike
- 1650 - DotaMaster
- 1700 - Zokky
- negative
- Lousy - Inefficient - Sickening - Burden - Jinx - wastred - Freelose - Getreadyforunvouch - Sucide
- deluxe has 21 wins, 30 losses, 1084 experience, ranked 121/521, Rated [Moderate];
- Current winning streak: 1 Confidence factor: Average
- */
- alias get.exprank {
- if ( $1 == pimpoo ) { return Baca }
- if ( $1 == Matoha ) { return Chobot }
- if ( $1 == tenerd-cz ) { return kicknator }
- if ( $1 == Kukajda ) { return the-basher-man }
- if ( $1 == slambik ) { return iR-HATER }
- if ( $1 == reifik ) { return Bilej pes }
- if ( $1 == NsNk ) { return Moralni vitez }
- if ( $1 == ervss ) { return LEGENDARY }
- if ( $1 == sundelin ) { return Svett }
- if ( $1 == Bergie ) { return fake afk }
- if ( $1 == thanzi ) { return fake afk }
- if ( $1 == Knuttiface ) { return Jack Bauer }
- var %g = $user($1).game
- if ( %g <= 8 ) {
- return Beginner
- }
- /*
- Promising - Reliable - Competent - Impressive -Talented - Skilled - Great
- - Unstoppable - Gifted - Phenominal - Masterful - Rapist - Godlike - Royalty - Badman
- Moderate - Weak - Poor - Feeder - Pathetic - hans2 - Maelk - Freelose - Cocksucker
- */
- var %e = $user($1).rank
- if ( %e <= 02 ) { return Sylar }
- elseif ( %e <= 03 ) { return Peter Petrelli }
- elseif ( %e <= 04 ) { return Michael Scofield }
- elseif ( %e <= 05 ) { return Hiro Nakamura }
- elseif ( %e <= 06 ) { return Claire Bennet }
- elseif ( %e <= 07 ) { return Matt Parkman }
- elseif ( %e <= 08 ) { return Niki Sanders }
- elseif ( %e <= 09 ) { return MacGyver }
- elseif ( %e <= 10 ) { return Hannibal }
- elseif ( %e <= 11 ) { return Lincoln Burrows }
- elseif ( %e <= 12 ) { return Isaac Mendez }
- elseif ( %e <= 13 ) { return Micah Sanders }
- elseif ( %e <= 14 ) { return Sayid Jarrah }
- elseif ( %e <= 15 ) { return T-Bag }
- elseif ( %e <= 16 ) { return Sucre }
- elseif ( %e <= 17 ) { return Sara Tancredi }
- elseif ( %e <= 18 ) { return Brad Bellick }
- elseif ( %e <= 19 ) { return Alex Mahone }
- elseif ( %e <= 20 ) { return Paul Kellerman }
- elseif ( %e <= 21 ) { return LJ }
- elseif ( %e <= 22 ) { return C-Note }
- elseif ( %e <= 23 ) { return Gretchen }
- elseif ( %e <= 24 ) { return General }
- elseif ( %e <= 25 ) { return Veronica Donovan }
- elseif ( %e <= 26 ) { return Henry Pope }
- elseif ( %e <= 27 ) { return Don Self }
- elseif ( %e <= 28 ) { return Louis Patterson }
- elseif ( %e <= 29 ) { return Abruzzi }
- elseif ( %e <= 30 ) { return Ari Gold }
- elseif ( %e <= 31 ) { return E }
- elseif ( %e <= 32 ) { return Nick Savrinn }
- elseif ( %e <= 33 ) { return Jin Soo Kwon }
- elseif ( %e <= 34 ) { return Keith Stolte }
- elseif ( %e <= 35 ) { return Caroline Reynolds }
- elseif ( %e <= 36 ) { return Bill Kim }
- elseif ( %e <= 37 ) { return Lloyd }
- elseif ( %e <= 38 ) { return James Whistler }
- elseif ( %e <= 39 ) { return McGrady }
- elseif ( %e <= 40 ) { return Noah Bennet }
- elseif ( %e <= 41 ) { return Doctor Suresh }
- elseif ( %e <= 42 ) { return Ando Masahashi }
- elseif ( %e <= 43 ) { return Nathan Petrelli }
- elseif ( %e <= 44 ) { return Angela Petrelli }
- elseif ( %e <= 45 ) { return Sandra Bennet }
- elseif ( %e <= 46 ) { return Hawkins }
- elseif ( %e <= 47 ) { return Daphne Millbrook }
- elseif ( %e <= 48 ) { return Molly Walker }
- elseif ( %e <= 49 ) { return Maya Herrera }
- elseif ( %e <= 50 ) { return Simone Deveaux }
- elseif ( %e <= 51 ) { return Adam Monroe }
- elseif ( %e <= 52 ) { return Elle Bishop }
- elseif ( %e <= 53 ) { return Kaito Nakamura }
- elseif ( %e <= 54 ) { return Bob Bishop }
- elseif ( %e <= 55 ) { return Linderman }
- elseif ( %e <= 56 ) { return Sarah Walker }
- elseif ( %e <= 57 ) { return Morgan Grimes }
- elseif ( %e <= 58 ) { return John Casey }
- elseif ( %e <= 59 ) { return Big Mike }
- elseif ( %e <= 60 ) { return Faceman }
- elseif ( %e <= 61 ) { return Turtle }
- elseif ( %e <= 62 ) { return Mr. T }
- elseif ( %e <= 63 ) { return Johnny drama }
- elseif ( %e <= 64 ) { return John Dorian }
- elseif ( %e <= 65 ) { return Bob Kelso }
- elseif ( %e <= 66 ) { return Perry Cox }
- elseif ( %e <= 67 ) { return Chris Turk }
- elseif ( %e <= 68 ) { return Jack Shephard }
- elseif ( %e <= 69 ) { return Sawyer }
- else { return Chuck Bartowski }
- }
- alias get.streakrank {
- if ( $1 >= 11 ) { var %r = Serial Killer }
- elseif ( $1 >= 9 ) { var %r = UNSTOPPABLE! }
- elseif ( $1 >= 7 ) { var %r = AWESOMENESS }
- elseif ( $1 >= 5 ) { var %r = Annihilation }
- elseif ( $1 >= 3 ) { var %r = Hattrick! }
- elseif ( $1 > -3 ) { var %r = $null }
- elseif ( $1 > -5 ) { var %r = Feeding Spree }
- elseif ( $1 > -7 ) { var %r = Humiliating }
- elseif ( $1 > -9 ) { var %r = Mega-Feed }
- elseif ( $1 > -11 ) { var %r = Cursed }
- else { var %r = Hopeless }
- if ( $1 > 0 ) { return Current winning streak: $1 $iif(%r,$enclose(%r)) }
- elseif ( $1 < 0 ) { return Current losing streak: $1 $iif(%r,$enclose(%r)) }
- else { return $null }
- }
- ;Lousy ,Poor, Fair, Average, Very good, Great, Heroic
- ;200 300 400 500 600 700 800
- alias get.cfrank {
- if ( $1 >= 800 ) { var %r = Heroic (800+) }
- elseif ( $1 >= 700 ) { var %r = Great (700+) }
- elseif ( $1 >= 600 ) { var %r = Very Good (600+) }
- elseif ( $1 >= 500 ) { var %r = Average (500+) }
- elseif ( $1 >= 400 ) { var %r = Fair (400+) }
- elseif ( $1 >= 300 ) { var %r = Poor (300+) }
- elseif ( $1 >= 200 ) { var %r = Lousy (200+) }
- else { var %r = Unvouched }
- return Confidence factor: %r
- }
- ;#########################################################
- ;#########################################################
- alias update.online.status {
- write -c lastupdate.txt $calc($ctime) $crlf
- ;32376 -- 3576
- write lastupdate.txt $nick(#das.pickup,0)
- write lastupdate.txt $numtok(%gamelist,46)
- run status.bat
- }
- on *:TEXT:!devoice:%ch: {
- if ($userlvl($auth($nick)) > 50 ) {
- sync.voice
- }
- }
- alias reinvite {
- var %l = $nick(#das.net,0)
- var %i = 1
- while (%i <= %l ) {
- if ( $auth($nick(#das.net,%i)) >= 10 ) {
- if ( $nick(#das.net,%i) !ison %ch ) {
- timer 1 $calc(%i * 2) invite $nick(#das.net,%i) %ch
- }
- }
- inc %i
- }
- }
- ;;;;;;;;;;;;;;;; set sig
- on *:TEXT:.setsig *:#: {
- var %u = $getid2($nick)
- if ($userlvl(%u) >= 10 ) {
- set %user.img_ $+ %u $2
- notice $nick Signature for user $getname(%u) set to theme $chr(35) $+ $2
- }
- }
- ;#########################################################
- ;#########################################################
- ; TIME BAN
- on *:TEXT:.timeban *:%ch, #nihl.no-staff: {
- var %u = $getid2($nick)
- if ($userlvl(%u) < $adminlvl ) { return }
- var %bu = $getid($2)
- if ($userlvl(%u) < $userlvl(%bu) ) { return }
- if (!%bu) { return }
- if ($3) { var %time = $int($3) }
- else { var %time = 10 }
- var %time = $calc(%time * 60)
- var %bantime = $calc($ctime + %time)
- set %timeban_ $+ %bu $calc($ctime + %time)
- describe #nihl.no-staff User $getname(%bu) has been banned. $iif($4,Reason: $4)
- if ($nauth(%bu)) {
- var %nick = $v1
- kick %ch %nick You are banned ( $+ Expires: $asctime(%bantime,HH:nn:ss dd/mm/yy) $+ )
- }
- }
- on *:TEXT:.ban *:#: {
- var %u = $getid2($nick)
- if ($userlvl(%u) < $adminlvl ) { return }
- var %bu = $getid($2)
- if ($userlvl(%u) < $userlvl(%bu) ) { return }
- if (!%bu) { return }
- if ($3) { var %time = $int($3) }
- else { var %time = 7 }
- AddPenalty %u %bu Ban %time $4-
- var %time = $calc(%time * 86400)
- var %bantime = $calc($ctime + %time)
- hadd pendata $+(ban.,%bu) %bantime
- describe #nihl.no-staff User $getname(%bu) has been banned. $iif($4,Reason: $4-)
- if ($nauth(%bu)) {
- var %nick = $v1
- kick %ch %nick You are banned ( $+ Expires: $asctime(%bantime,HH:nn:ss dd/mm/yy) $+ )
- }
- }
- on *:TEXT:battyboy:%ch: {
- var %u = $getid2($nick)
- /kick #ihl.no %u
- }
- on *:TEXT:.unban *:#: {
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid2($nick)
- if ($userlvl(%u) < $adminlvl ) { return }
- var %bu = $getid($2)
- if (!%bu) { return }
- AddPenalty %u %bu Unban $ctime
- hadd pendata $+(ban.,%bu) $ctime
- describe %target User $getname(%bu) has been unbanned
- }
- on *:TEXT:.banlist:#: {
- if ($chan) { var %target = $chan }
- else { var %target = $nick }
- var %u = $getid2($nick)
- if ( $userlvl(%u) < $adminlvl ) { return }
- var %i = 1
- var %l = $hfind(pendata,ban.*,0,w)
- var %list = $null
- while ( %i <= %l ) {
- var %item = $hfind(pendata,ban.*,%i,w)
- var %data = $hget(pendata,$hfind(pendata,ban.*,%i,w))
- var %bu = $getname($right(%item,-4))
- var %bt = %data
- if ($ctime < %bt) {
- var %list = %list $enclose(%bu - $asctime(%bt,HH:nn:ss dd/mm/yy))
- }
- inc %i
- }
- Describe %target %list
- }
- on *:TEXT:.record*:%ch: {
- if ($2 == streaks) {
- var %i = 1
- var %l = $hget(userdata,0).item
- while ( %i < %l ) { if ( $user($hget(userdata,%i).item).spree >= 5 ) { write sorting.txt $user($hget(userdata,%i).item).spree $user($hget(userdata,%i).item).name } | inc %i } | sortqdb sorting.txt sorting2.txt | $getstrkq | describe %ch Top Streaks: $iif(%getstr,%getstr,No Records) (Total: $lines(sorting2.txt) $+ ) | unset %getstr | write -c sorting2.txt
- }
- if ($2 == -streaks) {
- var %i = 1
- var %l = $hget(userdata,0).item
- while ( %i < %l ) { if ( $user($hget(userdata,%i).item).spree <= -5 ) { write sorting.txt $user($hget(userdata,%i).item).spree $user($hget(userdata,%i).item).name } | inc %i } | sortqdb sorting.txt sorting2.txt | $getstrkq2 | describe %ch Top -Streaks: $iif(%getstr2,%getstr2,No Records) (Total: $lines(sorting2.txt) $+ ) | unset %getstr2 | write -c sorting2.txt
- }
- }
- alias gosu {
- sockclose gosu
- sockopen gosu www.gosugamers.net 80
- if ($hget(gosu)) hfree $v1
- .enable #gosu
- }
- on *:sockopen:gosu: {
- sockwrite -n $sockname GET /dota HTTP/1.0
- sockwrite -n $sockname Host: www.gosugamers.net
- sockwrite -n $sockname $crlf
- }
- #gosu off
- on *:sockread:gosu: {
- var %r | sockread %r
- if (*<div class="last_top_alt">* iswm %r) && (!$sock($sockmark).mark) { sockmark $sockname 1 | hinc -m gosu match }
- elseif (*<div id='box_latest_gosubets_started_gosubets' >* iswm %r) && ($sock($sockname).mark) { .disable #gosu }
- if ($sock($sockname).mark) {
- if (*<img src="/bilder/flags_long/* iswm %r) { hadd -m gosu $hget(gosu,match) $+ .team $+ $hfind(gosu,$hget(gosu,match) $+ .team*,0,w) $remove($gettok(%r,-1,32), ) }
- elseif (*<div style="float:clear;font-size:10px;">* iswm %r) { hadd -m gosu $hget(gosu,match) $+ .time $remove(%r,<div style="float:clear;font-size:10px;">,</div>, ) | hinc -m gosu match }
- }
- }
- #gosu end
- on *:SOCKCLOSE:gosu:{
- var %x = 1
- while ($hget(gosu,%x $+ .team0)) {
- .describe %ch 4 $+ $hget(gosu,%x $+ .team0) 6vs1.12 $hget(gosu,%x $+ .team1) 6time:3 $hget(gosu,%x $+ .time)
- inc %x
- }
- }
- on *:TEXT:.gosugamers*:%ch: {
- if ($auth($me) == IHL-NO1) && (!$timer(gosuabuse)) { gosu | .timergosuabuse 1 20 //echo done }
- }
- ################################################################################################
- alias gosutm {
- sockclose gosutm
- sockopen gosutm www.gosugamers.net 80
- if ($hget(gosutm)) hfree $v1
- .enable #gosutm
- }
- on *:sockopen:gosutm: {
- sockwrite -n $sockname GET /dota HTTP/1.0
- sockwrite -n $sockname Host: www.gosugamers.net
- sockwrite -n $sockname $crlf
- }
- #gosutm off
- on *:sockread:gosutm: {
- var %r | sockread %r
- if (*<div class="last_top_alt">* iswm %r) && (!$sock($sockmark).mark) { sockmark $sockname 1 | hinc -m gosutm match }
- elseif (*<div id='box_latest_gosubets_started_gosubets' >* iswm %r) && ($sock($sockname).mark) { .disable #gosutm }
- if ($sock($sockname).mark) {
- if (*<img src="/bilder/flags_long/* iswm %r) { hadd -m gosutm $hget(gosu,match) $+ .team $+ $hfind(gosu,$hget(gosutm,match) $+ .team*,0,w) $remove($gettok(%r,-1,32), ) }
- elseif (*<div style="float:clear;font-size:10px;">* iswm %r) { hadd -m gosutm $hget(gosu,match) $+ .time $remove(%r,<div style="float:clear;font-size:10px;">,</div>, ) | hinc -m gosutm match }
- }
- }
- #gosutm end
- on *:SOCKCLOSE:gosutm:{
- var %x = 1
- while ($hget(gosu,%x $+ .team0)) {
- .describe #dota.tm 4 $+ $hget(gosu,%x $+ .team0) 6vs1.12 $hget(gosu,%x $+ .team1) 6time:3 $hget(gosu,%x $+ .time)
- inc %x
- }
- }
- on *:TEXT:.gosu:#dota.tm: {
- if ($auth($me) == IHL-NO1) && (!$timer(gosutmabuse)) { gosutm | .timergosutmabuse 1 1 //echo done }
- }
- on *:TEXT:.noob:#: {
- /describe %ch The only noob here is QUITY^-^
- }
- ;#########################################################
- ;#########################################################
- ; CHANNEL MSG
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement