1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

mIRC Scripting

Discussão em 'Programação' iniciada por guxo, 16 de Setembro de 2005. (Respostas: 13; Visualizações: 1367)

?

Mirc.... curtes?

Poll closed 23 de Setembro de 2005.
  1. sim

    17 vote(s)
    50,0%
  2. nao

    17 vote(s)
    50,0%
  1. guxo

    guxo Guest

    bom... eu reconheco que ha muito ppl que nao curte o irc.. mas tb axo que ha uma grande parte que curte..
    e como nao encontrei no forum nenhum topico a falar sobre mirc scripting pensei em abrir um..
    onde seriam colocados codes completos, pedidos de codes, pedidos de ajudas, etc....
    na ptnet ha um canal que me tem ajudado a aprender este codigo #PTScripting (Site: www.PTS.pt.vu • Portal: www.PTScripting.com) aí podem encontrar os l33ts em mirc scripting.. :P
    de ***** forma vou deixar aki uns codigos so pra voces verem que é bue facil de entender.... pra quem curte programar é excelente..

    estes codigos sao usados em bots de irc normalmente.

    TOP 10 e TOP 20 de palavras num canal.
    Código:
    on *:text:*:#<canal>:{
      if ($strip($1) == !top10) {
    	var %x = 1
    	while (%x <= $ini(top.ini,palavras,0)) {
    	  var %y = $iif(%y,%y  $chr(44))  $readini(top.ini,palavras,$ini(top.ini,palavras,%x))
    	  inc %x
    	}
    	var %z = $sorttok(%y,44,nr)
    	var %numeros = $gettok(%z,1-10,44)
    	var %a = 1
    	while (%a <= $numtok(%numeros,44)) {
    	  var %b = $read(top.ini,w,*=  $gettok(%numeros,%a,44))
    	  if ($istok(%c,$readn,32)) { var %b = $read(top.ini,w,*=  $gettok(%numeros,%a,44), $calc(%d +1)) }
    	  var %c = %c $readn, %d = $readn
    	  if ($gettok(%b,1,61) !isin %nicks) {
    		if ($chr(126) isin $gettok(%b,1,61)) {
    		 if (%top10. [ [ $gettok(%b,1,61) ] ]) { var %nicks = $iif(%nicks,%nicks $chr(44)) %top10. [ [ $gettok(%b,1,61) ] ] }
    		  else { var %nicks = $iif(%nicks,%nicks  $chr(44))  $gettok(%b,1,61) }
    		}
    		else { var %nicks = $iif(%nicks,%nicks  $chr(44))  $gettok(%b,1,61) }
    	  }
    	  inc %a
    	}
    	if (%nicks) {
    	 if ($gettok(%nicks,1,44)) { var %1nick = 1. ($gettok(%nicks,1,44),$chr(40),$gettok(%numeros,1,44),$chr(41)) }
    	 if ($gettok(%nicks,2,44)) { var %2nick = 2. ($gettok(%nicks,2,44),$chr(40),$gettok(%numeros,2,44),$chr(41)) }
    	 if ($gettok(%nicks,3,44)) { var %3nick = 3. ($gettok(%nicks,3,44),$chr(40),$gettok(%numeros,3,44),$chr(41)) }
    	 if ($gettok(%nicks,4,44)) { var %4nick = 4. ($gettok(%nicks,4,44),$chr(40),$gettok(%numeros,4,44),$chr(41)) }
    	 if ($gettok(%nicks,5,44)) { var %5nick = 5. ($gettok(%nicks,5,44),$chr(40),$gettok(%numeros,5,44),$chr(41)) }
    	 if ($gettok(%nicks,6,44)) { var %6nick = 6. ($gettok(%nicks,6,44),$chr(40),$gettok(%numeros,6,44),$chr(41)) }
    	 if ($gettok(%nicks,7,44)) { var %7nick = 7. ($gettok(%nicks,7,44),$chr(40),$gettok(%numeros,7,44),$chr(41)) }
    	 if ($gettok(%nicks,8,44)) { var %8nick = 8. ($gettok(%nicks,8,44),$chr(40),$gettok(%numeros,8,44),$chr(41)) }
    	 if ($gettok(%nicks,9,44)) { var %9nick = 9. ($gettok(%nicks,9,44),$chr(40),$gettok(%numeros,9,44),$chr(41)) }
    	 if ($gettok(%nicks,10,44)) { var %10nick = 10. ($gettok(%nicks,10,44),$chr(40),$gettok(%numeros,10,44),$chr(41)) }
    	}
    	else { var %1nick = Ainda não há nicks no Top10. }
    	msg $chan Top10(Palavras): %1nick %2nick %3nick %4nick %5nick %6nick %7nick %8nick %9nick %10nick
      }
      elseif ($strip($1) == !top20) {
    	var %x = 1
    	while (%x <= $ini(top.ini,palavras,0)) {
    	  var %y = $iif(%y,%y  $chr(44))  $readini(top.ini,palavras,$ini(top.ini,palavras,%x))
    	  inc %x
    	}
    	var %z = $sorttok(%y,44,nr)
    	var %numeros = $gettok(%z,11-20,44)
    	var %a = 1
    	while (%a <= $numtok(%numeros,44)) {
    	  var %b = $read(top.ini,w,*=  $gettok(%numeros,%a,44))
    	  if ($istok(%c,$readn,32)) { var %b = $read(top.ini,w,*=  $gettok(%numeros,%a,44), $calc(%d +1)) }
    	  var %c = %c $readn, %d = $readn
    	  if ($gettok(%b,1,61) !isin %nicks) {
    		if ($chr(126) isin $gettok(%b,1,61)) {
    		 if (%top10. [ [ $gettok(%b,1,61) ] ]) { var %nicks = $iif(%nicks,%nicks $chr(44)) %top10. [ [ $gettok(%b,1,61) ] ] }
    		  else { var %nicks = $iif(%nicks,%nicks  $chr(44))  $gettok(%b,1,61) }
    		}
    		else { var %nicks = $iif(%nicks,%nicks  $chr(44))  $gettok(%b,1,61) }
    	  }
    	  inc %a
    	}
    	if (%nicks) {
    	 if ($gettok(%nicks,1,44)) { var %11nick = 11. ($gettok(%nicks,1,44),$chr(40),$gettok(%numeros,1,44),$chr(41)) }
    	 if ($gettok(%nicks,2,44)) { var %12nick = 12. ($gettok(%nicks,2,44),$chr(40),$gettok(%numeros,2,44),$chr(41)) }
    	 if ($gettok(%nicks,3,44)) { var %13nick = 13. ($gettok(%nicks,3,44),$chr(40),$gettok(%numeros,3,44),$chr(41)) }
    	 if ($gettok(%nicks,4,44)) { var %14nick = 14. ($gettok(%nicks,4,44),$chr(40),$gettok(%numeros,4,44),$chr(41)) }
    	 if ($gettok(%nicks,5,44)) { var %15nick = 15. ($gettok(%nicks,5,44),$chr(40),$gettok(%numeros,5,44),$chr(41)) }
    	 if ($gettok(%nicks,6,44)) { var %16nick = 16. ($gettok(%nicks,6,44),$chr(40),$gettok(%numeros,6,44),$chr(41)) }
    	 if ($gettok(%nicks,7,44)) { var %17nick = 17. ($gettok(%nicks,7,44),$chr(40),$gettok(%numeros,7,44),$chr(41)) }
    	 if ($gettok(%nicks,8,44)) { var %18nick = 18. ($gettok(%nicks,8,44),$chr(40),$gettok(%numeros,8,44),$chr(41)) }
    	 if ($gettok(%nicks,9,44)) { var %19nick = 19. ($gettok(%nicks,9,44),$chr(40),$gettok(%numeros,9,44),$chr(41)) }
    	 if ($gettok(%nicks,10,44)) { var %20nick = 20. ($gettok(%nicks,10,44),$chr(40),$gettok(%numeros,10,44),$chr(41)) }
    	}
    	else { var %11nick = Ainda não há nicks no Top20. }
    	msg $chan Top20(Palavras): %11nick %12nick %13nick %14nick %15nick %16nick %17nick %18nick %19nick %20nick
      }
      elseif (($strip($1) == !stat) || ($strip($1) == !stats)) {
    	if ($2) {
    	 if ($readini(top.ini,palavras,$2)) { msg $chan $2 : $readini(top.ini,palavras,$2) $iif($readini(top.ini,palavras,$2) > 1,palavras,palavra) . }
    	  else { msg $chan Desculpa, mas não tenho stats do nick $2 no $chan  . }
    	}
    	else {
    	 if ($readini(top.ini,palavras,$nick)) { msg $chan $nick : $readini(top.ini,palavras,$nick) $iif($readini(top.ini,palavras,$nick) > 1,palavras,palavra) . }
    	  else { msg $chan Desculpa, mas não tenho stats do nick $nick no $chan  . }
    	}
      }
      elseif ($strip($1) == !place) {
    	var %x = 1
    	while (%x <= $ini(top.ini,palavras,0)) {
    	  var %y = $iif(%y,%y  $chr(44))  $readini(top.ini,palavras,$ini(top.ini,palavras,%x))
    	  inc %x
    	}
    	var %numeros = $sorttok(%y,44,nr)
    	var %a = 1
    	while (%a <= $numtok(%numeros,44)) {
    	  var %b = $read(top.ini,w,*=  $gettok(%numeros,%a,44))
    	  if ($istok(%c,$readn,32)) { var %b = $read(top.ini,w,*=  $gettok(%numeros,%a,44), $calc(%d +1)) }
    	  var %c = %c $readn, %d = $readn
    	  var %nicks = $iif(%nicks,%nicks  $chr(44))  $iif($gettok(%b,1,61) !isin %nicks,$gettok(%b,1,61))
    	  inc %a
    	}
    	if ($2) {
    	 if ($findtok(%nicks,$2,1,44)) { msg $chan $2 está em $findtok(%nicks,$2,1,44) º lugar entre $ini(top.ini,palavras,0) . }
    	  else { msg $chan Desculpa, mas não tenho stats do nick $2 no $chan  . }
    	}
    	else {
    	 if ($findtok(%nicks,$nick,1,44)) { msg $chan $nick está em $findtok(%nicks,$nick,1,44) º lugar entre $ini(top.ini,palavras,0) . }
    	  else { msg $chan Desculpa, mas não tenho stats do nick $nick no $chan  . }
    	}
      }
      else {
    if (($chr(91) isin $nick) || ($chr(93) isin $nick)) { set %top10. [ [ $replace($nick,$chr(91),$chr(126),$chr(93),$chr(126)) ] ] $nick }
    	writeini -n top.ini palavras $nick $calc($readini(top.ini,palavras,$nick) + $0)
      }
    }
    subsituam "<canal>" pelo nome do canal onde o bot esta activo.

    este e muitos outros codes estao disponiveis no forum do canal que indiquei em cima..

    fiquem bem e participem..

    btw.. alguem sabe onde posso arranjar um code para guardar quotes? lol

    =)
     
  2. QuickFire

    QuickFire What is folding?

    Bem eu já programei mIRC scripting mas sempre foi uma coisa que não me puxou IRC para mim já não obrigado :P mas são opiniões :)
     
  3. StormhawK

    StormhawK Power Member

    Same.

    Também já fiz muuuuuitas linhas de código nisso, mas foi antes da invasão das pitas e era código principalmente para facilitar tarefas longas como por exemplo a gestão de canais (tanto chanserv como temporário) onde era op.

    Continuo a achar que o IRC se mantém como o melhor protocolo para conversas em grupo, e nos meus tempos de Dark Galaxy deu imenso jeito. Mas a PTnet... meh. Bah. Já foi tempo.

    De resto, se queres aprender scripting potente, sugiro que faças o que toda a gente andava a fazer: pegas em scripts que façam o que pretendes e examinas o código.
     
  4. kidloco

    kidloco Power Member

    Eu antes era leet no mirc scripting.
     
  5. guxo

    guxo Guest

    tens ainda algum code fixe? que dê pra um bot??

    [[]]
     
  6. HecKel

    HecKel The WORM

    Isso n é programação a sério :P para brincar no irc mais vale programar tcl's ou mesmo módulos para os eggdrops, isso tem uma beca de mais piada :P

    Programar scripts perl para os clientes de irc(xchat, irssi...) tb me dá um certo gozo, mesmo sendo "orientado" ao script..., n deixa de ser uma linguagem de programação "usável".

    abraços HecKel
     
  7. turbulence

    turbulence Power Member

    antes? ha pois agr das o rabinho ** :p
     
  8. kidloco

    kidloco Power Member

    O panasca do Turbulence sei quem é...o guxo é que não :p

    ps: Turbulence mete aí a vergonha do teu script pra malta gozar :D
     
  9. turbulence

    turbulence Power Member

    eu ja me deixei de scripting ha mt tempo, a malta tem k ir inovando :D
     
  10. HecKel

    HecKel The WORM

    panascas de electro inovar? cof cof por isso é que ele se deixou disso :P

    abraços HecKel
     
    Última edição: 17 de Setembro de 2005
  11. Xik0

    Xik0 Power Member

    se ainda fosse scripts feito em perl ou python para adicionar no xchat por exemplo..
     
  12. Campelo

    Campelo 1st Folding then Sex

    Ainda me lembro quando fazia scriptzitos pa me facilitar o trabalho do mirc, tambem em gerenciamento dos canais, bots e algumas protecções.

    Aquilo perdeu muita da piada que tinha antigamente :( em que pouca gente o usava e nao havia tantos "x" na escrita :D
     
  13. guxo

    guxo Guest

    tens razao...
    pa... e o k da os papas nao deixarem as meninas pitas irem "desopilar" com gaijos....
    vem pra net por o ppl a anhar com os "x"... enfim...
     
  14. guxo

    guxo Guest

    =) sou um gajo fixxxxxxxxxxxxxxxxxxxxxxxxxxxxx =)
     

Partilhar esta Página