mIRC Home    About    Download    Register    News    Help

Print Thread
#188785 30/10/07 04:21 PM
Joined: Oct 2007
Posts: 10
M
Moon412 Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Oct 2007
Posts: 10
Code:
on $*:TEXT:/^[!@]m(ove)?(dex)? /Si:#:{ 
  if ((Chesticles ison $chan) && ($me != Chesticles)) { halt } 
  if (!$2) { .notice $nick You must specify something to search for. } 
  else { 
    var %x = 1 | while ($sock($+(Move.,%x))) { inc %x } 
    set $+(%,move.search.,%x) $2- 
    set $+(%,move.msg.,%x) $iif(@* iswm $1,msg $chan,.notice $nick) 
    sockopen $+(Move.,%x) veekun.com 80 
  } 
} 
on *:SOCKOPEN:Move.*:{ 
  sockwrite -nt $sockname GET /dex/moves/ $+ $replace(%move.search. [ $+ [ $gettok($sockname,2,46) ] ] ,$chr(32),$+(%,20)) HTTP/1.1 
  sockwrite -nt $sockname Host: veekun.com $+ $crlf $+ $crlf 
} 
off *:SOCKREAD:Move.*:{ 
  var %read 
  sockread -f %read 
  write read.txt %read 
} 
on *:SOCKREAD:Move.*:{ 
  var %x = $gettok($sockname,2,46) 
  var %search = $($+(%,move.search.,%x),2), %msg = $($+(%,move.msg.,%x),2) 
  if ($sockerr) { 
    write SockErr.txt $sockname : $sockerr 
    echo -a Socket Error - Check SockErr.txt 
    halt 
  } 
  elseif (%wait) { 
    if (%wait == text) { set $+(%,text.,%x) $notags(%read) } 
    elseif (%wait == power) { set $+(%,power.,%x) $notags(%read) } 
    elseif (%wait == accuracy) { set $+(%,accuracy.,%x) $notags(%read) } 
    elseif (%wait == pp) { set $+(%,pp.,%x) $notags(%read) } 
    unset %wait 
  } 
  else { 
    var %read 
    sockread -f %read 
    if (*Error - veekun.com* iswm %read) { 
      %msg Move $qt(%search) not found. 
      cleanup %x 
    } 
    elseif ($regex(%read,/<a href=".+"><img src=".+" alt="(\w+)" .+ <img src=".+" alt="(\w+)"/)) { 
      set $+(%,type.,%x) $regml(1) 
      set $+(%,damage.,%x) $regml(2) 
    } 
    elseif (*<dt>*Flavor Text*</dt>* iswm %read) { 
      set %wait text 
    } 
    elseif (>Power< isin %read) { set %wait power } 
    elseif (>Accuracy< isin %read) { set %wait accuracy } 
    elseif (>PP< isin %read) { set %wait pp } 
    elseif (<h2>flags</h2> isin %read) { 
      var %type = $($+(%,type.,%x),2), %damage = $($+(%,damage.,%x),2) 
      var %power = $($+(%,power.,%x),2), %accuracy = $($+(%,accuracy.,%x),2), %pp = $($+(%,PP.,%x),2) 
      var %text = $($+(%,text.,%x),2) 
      %msg $+(,$capitalize(%search),:) %type $+ -type ¦ $capitalize(%damage) attack 
      .timer 1 1 %msg Power: %power ¦ Accuracy: %accuracy ¦ PP: %pp 
      .timer 1 1 %msg $iif(%text,$v1,Error recieving move escription) 
      cleanup %x 
    } 
  } 
} 
alias -l cleanup { 
  sockclose $+(Move,.,$1) 
  unset $+(%,*.,$1) 
  unset %s 
} 
alias -l notags { 
  return $remove($1-,<dd>,</dd>) 
} 


I don't understand what's wrong =[
It's supposed to show the move entries from veekun.com

Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Your regex formulation is what's wrong.

on $*:TEXT:/^([!@]m(ove)?(dex)?)/Si:#:{ is correct syntax while

on $*:TEXT:/^[!@]m(ove)?(dex)?/Si:#:{ is not



Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }
Joined: Oct 2007
Posts: 10
M
Moon412 Offline OP
Pikka bird
OP Offline
Pikka bird
M
Joined: Oct 2007
Posts: 10
I put that in but its still not working ;x

Joined: Aug 2005
Posts: 1,052
L
Hoopy frood
Offline
Hoopy frood
L
Joined: Aug 2005
Posts: 1,052
Then its in the code ill check back later


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }

Link Copied to Clipboard