Advertisement
Iire

N Map Viewer (Missing Image Get Sockets)

Jul 8th, 2014
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 6.12 KB | None | 0 0
  1. alias -l mvgfx {
  2.   var %file $+(MapViewer\graphics\,$1.png)
  3.   ;                      ,-- Is this hacky? Should I be using if or $iif() instead? Meh... Doesn't matter, it works. Shut up.
  4.   return $replacex($prop 0,w 0,$pic(%file).width,h 0,$pic(%file).height,$prop 0,$file(%file).longfn)
  5. }
  6.  
  7. alias -l mvdir {
  8.   clear -l @MapViewer
  9.   hadd mapviewer dir $1-
  10.   aline -l @MapViewer < $gettok($1-,-1,92)
  11.   aline -l @MapViewer $str(-,20)
  12.   noop $finddir($1-,*,0,1,aline -l @MapViewer > $gettok($1-,-1,92))
  13.   aline -l @MapViewer $str(-,20)
  14.   writeini $qt(MapViewer\config.ini) config mapdir $1-
  15.   noop $findfile($1-,*.txt,0,1,aline -l @MapViewer $chr(9) $+ $gettok($1-,-1,92))
  16.   drawrect -rf @MapViewer 13683402 1 24 24 744 552
  17.   drawrect -r @MapViewer 8943993 24 0 0 792 600
  18. }
  19.  
  20. alias -l mvrgx return /^(?:\$(?:(?:[^#]*)#){3})?([^|]+)\|([^|#]*)[#|]?/g
  21. ;([^#]*)
  22.  
  23. alias mapviewer {
  24.   if !$window(@MapViewer) {
  25.     window -Cdfl22p -t2 +fnt @MapViewer -1 -1 792 600
  26.     window -dfhp +dL @MapViewer_TILES -1 -1 816 24
  27.     window -dfhp +dL @MapViewer_OBJECTS -1 -1 988 26
  28.  
  29.     drawfill -rs @MapViewer 13683402 16777215 0 0
  30.     drawrect -r @MapViewer 8943993 24 0 0 792 600
  31.  
  32.     drawpic -c @MapViewer_TILES 0 0 $qt($mvgfx(tiles))
  33.     drawpic -c @MapViewer_OBJECTS 0 0 $qt($mvgfx(objects2))
  34.  
  35.     hmake mapviewer 100
  36.     if $readini(MapViewer\config.ini,n,config,mapdir) { mvdir $v1 }
  37.     else drawtext -nr @MapViewer 13117480 FixedSys -24 36 36 Right click to select map directory.
  38.   }
  39. }
  40.  
  41. menu @MapViewer {
  42.   lbclick:{
  43.     if $regex($sline(@MapViewer,1),^\t(.+)$) {
  44.       var %file $+($hget(mapviewer,dir),$regml(1))
  45.       if $file(%file).size > 0 {
  46.         bread -t $qt(%file) 0 $file(%file).size &file
  47.         hadd -bc mapviewer file &file
  48.         drawrect -nrf @MapViewer 13683402 1 24 24 744 552
  49.         if !$hfind(mapviewer,$mvrgx,1,r).data { drawtext -nr @MapViewer 2631880 FixedSys -24 36 36 INVALID OR CORRUPT MAP DATA! }
  50.         else {
  51.           var %t 1
  52.  
  53.           bset &tiles 1 $regsubex(t,$left($regml(1),713),/(.)/g,$calc($asc(\t) - 47) $chr(32))
  54.  
  55.  
  56.  
  57.           if $regml(2) != $null {
  58.  
  59.             bset -t &objects 1 $v1
  60.  
  61.             var %o 1, %x
  62.             while $bvar(&objects,0) && $gettok($bvar(&objects,1-).text,1,33) != $null {
  63.  
  64.               var %object, %osize, %coord, %dir, %switch, %coord2, %osize2, %drone, %door, %ddir, %launchpad
  65.               var %q $v1, %object $base($gettok(%q,1,94),10,13), %props $gettok(%q,2,94), %x $gettok(%props,1,44), %y $gettok(%props,2,44)
  66.  
  67.               if %object == 2 {
  68.                 %launchpad = $regsubex($gettok(%props,3,44) $gettok(%props,4,44),/\d\.\d+/g,0.5)
  69.                 %osize = $calc(27 + $findtok(-1 0:-0.5 -0.5:0 -1:0.5 -0.5:1 0:0.5 0.5:0 1,%launchpad,58) * 16) 0 16 16
  70.                 inc %x $calc($round($gettok(%launchpad,1,32),0) * 2)
  71.                 inc %y $calc($round($gettok(%launchpad,2,32),0) * 2)
  72.               }
  73.               elseif %object == 6 {
  74.                 %drone = $base($gettok(%props,5,44) $+ $gettok(%props,6,44),4,10)
  75.                 %osize = $calc(199 + %drone * 18) 0 18 18
  76.                 if %drone < 5 && $gettok(%props,4,44) {
  77.                   drawcopy -nt @MapViewer_OBJECTS 13683402 415 0 18 18 @MapViewer $calc(%x - 9) $calc(%y - 15)
  78.                 }
  79.               }
  80.               elseif %object == 7 {
  81.                 %dir = $gettok(%props,3,44)
  82.                 %osize = $calc(433 + %dir * 24) 0 24 24
  83.               }
  84.               elseif %object == 8 {
  85.                 %dir = $gettok(%props,3,44)
  86.                 %osize = $calc(529 + %dir * 19) 0 19 19
  87.               }
  88.               elseif %object == 9 {
  89.                 %ddir = $calc($replace($gettok(%props,3,44) + $gettok(%props,8,44) + $gettok(%props,9,44),-1,2))
  90.                 %door = $calc($gettok(%props,5,44)*24-1) $calc($gettok(%props,6,44)*24-1)
  91.  
  92.                 if $gettok(%props,4,44) {
  93.                   %osize = 921 0 6 6
  94.                   %dpos = $calc(795 + 25 * %ddir)
  95.                   drawcopy -nt @MapViewer_OBJECTS 13683402 $calc(813 + 25 * %ddir) 0 25 25 @MapViewer %door
  96.  
  97.                 }
  98.                 if $gettok(%props,7,44) {
  99.                   %osize = 913 0 8 8
  100.                   drawcopy -nt @MapViewer_OBJECTS 13683402 $calc(709 + 26 * %ddir) 0 26 26 @MapViewer %door
  101.                 }
  102.                 else drawcopy -nt @MapViewer_OBJECTS 13683402 $calc(605 + 26 * %ddir) 0 26 26 @MapViewer %door
  103.               }
  104.               elseif %object == B {
  105.                 %switch = $ceil($calc(%x - 6.5)) $ceil($calc(%y - 4.5)))
  106.                 %osize = 941 0 26 25
  107.                 drawcopy -nt @MapViewer_OBJECTS 13683402 967 0 13 9 @MapViewer %switch
  108.               }
  109.  
  110.               else %osize = $replacex(%object,0,0 0 7 7,1,7 0 20 20,3,155 0 14 13,4,169 0 12 13,5,181 0 18 20,A,927 0 14 13,C,980 0 8 9)
  111.  
  112.               if %dir == 1 { inc %y }
  113.               if %dir == 0 { inc %x }
  114.  
  115.               if %osize != $null { %coord = $ceil($calc(%x - ($gettok(%osize,3,32) / 2))) $ceil($calc(%y - ($gettok(%osize,4,32) / 2))) }
  116.               if %coord != $null { drawcopy -nt @MapViewer_OBJECTS 13683402 %osize @MapViewer $v1 }
  117.  
  118.               ;inc %o
  119.               if $deltok($bvar(&objects,1-).text,1,33) != $null { bset -ct &objects 1 $v1 }
  120.               else bunset &objects
  121.             }
  122.           }
  123.           while $bvar(&tiles,%t) != $null {
  124.             drawcopy -nt @MapViewer_TILES 13683402 $calc(($v1 - 1) * 24) 0 24 24 $&
  125.               @MapViewer $calc($ceil($calc(%t / 23)) * 24) $calc($iif($calc(%t % 23),$v1,23) * 24) 24 24
  126.             inc %t
  127.           }
  128.         }
  129.         drawrect -nr @MapViewer 8943993 24 0 0 792 600
  130.         drawdot @MapViewer
  131.       }
  132.     }
  133.   }
  134.   dclick:{
  135.     if $regex($sline(@MapViewer,1),^\t(.+)$) { run notepad.exe $qt($+($hget(mapviewer,dir),$regml(1))) }
  136.     elseif $regex($sline(@MapViewer,1),^([<>]) (.+)$) {
  137.       var %dir $hget(MapViewer,dir)
  138.       mvdir $replace($regml(1),<,$deltok(%dir,-1,92),>,$+(%dir,$regml(2))) $+ \
  139.     }
  140.   }
  141.   -
  142.   Select Map Directory:{
  143.     if $sdir(*) { mvdir $v1 }
  144.   }
  145. }
  146.  
  147. on *:CLOSE:@MapViewer:{
  148.   if $hget(mapviewer) { hfree $v1 }
  149.   close -@ @MAPVIEWER_*
  150.   drawpic -c
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement