[script] n0=;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx n1=; 1.- Nombre: OrioN n2=; 2.- Versión: v5.9 n3=; 3.- Autor: Javier Fernández Rivera n4=; 4.- Web: http://www.ircorion.net n5=; 5.- Mail: script@ircorion.net n11=;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx n12= n13=;dialog para estadisticas de usuario contacc============= n14=on 1:dialog:contacc:init:*: { n15= sorion intro n16= did -a contacc 13 $readini($mircdirsistema\stats\stats.ini,stats,conex) n17= did -a contacc 15 $readini($mircdirsistema\stats\stats.ini,stats,lag) n18= did -a contacc 17 $readini($mircdirsistema\stats\stats.ini,stats,join) n19= did -a contacc 19 $readini($mircdirsistema\stats\stats.ini,stats,part) n20= did -a contacc 21 $readini($mircdirsistema\stats\stats.ini,stats,op) n21= did -a contacc 23 $readini($mircdirsistema\stats\stats.ini,stats,deop) n22= did -a contacc 25 $readini($mircdirsistema\stats\stats.ini,stats,opme) n23= did -a contacc 27 $readini($mircdirsistema\stats\stats.ini,stats,deopme) n24= did -a contacc 29 $readini($mircdirsistema\stats\stats.ini,stats,voice) n25= did -a contacc 31 $readini($mircdirsistema\stats\stats.ini,stats,voiceme) n26= did -a contacc 33 $readini($mircdirsistema\stats\stats.ini,stats,kick) n27= did -a contacc 35 $readini($mircdirsistema\stats\stats.ini,stats,kickme) n28= did -a contacc 37 $readini($mircdirsistema\stats\stats.ini,stats,ban) n29= did -a contacc 39 $readini($mircdirsistema\stats\stats.ini,stats,banme) n30= did -a contacc 41 $readini($mircdirsistema\stats\stats.ini,stats,filesend) n31= did -a contacc 43 $readini($mircdirsistema\stats\stats.ini,stats,fileget) n32= did -a contacc 45 $readini($mircdirsistema\stats\stats.ini,stats,whois) n33= did -a contacc 47 $readini($mircdirsistema\stats\stats.ini,stats,conexin) n34= did -a contacc 49 $readini($mircdirsistema\stats\stats.ini,stats,tonline) n35= did -a contacc 51 $readini($mircdirsistema\stats\stats.ini,stats,start) n36=} n37=on 1:dialog:contacc:sclick:1: { sorion ok } n38=on 1:dialog:contacc:*:3: { editvarstarts edit } n39=on 1:dialog:contacc:*:5: { editvarstarts allcero } n40=on 1:dialog:contacc:*:7: { seevarstarts %winactive } n41=on 1:dialog:contacc:*:9: { seevarstarts #$$?="Nombre del canal (sin #)" } n42=on 1:dialog:contacc:*:61:{ .timer 1 1 dialog -m contacc contacc } n43=;usuario nicks mails web============================== n44=on 1:dialog:usuario:init:*:{ n45= sorion intro n46= did -a $dname 6 %nick0 n47= did -a $dname 7 %nick1 n48= did -a $dname 8 %nick2 n49= did -a $dname 9 %nick3 n50= did -a $dname 11 %nick4 n51= did -a $dname 12 %nick5 n52= did -a $dname 13 %nick6 n53= did -a $dname 14 %nick7 n54= did -a $dname 26 %web0 n55= did -a $dname 27 %web1 n56= did -a $dname 28 %web2 n57= did -a $dname 29 %web3 n58= did -a $dname 31 %web4 n59= did -a $dname 32 %web5 n60= did -a $dname 33 %web6 n61= did -a $dname 34 %web7 n62= did -a $dname 16 %email0 n63= did -a $dname 17 %email1 n64= did -a $dname 18 %email2 n65= did -a $dname 19 %email3 n66= did -a $dname 21 %email4 n67= did -a $dname 22 %email5 n68= did -a $dname 23 %email6 n69= did -a $dname 24 %email7 n70=} n71=on 1:dialog:usuario:sclick:1:{ sorion ok } n72=on 1:dialog:usuario:edit:*:{ n73= if ($did == 6) { %nick0 = $did($dname,$did).text } n74= if ($did == 7) { %nick1 = $did($dname,$did).text } n75= if ($did == 8) { %nick2 = $did($dname,$did).text } n76= if ($did == 9) { %nick3 = $did($dname,$did).text } n77= if ($did == 11) { %nick4 = $did($dname,$did).text } n78= if ($did == 12) { %nick5 = $did($dname,$did).text } n79= if ($did == 13) { %nick6 = $did($dname,$did).text } n80= if ($did == 14) { %nick7 = $did($dname,$did).text } n81= if ($did == 16) { %email0 = $did($dname,$did).text } n82= if ($did == 17) { %email1 = $did($dname,$did).text } n83= if ($did == 18) { %email2 = $did($dname,$did).text } n84= if ($did == 19) { %email3 = $did($dname,$did).text } n85= if ($did == 21) { %email4 = $did($dname,$did).text } n86= if ($did == 22) { %email5 = $did($dname,$did).text } n87= if ($did == 23) { %email6 = $did($dname,$did).text } n88= if ($did == 24) { %email7 = $did($dname,$did).text } n89= if ($did == 26) { %web0 = $did($dname,$did).text } n90= if ($did == 27) { %web1 = $did($dname,$did).text } n91= if ($did == 28) { %web2 = $did($dname,$did).text } n92= if ($did == 29) { %web3 = $did($dname,$did).text } n93= if ($did == 31) { %web4 = $did($dname,$did).text } n94= if ($did == 32) { %web5 = $did($dname,$did).text } n95= if ($did == 33) { %web6 = $did($dname,$did).text } n96= if ($did == 34) { %web7 = $did($dname,$did).text } n97=} n98= n99=on 1:dialog:userlist:init:*: { n100= sorion intro n101= inicdll n102= dll $dllmdx SetControlMDX $dname 3 listview rowselect grid showsel single flatsb labeltip headerdrag report > $dllviews n103= did -i $dname 3 1 header @150,230 Nick/Mask $chr(9) Información adicional n104= dll $dllmdx SetControlMDX $dname 46 listview rowselect grid showsel single flatsb labeltip headerdrag report > $dllviews n105= did -i $dname 46 1 header @100,50,240 Tipo $chr(9) Nivel $chr(9) Explicación n106= if ($group(#userlist) == on) { did -c userlist 9 } n107= if ($len(%userlistcanals) == 1) { did -c userlist 22 | did -b userlist 24 } n108= else { did -c userlist 23 | did -a userlist 24 %userlistcanals } n109= userlistload n110=} n111= n112=on 1:dialog:userlist:edit:12: { did -r userlist 17,14 | did -a userlist 17 $did(userlist,12) } n113=on 1:dialog:userlist:edit:14: { n114= did -r userlist 17 n115= if ($did(userlist,12).text) { did -a userlist 17 $did(userlist,12) $+ ! $+ $did(userlist,14).text } n116= else { did -a userlist 17 *! $+ $did(userlist,14).text } n117=} n118=on 1:dialog:userlist:sclick:19: { n119= sorion whois n120= userlistinfoedit Añadiendo nuevo usuario de acceso remoto. ( $+ $did(userlist,17).text $+ ) n121= %d = $userlistlevels(1,28,190) $userlistlevels(1,29,130) $userlistlevels(1,30,180) $userlistlevels(1,31,140) $userlistlevels(1,32,120) $userlistlevels(1,33,110) $userlistlevels(1,34,240) $userlistlevels(1,35,290) n122= %d = %d $userlistlevels(1,37,330) $userlistlevels(1,38,310) $userlistlevels(1,39,340) $userlistlevels(1,40,320) $userlistlevels(1,41,360) $userlistlevels(1,42,350) $userlistlevels(1,43,370) $userlistlevels(1,44,390) n123= %d = $replace(%d,$chr(32),$chr(300)) n124= if (%d) { n125= %i = $input(Usuario: $did(userlist,17).text $crlf $+ Frase: Para uso informativo (opcional). $crlf $+ Desea añadirle una frase informativa?,1) n126= .ruser $did(userlist,17).text n127= auser -a 1, $+ %d $did(userlist,17).text %i n128= } n129= else { informo ERROR: Debes escribir nick/mask e incluirle algun nivel, para esto acude a la solapa "modos" o "peticiones" y selecciona las que desees. Gracias ;) } n130= unset %d %i | did -r userlist 17,12,14 | userlistload n131= dialog -m userlist userlist n132=} n133=on 1:dialog:userlist:sclick:20: { n134= sorion cancel n135= userlistinfoedit Eliminando usuario de acceso remoto. ( $+ $did(userlist,17).text $+ ) n136= ruser $did(userlist,17).text | unset %d %i | did -r userlist 17,12,14 | userlistload | did -r userlist 17,12,14 n137=} n138=on 1:dialog:userlist:sclick:9: { n139= if ($did(userlist,9).state == 1) { .enable #userlist | sorion conex } n140= else { .disable #userlist | sorion quit } n141=} n142=on 1:dialog:userlist:sclick:22: did -b userlist 24 | %userlistcanals = $chr(35) n143=on 1:dialog:userlist:sclick:23: did -e userlist 24 | %userlistcanals = $did(userlist,24).text n144=on 1:dialog:userlist:edit:24: %userlistcanals = $did(userlist,24).text n145=on 1:dialog:userlist:sclick:50: { n146= if (!$did(userlist,12)) { informo Debes especificar el nick del usuario primero | halt } n147= who $did(userlist,12) n148= dns $did(userlist,12) n149= .timer 1 2 did -ra userlist 14 $address($did(userlist,12),5) n150= sorion espera n151=} n152=on 1:dialog:userlist:sclick:3: { n153= %h = $remove($remove($did(userlist,3,$did(userlist,3).sel).text,$chr(9) $+ 0),- 0) n154= if (%h) { n155= did -r,a userlist 17 $gettok(%h,1,32) n156= userlistinfoedit Nivel/s: $level($gettok(%h,1,32)) n157= } n158= did -ra userlist 12 $gettok($did(userlist,17).text,1,33) n159= did -ra userlist 14 $gettok($did(userlist,17).text,2,33) n160= unset %h n161=} n162=on 1:dialog:userlist:sclick:45: { n163= %f = sistema\userlist\userlist.txt | %n = 5 n164= while ($read(%f,%n)) { n165= did -a userlist 46 $gettok($read(%f,%n),1,183) $chr(9) $gettok($read(%f,%n),2,183) $chr(9) $gettok($read(%f,%n),3,183) n166= inc %n n167= } n168= unset %n %f n169=} n170=on 1:dialog:userlist:sclick:26: { informo Ver/Editar fichero UserList.ini $crlf $+ ------------------------------------------------------------------ $crlf $+ En breve se auto-ejecutara el fichero que contiene los usuarios de acceso remoto. $crlf $+ En el fichero podra ver sus niveles, ademas de poder editarlos, si decide editar siga la sintaxis y hagalo con cuidado. Gracias ;) | .timer 1 15 run sistema\userlist\userlist.ini } n171=on 1:dialog:userlist:dclick:46: ulist $gettok($did(userlist,46,$did(userlist,46).sel).text,5,32) | sorion check n172=on 1:dialog:userlist:sclick:25: { informo Si deseas que las acciones en las que entran en juego un canal y un usuario de la lista de usuarios con acceso funcione unicamente en unos canales concretos, pero no en todos, escribe un canal tras otro, separados por comas y con su signo identificativo "#" } n173=on 1:dialog:userlist:sclick:51: { informo Con esta aplicacion puedes automatizar ciertas acciones con los usuarios, dependiendo del nivel que les des, el OrioN actuara de una forma u otra. $crlf $+ Esta aplicación solo funciona si insertas una direccion (address) completa de tipo 5. Esto es, su nick y mask/host entero. $crlf $+ Para insertar un usuario primero escribe su nick, luego pulsa el boton userhost, copia el userhost resuelto de la ventana de estado, pegalo en el apartado "mascara", luego seleccinas los niveles, y añades. } n174=on 1:dialog:userlist:sclick:1: { sorion ok } n175= n176=;eventos ======== n177=#userlist on n178=;autop al join n179=on @+190:join:%userlistcanals: { n180= %r1 = $nick | %r2 = $clevel n181= mode # +o $nick n182= echo -s $oriontheme(sUserlistJoinOp) n183= .ctcp $nick UR $oriontheme(sUserlistJoinOp) n184=} n185=;autovoz al join n186=on @+180:join:%userlistcanals: { n187= %r1 = $nick | %r2 = $clevel n188= mode # +v $nick n189= echo -s $oriontheme(sUserlistJoinVoz) n190= .ctcp $nick UR $oriontheme(sUserlistJoinVoz) n191=} n192=;bankick al join n193=on @+110:join:%userlistcanals: { n194= %r1 = $nick | %r2 = $clevel n195= mode # +b $address($nick,2) n196= kick # $nick 2U1serRemoto [4Kick1] n197= echo -s $oriontheme(sUserlistBanKick) n198= .ctcp $nick UR $oriontheme(sUserlistBanKick) n199=} n200=on @1:op:%userlistcanals: { n201= if (130 isin $level($address($opnick,5))) { n202= %r1 = $opnick | %r2 = $level($address($opnick,5)) n203= mode # -o $opnick n204= echo -s $oriontheme(sUserlistDeop) n205= .ctcp $opnick UR $oriontheme(sUserlistDeop) n206= } n207= if (120 isin $level($address($opnick,5))) { n208= %r1 = $opnick | %r2 = $level($address($opnick,5)) n209= kick # $opnick 2U1serRemoto [4Kick1] n210= echo -s $oriontheme(sUserlistKick) n211= .ctcp $opnick UR $oriontheme(sUserlistKick) n212= } n213= if (110 isin $level($address($opnick,5))) { n214= %r1 = $opnick | %r2 = $level($address($opnick,5)) n215= mode # +b $address($opnick,2) n216= kick # $opnick 2U1serRemoto [4Kick1] n217= echo -s $oriontheme(sUserlistBanKick) n218= .ctcp $opnick UR $oriontheme(sUserlistBanKick) n219= } n220=} n221=on @1:voice:%userlistcanals: { n222= if (140 isin $level($address($vnick,5))) { n223= %r1 = $vnick | %r2 = $level($address($vnick,5)) n224= mode # -v $vnick n225= echo -s $oriontheme(sUserlistDeVoz) n226= .ctcp $vnick UR $oriontheme(sUserlistDeVoz) n227= } n228= if (120 isin $level($address($vnick,5))) { n229= %r1 = $vnick | %r2 = $level($address($vnick,5)) n230= kick # $vnick 2U1serRemoto [4Kick1] n231= echo -s $oriontheme(sUserlistKick) n232= .ctcp $vnick UR $oriontheme(sUserlistKick) n233= } n234= if (110 isin $level($address($vnick,5))) { n235= %r1 = $vnick | %r2 = $level($address($vnick,5)) n236= mode # +b $address($vnick,2) n237= kick # $vnick 2U1serRemoto [4Kick1] n238= echo -s $oriontheme(sUserlistBanKick) n239= .ctcp $vnick UR $oriontheme(sUserlistBanKick) n240= } n241=} n242=;protegido----------------------------------------------------------- n243=on @1:devoice:%userlistcanals: { n244= if (240 isin $level($address($vnick,5))) { n245= %r1 = $vnick | %r2 = $level($address($vnick,5)) n246= mode # -o $nick n247= echo -s $oriontheme(sUserlistDeop) n248= .ctcp $vnick UR $oriontheme(sUserlistDeop) n249= } n250=} n251=on @1:deop:%userlistcanals: { n252= if (240 isin $level($address($opnick,5))) { n253= %r1 = $opnick | %r2 = $level($address($opnick,5)) n254= kick # $nick 2U1serRemoto [4Kick1] n255= echo -s $oriontheme(sUserlistKick) n256= .ctcp $opnick UR $oriontheme(sUserlistKick) n257= } n258=} n259=on @1:kick:%userlistcanals: { n260= if (240 isin $level($address($knick,5))) { n261= %r1 = $knick | %r2 = $level($address($knick,5)) n262= invite $knick # n263= mode # +b $address($nick,2) n264= kick # $nick 2U1serRemoto [4BanKick1] n265= echo -s $oriontheme(sUserlistBanKick) n266= .ctcp $opnick UR $oriontheme(sUserlistBanKick) n267= } n268=} n269= n270=on @330:text:!op*:%userlistcanals: { n271= %r1 = $nick | %r2 = $clevel | %r3 = $1- n272= mode # +o $nick n273= echo -s $oriontheme(sUserlistPeticion) n274= .ctcp $nick UR $oriontheme(sUserlistPeticion) n275=} n276=on @310:text:!voz*:%userlistcanals: { n277= %r1 = $nick | %r2 = $clevel | %r3 = $1- n278= mode # +v $nick n279= echo -s $oriontheme(sUserlistPeticion) n280= .ctcp $nick UR $oriontheme(sUserlistPeticion) n281=} n282=on @320:text:!invite*:%userlistcanals: { n283= %r1 = $nick | %r2 = $clevel | %r3 = $1- n284= invite $nick $2 n285= echo -s $oriontheme(sUserlistPeticion) n286= .ctcp $nick UR $oriontheme(sUserlistPeticion) n287=} n288=on @340:text:!fservme:%userlistcanals: { n289= %r1 = $nick | %r2 = $clevel | %r3 = $1- n290= .timer 1 1 openfservorion $nick n291= echo -s $oriontheme(sUserlistPeticion) n292= .ctcp $nick UR $oriontheme(sUserlistPeticion) n293=} n294=on @360:text:!deop*:%userlistcanals: { n295= %r1 = $nick | %r2 = $clevel | %r3 = $1- n296= mode # -o $3 n297= echo -s $oriontheme(sUserlistPeticion) n298= .ctcp $nick UR $oriontheme(sUserlistPeticion) n299=} n300=on @350:text:!devoz*:%userlistcanals: { n301= %r1 = $nick | %r2 = $clevel | %r3 = $1- n302= mode # -v $3 n303= echo -s $oriontheme(sUserlistPeticion) n304= .ctcp $nick UR $oriontheme(sUserlistPeticion) n305=} n306=on @370:text:!kick*:%userlistcanals: { n307= %r1 = $nick | %r2 = $clevel | %r3 = $1- n308= kick # $3 2U1serRemoto [4Petición Kick1] n309= echo -s $oriontheme(sUserlistPeticion) n310= .ctcp $nick UR $oriontheme(sUserlistPeticion) n311=} n312=on @390:text:!ban*:%userlistcanals: { n313= %r1 = $nick | %r2 = $clevel | %r3 = $1- n314= mode # +b $address($3,2) n315= kick # $3 2U1serRemoto [4Petición BanKick1] n316= echo -s $oriontheme(sUserlistPeticion) n317= .ctcp $nick UR $oriontheme(sUserlistPeticion) n318=} n319=#userlist end n320= n321=;eventos del dialog anti floods=========================== n322=on 1:dialog:antiflood:sclick:5:{ antifloodsetreg boton $did floods tflood1 } n323=on 1:dialog:antiflood:sclick:6:{ antifloodsetreg boton $did floods tflood2 } n324=on 1:dialog:antiflood:sclick:7:{ antifloodsetreg boton $did floods tflood3 } n325=on 1:dialog:antiflood:sclick:8:{ antifloodsetreg boton $did floods tflood4 } n326=on 1:dialog:antiflood:sclick:9:{ antifloodsetreg boton $did floods tflood5 } n327=on 1:dialog:antiflood:sclick:10:{ antifloodsetreg boton $did floods tflood6 } n328=on 1:dialog:antiflood:sclick:11:{ antifloodsetreg boton $did floods tflood7 } n329=on 1:dialog:antiflood:sclick:12:{ antifloodsetreg boton $did floods tflood8 } n330=on 1:dialog:antiflood:sclick:13:{ antifloodsetreg boton $did floods tflood9 } n331=on 1:dialog:antiflood:sclick:14:{ antifloodsetreg boton $did floods tflood10 } n332=on 1:dialog:antiflood:sclick:15:{ antifloodsetreg boton $did floods tflood11 } n333=on 1:dialog:antiflood:sclick:16:{ antifloodsetreg boton $did floods tflood12 } n334=on 1:dialog:antiflood:edit:17:{ antifloodsetreg edit $did floods eflood1 $did $did(antiflood,$did).text } n335=on 1:dialog:antiflood:edit:18:{ antifloodsetreg edit $did floods eflood2 $did $did(antiflood,$did).text } n336=on 1:dialog:antiflood:edit:19:{ antifloodsetreg edit $did floods eflood3 $did $did(antiflood,$did).text } n337=on 1:dialog:antiflood:edit:20:{ antifloodsetreg edit $did floods eflood4 $did $did(antiflood,$did).text } n338=on 1:dialog:antiflood:edit:21:{ antifloodsetreg edit $did floods eflood5 $did $did(antiflood,$did).text } n339=on 1:dialog:antiflood:edit:22:{ antifloodsetreg edit $did floods eflood6 $did $did(antiflood,$did).text } n340=on 1:dialog:antiflood:edit:23:{ antifloodsetreg edit $did floods eflood7 $did $did(antiflood,$did).text } n341=on 1:dialog:antiflood:edit:24:{ antifloodsetreg edit $did floods eflood8 $did $did(antiflood,$did).text } n342=on 1:dialog:antiflood:edit:25:{ antifloodsetreg edit $did floods eflood9 $did $did(antiflood,$did).text } n343=on 1:dialog:antiflood:edit:26:{ antifloodsetreg edit $did floods eflood10 $did $did(antiflood,$did).text } n344=on 1:dialog:antiflood:sclick:52:{ antifloodsetreg boton $did acciones ignore } n345=on 1:dialog:antiflood:sclick:54:{ antifloodsetreg edit $did acciones ignoretime $did $did(antiflood,$did).text } n346=on 1:dialog:antiflood:sclick:56:{ antifloodsetreg boton $did acciones ofensiva1 } n347=on 1:dialog:antiflood:sclick:57:{ antifloodsetreg boton $did acciones ofensiva2 } n348=on 1:dialog:antiflood:sclick:58:{ antifloodsetreg boton $did acciones ofensiva3 } n349=on 1:dialog:antiflood:sclick:59:{ antifloodsetreg boton $did acciones ofensiva4 } n350=on 1:dialog:antiflood:sclick:266:{ antifloodsetreg boton $did acciones ofensiva5 } n351=on 1:dialog:antiflood:sclick:1:{ %floodscanal = $gettok($read(sistema\PFlood\floodconf.ini,w,ecanalsflood=*),2,61) | sorion ok } n352=on 1:dialog:antiflood:sclick:303:{ n353= writeini sistema\PFlood\floodconf.ini floods ecanalsflood1 303 n354= writeini sistema\PFlood\floodconf.ini floods ecanalsflood $chr(35) n355=} n356=on 1:dialog:antiflood:sclick:304:{ n357= writeini sistema\PFlood\floodconf.ini floods ecanalsflood1 304 n358= writeini sistema\PFlood\floodconf.ini floods ecanalsflood $did(antiflood,305).text n359=} n360=on 1:dialog:antiflood:edit:305:{ antifloodsetreg edit $did floods ecanalsflood2 $did $did(antiflood,$did).text } n361= n362=on 1:dialog:antiflood:edit:60:{ n363= %p = $read(sistema\PFlood\floodconf.ini,w,msgaviso*) | %p = $readn n364= write -l $+ %p sistema\PFlood\floodconf.ini msgaviso= $+ $did(antiflood,$did).text n365= unset %p n366=} n367=on 1:dialog:antiflood:sclick:30:{ informo Chekea y se activa contando el numero de veces (líneas) que el usuario manda con el mismo texto. } n368=on 1:dialog:antiflood:sclick:31:{ informo Se activa cuando el usuario introduce un numero de lineas segidas. } n369=on 1:dialog:antiflood:sclick:32:{ informo Se activa cuando el usuario introduce en una sola linea un numero mayor de caracteres. } n370=on 1:dialog:antiflood:sclick:33:{ informo Se activa si el usuario procesa demasiados cambios de modo o acciones, tipo: deop, kick, nick, etc. } n371=on 1:dialog:antiflood:sclick:34:{ informo Se activa si el usuario te envia demasiados notices. } n372=on 1:dialog:antiflood:sclick:35:{ informo Se activa cuando el usuario procesa demasiados invites a tu nick. } n373=on 1:dialog:antiflood:sclick:36:{ informo Se activa si eres nombrado por el mismo usuario de forma repetida un tanto de veces. } n374=on 1:dialog:antiflood:sclick:37:{ informo Se activa cuando un usuario procesa sobre ti de forma repetida DCCs. } n375=on 1:dialog:antiflood:sclick:38:{ informo Se activa cuando el usuario realiza demasiados CTCPs sobre tu nick. Sea cual sea su tipo. } n376=on 1:dialog:antiflood:sclick:39:{ informo Se activara cuando el usuario te escanea o intenta realizar conexiones entrantes a tu IP, de forma constante y repetida. Ya sea por el puerto del netbus (12345), o el ftp, backorifice, win95, etc. } n377=on 1:dialog:antiflood:sclick:40:{ informo Se activa al detectar un ataque del tipo DCC-Locker, en la que el usuario intenta enviar de forma excesiva mensajes sin control a un DCC-ChaT abierto con el. } n378=on 1:dialog:antiflood:sclick:41:{ informo Se activara al detectar un ataque del tipo COM/COM (bug windows). O cualquier de sus variantes. } n379=on 1:dialog:antiflood:sclick:61:{ n380= if ($did(antiflood,$did).state == 1) { sorion conex | .enable #antiflood } n381= else { sorion quit | .disable #antiflood } n382=} n383=on 1:dialog:antiflood:sclick:80:{ antifloodstat ver | sorion check } n384=on 1:dialog:antiflood:sclick:106:{ n385= sorion espera n386= msg %winactive %txtscript OrioN - FloodStat n387= antifloodstat mostrar n388=} n389=on 1:dialog:antiflood:sclick:107:{ n390= if ($$?!="Esta seguro de inicializar a cero todas las estadisticas de floods localizados") { antifloodstat reset | .timer 1 1 antifloodstat ver | sorion cancel } n391=} n392=on 1:dialog:antiflood:sclick:134:{ antifloodstat ver } n393=on 1:dialog:antiflood:sclick:200:{ apf } n394=on 1:dialog:antiflood:sclick:201:{ dpf } n395=on 1:dialog:antiflood:sclick:202:{ chb } n396=on 1:dialog:antiflood:sclick:203:{ maxl } n397=on 1:dialog:antiflood:sclick:204:{ maxlp } n398=on 1:dialog:antiflood:sclick:205:{ igu } n399=on 1:dialog:antiflood:sclick:206:{ sflood } n400=on 1:dialog:antiflood:init:*:{ n401= sorion intro n402= did -a antiflood 54 5 n403= did -a antiflood 54 10 | did -a antiflood 54 20 | did -a antiflood 54 40 | did -a antiflood 54 60 | did -a antiflood 54 100 | did -a antiflood 54 140 | did -a antiflood 54 180 | did -a antiflood 54 200 | did -a antiflood 54 250 | did -a antiflood 54 300 | did -a antiflood 54 350 | did -a antiflood 54 500 n404= %f = sistema\PFlood\floodconf.ini n405= did -c antiflood $readini(%f,floods,ecanalsflood1) n406= did -a antiflood 305 $readini(%f,floods,ecanalsflood2) n407= if ($readini(%f,floods,tflood1) == on) { did -c antiflood 5 } n408= if ($readini(%f,floods,tflood2) == on) { did -c antiflood 6 } n409= if ($readini(%f,floods,tflood3) == on) { did -c antiflood 7 } n410= if ($readini(%f,floods,tflood4) == on) { did -c antiflood 8 } n411= if ($readini(%f,floods,tflood5) == on) { did -c antiflood 9 } n412= if ($readini(%f,floods,tflood6) == on) { did -c antiflood 10 } n413= if ($readini(%f,floods,tflood7) == on) { did -c antiflood 11 } n414= if ($readini(%f,floods,tflood8) == on) { did -c antiflood 12 } n415= if ($readini(%f,floods,tflood9) == on) { did -c antiflood 13 } n416= if ($readini(%f,floods,tflood10) == on) { did -c antiflood 14 } n417= if ($readini(%f,floods,tflood11) == on) { did -c antiflood 15 } n418= if ($readini(%f,floods,tflood12) == on) { did -c antiflood 16 } n419= if ($readini(%f,acciones,ignore) == on) { did -c antiflood 52 } n420= if ($readini(%f,acciones,ofensiva1) == on) { did -c antiflood 56 } n421= if ($readini(%f,acciones,ofensiva2) == on) { did -c antiflood 57 } n422= if ($readini(%f,acciones,ofensiva3) == on) { did -c antiflood 58 } n423= if ($readini(%f,acciones,ofensiva4) == on) { did -c antiflood 59 } n424= did -c antiflood 54 $didwm(antiflood,54,$readini(sistema\PFlood\floodconf.ini,acciones,ignoretime)) n425= if ($readini(%f,floods,eflood1) != off) { did -a antiflood 17 $readini(%f,floods,eflood1) } n426= if ($readini(%f,floods,eflood2) != off) { did -a antiflood 18 $readini(%f,floods,eflood2) } n427= if ($readini(%f,floods,eflood3) != off) { did -a antiflood 19 $readini(%f,floods,eflood3) } n428= if ($readini(%f,floods,eflood4) != off) { did -a antiflood 20 $readini(%f,floods,eflood4) } n429= if ($readini(%f,floods,eflood5) != off) { did -a antiflood 21 $readini(%f,floods,eflood5) } n430= if ($readini(%f,floods,eflood6) != off) { did -a antiflood 22 $readini(%f,floods,eflood6) } n431= if ($readini(%f,floods,eflood7) != off) { did -a antiflood 23 $readini(%f,floods,eflood7) } n432= if ($readini(%f,floods,eflood8) != off) { did -a antiflood 24 $readini(%f,floods,eflood8) } n433= if ($readini(%f,floods,eflood9) != off) { did -a antiflood 25 $readini(%f,floods,eflood9) } n434= if ($readini(%f,floods,eflood10) != off) { did -a antiflood 26 $readini(%f,floods,eflood10) } n435= if ($readini(%f,acciones,ofensiva5) != off) { did -c antiflood 266 $readini(%f,acciones,ofensiva6) } n436= if ($gettok($read(%f,w,msgaviso*),2,61) != off) { did -a antiflood 60 $gettok($read(%f,w,msgaviso*),2,61) } n437= if ($group(#antiflood) == on) { did -c antiflood 61 } n438= unset %f n439=} n440=on 1:dialog:antiflood:sclick:1:{ sorion ok } n441=on 1:dialog:antiflood:sclick:2:{ sorion check } n442=on 1:dialog:antiflood:sclick:3:{ sorion check } n443=on 1:dialog:antiflood:sclick:300:{ sorion check } n444= n445=;EVENTOS======== n446= n447=#antiflood off n448=;anti repeticiones n449=on 1:text:*:%floodscanal:{ n450= ;anti max lines n451= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser2) == $address($nick,5)) { antiflood $nick 2 } n452= else { writeini sistema\PFlood\floodconf.ini flooder fuser2 $address($nick,5) } n453= ;anti repeticiones n454= if ($readini(sistema\PFlood\floodconf.ini,flooder,text) == $1-) && ($readini(sistema\PFlood\floodconf.ini,flooder,fuser1) == $address($nick,5)) { antiflood $nick 1 } n455= else { writeini sistema\PFlood\floodconf.ini flooder text $1- | writeini sistema\PFlood\floodconf.ini flooder fuser1 $address($nick,5) } n456= ;anti repeticiones de mi nombre n457= if ($me isin $1-) && ($readini(sistema\PFlood\floodconf.ini,flooder,fuser7) == $address($nick,5)) { antiflood $nick 7 } n458= else { writeini sistema\PFlood\floodconf.ini flooder text $1- | writeini sistema\PFlood\floodconf.ini flooder fuser7 $address($nick,5) } n459= ;anti exceso caracteres n460= if ($readini(sistema\PFlood\floodconf.ini,floods,tflood3) == on) && ($len($1-) >= $readini(sistema\PFlood\floodconf.ini,floods,eflood3)) { n461= writeini sistema\PFlood\floodconf.ini flooder text $1- n462= writeini sistema\PFlood\floodconf.ini flooder fuser3 $address($nick,5) n463= atakflood $nick 3 n464= } n465=} n466=on 1:text:*:?:{ n467= if ($address($nick,5) != $null) { n468= ;anti max lines n469= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser2) == $address($nick,5)) { antiflood $nick 2 q } n470= else { writeini sistema\PFlood\floodconf.ini flooder fuser2 $address($nick,5) } n471= ;anti repeticiones n472= if ($readini(sistema\PFlood\floodconf.ini,flooder,text) == $1-) && ($readini(sistema\PFlood\floodconf.ini,flooder,fuser1) == $address($nick,5)) { antiflood $nick 1 q } n473= else { writeini sistema\PFlood\floodconf.ini flooder text $1- | writeini sistema\PFlood\floodconf.ini flooder fuser1 $address($nick,5) | halt } n474= ;anti repeticiones de mi nombre n475= if ($me isin $1-) && ($readini(sistema\PFlood\floodconf.ini,flooder,fuser7) == $address($nick,5)) { antiflood $nick 7 q } n476= else { writeini sistema\PFlood\floodconf.ini flooder text $1- | writeini sistema\PFlood\floodconf.ini flooder fuser7 $address($nick,5) } n477= ;anti exceso caracteres n478= if ($readini(sistema\PFlood\floodconf.ini,floods,tflood3) == on) && ($len($1-) >= $readini(sistema\PFlood\floodconf.ini,floods,eflood3)) { n479= writeini sistema\PFlood\floodconf.ini flooder text $1- n480= writeini sistema\PFlood\floodconf.ini flooder fuser3 $address($nick,5) n481= atakflood $nick 3 q n482= } n483= } n484=} n485=;anti set mode n486=on 1:mode:%floodscanal:{ n487= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser4) == $address($nick,5)) && ($me != $nick) { antiflood $nick 4 } n488= else { writeini sistema\PFlood\floodconf.ini flooder fuser4 $address($nick,5) | halt } n489=} n490=;anti notices/actions n491=on 1:notice:*:*:{ n492= if ($address($nick,5) != $null) { n493= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser5) == $address($nick,5)) && ($me != $nick) { antiflood $nick 5 } n494= else { writeini sistema\PFlood\floodconf.ini flooder fuser5 $address($nick,5) | halt } n495= } n496=} n497=on 1:action:*:*:{ n498= if ($address($nick,5) != $null) { n499= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser5) == $address($nick,5)) && ($me != $nick) { antiflood $nick 5 } n500= else { writeini sistema\PFlood\floodconf.ini flooder fuser5 $address($nick,5) | halt } n501= } n502=} n503=;antiinvites n504=on 1:invite:%floodscanal:{ n505= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser6) == $address($nick,5)) && ($me != $nick) { antiflood $nick 6 } n506= else { writeini sistema\PFlood\floodconf.ini flooder fuser6 $address($nick,5) | halt } n507=} n508=;anti joins n509=on 1:join:%floodscanal:{ n510= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser8) == $address($nick,5)) && ($me != $nick) { antiflood $nick 8 } n511= else { writeini sistema\PFlood\floodconf.ini flooder fuser8 $address($nick,5) | halt } n512=} n513=;anti ctcps n514=ctcp 1:*:*:{ n515= if ($me != $nick) { n516= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser9) == $address($nick,5)) { antiflood $nick 9 } n517= else { writeini sistema\PFlood\floodconf.ini flooder fuser9 $address($nick,5) | halt } n518= } n519=} n520=;anti conex entrantes n521=on 1:socklisten:*:{ n522= if ($sock($sockname).ip) { n523= if ($readini(sistema\PFlood\floodconf.ini,flooder,fuser10) == $sock($sockname).ip) && ($sock($sockname).ip != $ip) { antiflood $sock($sockname).ip 10 ip } n524= else { writeini sistema\PFlood\floodconf.ini flooder fuser10 $sock($sockname).ip | halt } n525= } n526=} n527=#antiflood end