Advertisement
Guest User

Untitled

a guest
May 8th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.49 KB | None | 0 0
  1. alias draw {
  2. unset %draw.nodraw
  3.  
  4. set %draw.curtip NONE
  5. if (%draw.color1 == $null) { set %draw.color1 $rgb(0,0,0) }
  6. if (%draw.color2 == $null) { set %draw.color2 $rgb(208,208,208) }
  7. if (%draw.height == $null) { set %draw.height 10 }
  8. if (%draw.width == $null) { set %draw.width 30 }
  9. if (%draw.delay == $null) { set %draw.delay 1200 }
  10. if (%draw.curcolor == $null) { set %draw.curcolor 1 }
  11. if (%draw.curcolor2 == $null) { set %draw.curcolor2 0 }
  12. if (%draw.grid == $null) { set %draw.grid 1 }
  13. if (%draw.gridx == $null) { set %draw.gridx 11 }
  14. if (%draw.gridy == $null) { set %draw.gridy 16 }
  15.  
  16. window -ac @ASCII�Paint
  17. hadd -m drawcmd 1 hi
  18. hfree drawcmd
  19. hadd -m drawtip 1 hi
  20. hfree drawtip
  21. window -aBdfhiknop +fnt @ASCII�Paint -1 -1 $iif($calc(5 + (%draw.width * %draw.gridx)) > 280, $calc(5 + (%draw.width * %draw.gridx)), 280) $calc(103 + (%draw.height * %draw.gridy))
  22. window -a @ASCII�Paint
  23. drawfill -nr @ASCII�Paint %draw.color2 %draw.color2 1 1
  24. draw.mainmenu
  25. draw.grid
  26. draw.colorbox
  27. draw.showcolor
  28. draw.showdim
  29. draw.tip Welcome to ascii paint.
  30. drawdot @ASCII�Paint
  31. titlebar @ASCII�Paint - Untitled
  32. unset %draw.send.DESC
  33. }
  34. alias -l draw.nomenu {
  35. draw.setcommands 2 21 65 17 echo
  36. draw.setcommands 70 21 65 17 echo
  37. draw.setcommands 138 21 65 17 echo
  38. draw.setcommands 206 21 65 17 echo
  39. draw.settips 2 21 65 17 NONE
  40. draw.settips 70 21 65 17 NONE
  41. draw.settips 138 21 65 17 NONE
  42. draw.settips 206 21 65 17 NONE
  43. drawrect -nrf @ASCII�Paint %draw.color2 1 2 21 $window(@ASCII�Paint).w 17
  44. draw.mainmenu
  45. drawdot @ASCII�Paint
  46. }
  47. alias -l draw.mainmenu {
  48. draw.drawbutton @ASCII�Paint 2 2 65 17 File
  49. draw.setcommands 2 2 65 17 draw.filemenu
  50. draw.settips 2 2 65 17 Men� File
  51. draw.drawbutton @ASCII�Paint 70 2 65 17 Edita
  52. draw.setcommands 70 2 65 17 draw.editmenu
  53. draw.settips 70 2 65 17 Men� Edita
  54. draw.drawbutton @ASCII�Paint 138 2 65 17 Opzioni
  55. draw.setcommands 138 2 65 17 draw.gridoptions
  56. draw.settips 138 2 65 17 Men� Opzioni
  57. draw.drawbutton @ASCII�Paint 206 2 65 17 Azioni
  58. draw.setcommands 206 2 65 17 draw.actmenu
  59. draw.settips 206 2 65 17 Men� Azioni
  60. drawdot @ASCII�Paint
  61. }
  62. alias -l draw.filemenu {
  63. draw.mainmenu
  64. draw.rdrawbutton @ASCII�Paint 2 2 65 17 File
  65. draw.setcommands 2 2 65 17 draw.nomenu
  66. drawrect -nrf @ASCII�Paint %draw.color2 1 2 21 $window(@ASCII�Paint).w 17
  67. draw.drawbutton @ASCII�Paint 2 21 65 17 Nuovo
  68. draw.setcommands 2 21 65 17 draw.new
  69. draw.drawbutton @ASCII�Paint 70 21 65 17 Apri
  70. draw.setcommands 70 21 65 17 draw.open
  71. draw.drawbutton @ASCII�Paint 138 21 65 17 Salva
  72. draw.setcommands 138 21 65 17 draw.save
  73. draw.drawbutton @ASCII�Paint 206 21 65 17 Esci
  74. draw.setcommands 206 21 65 17 draw.exit
  75. draw.settips 2 21 65 17 Nuovo progetto
  76. draw.settips 70 21 65 17 Apri un ascii esistente
  77. draw.settips 138 21 65 17 Salva il tuo ascii
  78. draw.settips 206 21 65 17 Chiudi ASCII Paint
  79. drawdot @ASCII�Paint
  80. }
  81. alias -l draw.new { draw.grid | draw.nomenu | titlebar @ASCII�Paint - Untitled | unset %draw.send.DESC }
  82. alias -l draw.editmenu {
  83. draw.mainmenu
  84. draw.rdrawbutton @ASCII�Paint 70 2 65 17 Edit
  85. draw.setcommands 70 2 65 17 draw.nomenu
  86. drawrect -nrf @ASCII�Paint %draw.color2 1 2 21 $window(@ASCII�Paint).w 17
  87. draw.drawbutton @ASCII�Paint 2 21 65 17 Fill
  88. draw.setcommands 2 21 65 17 draw.fill
  89. draw.drawbutton @ASCII�Paint 70 21 65 17 Rotate
  90. draw.setcommands 70 21 65 17 draw.rotate
  91. draw.drawbutton @ASCII�Paint 138 21 65 17 Mirror
  92. draw.setcommands 138 21 65 17 draw.mirror
  93. draw.drawbutton @ASCII�Paint 206 21 65 17 Flip
  94. draw.setcommands 206 21 65 17 draw.flip
  95. drawdot @ASCII�Paint
  96. draw.settips 2 21 65 17 Replace 2nd color with 1st color
  97. draw.settips 70 21 65 17 Flip the image
  98. draw.settips 138 21 65 17 Mirror the image left/right
  99. draw.settips 206 21 65 17 Mirror the image up/down
  100. }
  101. alias -l draw.actmenu {
  102. draw.mainmenu
  103. draw.rdrawbutton @ASCII�Paint 206 2 65 17 Azioni
  104. draw.setcommands 206 2 65 17 draw.nomenu
  105. drawrect -nrf @ASCII�Paint %draw.color2 1 2 21 $window(@ASCII�Paint).w 17
  106. draw.setcommands 2 21 65 17 echo
  107. draw.drawbutton @ASCII�Paint 70 21 65 17 Send
  108. draw.setcommands 70 21 65 17 draw.sendto
  109. draw.drawbutton @ASCII�Paint 138 21 65 17 Echo
  110. draw.setcommands 138 21 65 17 draw.echo
  111. draw.drawbutton @ASCII�Paint 206 21 65 17 Spam
  112. draw.setcommands 206 21 65 17 draw.getspamchan
  113. drawdot @ASCII�Paint
  114. draw.settips 2 21 65 17 NONE
  115. draw.settips 70 21 65 17 Manda immagine via dcc ad un Nick
  116. draw.settips 138 21 65 17 Mostra Immagine nella finestra di stato
  117. draw.settips 206 21 65 17 Spamma questa immagine in IRC
  118. }
  119. alias -l draw.optionsmenu {
  120. draw.mainmenu
  121. draw.rdrawbutton @ASCII�Paint 138 2 65 17 Options
  122. draw.setcommands 138 2 65 17 draw.nomenu
  123. drawrect -nrf @ASCII�Paint %draw.color2 1 2 21 $window(@ASCII�Paint).w 17
  124. draw.setcommands 2 21 65 17 echo
  125. draw.drawbutton @ASCII�Paint 70 21 65 17 Grid
  126. draw.setcommands 70 21 65 17 draw.gridoptions
  127. draw.drawbutton @ASCII�Paint 138 21 65 17 Delay
  128. draw.setcommands 138 21 65 17 draw.delay
  129. draw.setcommands 206 21 65 17 echo
  130. drawdot @ASCII�Paint
  131. draw.settips 2 21 65 17 NONE
  132. draw.settips 70 21 65 17 Set grid options.
  133. draw.settips 138 21 65 17 Change the spam delay.
  134. draw.settips 206 21 65 17 NONE
  135. }
  136. alias -l draw.drawbutton {
  137. drawrect -nrf $$1 %draw.color2 1 $$2-5
  138. drawrect -nr $$1 %draw.color1 1 $$2-5
  139. drawtext -ncr $$1 %draw.color1 Fixedsys 14 $calc(($$2 + ($$4 / 2)) - ($width($$6-,Fixedsys,14) / 2)) $calc(($$3 + ($$5 / 2)) - ($height($$6-,Fixedsys,14) / 2)) $width($$6-,Fixedsys,14) $height($$6-,Fixedsys,14) $$6-
  140. }
  141. alias -l draw.rdrawbutton {
  142. drawrect -nrf $$1 %draw.color1 1 $$2-5
  143. drawrect -nr $$1 %draw.color2 1 $$2-5
  144. drawtext -ncr $$1 %draw.color2 Fixedsys 14 $calc(($$2 + ($$4 / 2)) - ($width($$6-,Fixedsys,14) / 2)) $calc(($$3 + ($$5 / 2)) - ($height($$6-,Fixedsys,14) / 2)) $width($$6-,Fixedsys,14) $height($$6-,Fixedsys,14) $$6-
  145. }
  146. alias -l draw.setcommands {
  147. hadd -m drawcmd $$1 $+ , $+ $$2 $+ , $+ $$3 $+ , $+ $$4 $$1-
  148. }
  149. alias -l draw.settips {
  150. hadd -m drawtip $$1 $+ , $+ $$2 $+ , $+ $$3 $+ , $+ $$4 $$1-
  151. }
  152. alias -l draw.grid {
  153. drawrect -nrf @ASCII�Paint %draw.color2 1 2 40 $calc(1 + (%draw.width * %draw.gridx)) $calc(1 + (%draw.height * %draw.gridy))
  154. hadd -m draw 1 hi
  155. hfree draw
  156. if (%draw.grid == 1) {
  157. drawrect -nr @ASCII�Paint %draw.color1 1 2 40 $calc(1 + (%draw.width * %draw.gridx)) $calc(1 + (%draw.height * %draw.gridy))
  158. set %x 1
  159. while (%x <= %draw.width) {
  160. drawline -nr @ASCII�Paint %draw.color1 1 $calc(2 + (%x * %draw.gridx)) 40 $calc(2 + (%x * %draw.gridx)) $calc(40 + (%draw.height * %draw.gridy))
  161. inc %x 1
  162. }
  163. }
  164. set %x 1
  165. while (%x <= %draw.height) {
  166. if (%draw.grid == 1) {
  167. drawline -nr @ASCII�Paint %draw.color1 1 2 $calc(40 + (%x * %draw.gridy)) $calc(2 + (%draw.width * %draw.gridx)) $calc(40 + (%x * %draw.gridy))
  168. }
  169. hadd -m draw %x $str(0 $+ $chr(44),$calc(%draw.width - 1)) $+ 0
  170. inc %x 1
  171. }
  172. draw.draw
  173. }
  174. alias -l draw.colorbox {
  175. drawrect -nrf @ASCII�Paint %draw.color2 1 2 $calc(51 + (%draw.height * %draw.gridy)) $window(@ASCII�Paint).w 33
  176. drawrect -nr @ASCII�Paint %draw.color1 1 82 $calc(51 + (%draw.height * %draw.gridy)) 89 33
  177. drawline -nr @ASCII�Paint %draw.color1 1 82 $calc(67 + (%draw.height * %draw.gridy)) $calc(82 + (8 * 11)) $calc(67 + (%draw.height * %draw.gridy))
  178. set %x 1
  179. while (%x <= 7) {
  180. drawline -nr @ASCII�Paint %draw.color1 1 $calc(82 + (%x * 11)) $calc(51 + (%draw.height * %draw.gridy)) $calc(82 + (%x * 11)) $calc(83 + (%draw.height * %draw.gridy))
  181. inc %x 1
  182. }
  183. set %x 0
  184. while (%x < 15) {
  185. drawrect -nf @ASCII�Paint %x 1 $calc(83 + (11 * $int($calc(%x / 2)))) $iif($int($calc(%x / 2)) == $calc(%x / 2),$calc(52 + (%draw.height * %draw.gridy)),$calc(68 + (%draw.height * %draw.gridy))) 10 15
  186. inc %x 1
  187. }
  188. }
  189. alias -l draw.showcolor {
  190. if (%draw.curcolor == $null) { set %draw.curcolor 1 }
  191. if (%draw.curcolor2 == $null) { set %draw.curcolor2 0 }
  192. drawrect -nr @ASCII�Paint %draw.color1 1 30 $calc(61 + (%draw.height * %draw.gridy)) 25 25
  193. drawrect -nf @ASCII�Paint %draw.curcolor2 1 31 $calc(62 + (%draw.height * %draw.gridy)) 23 23
  194. drawrect -nr @ASCII�Paint %draw.color1 1 20 $calc(51 + (%draw.height * %draw.gridy)) 25 25
  195. drawrect -nf @ASCII�Paint %draw.curcolor 1 21 $calc(52 + (%draw.height * %draw.gridy)) 23 23
  196. }
  197. alias -l draw.tip {
  198. drawrect -nfr @ASCII�Paint %draw.color2 1 2 $calc(86 + (%draw.height * %draw.gridy)) $calc($window(@ASCII�Paint).w - 2) 20
  199. if ($1) {
  200. drawtext -nr @ASCII�Paint %draw.color1 Fixedsys 14 2 $calc(86 + (%draw.height * %draw.gridy)) $1-
  201. }
  202. drawdot @ASCII�Paint
  203. }
  204. alias -l draw.showdim {
  205. drawrect -nfr @ASCII�Paint %draw.color2 1 191 $calc(60 + (%draw.height * %draw.gridy)) $calc($window(@ASCII�Paint).w - 191) 10
  206. drawtext -nr @ASCII�Paint %draw.color1 Fixedsys 14 191 $calc(60 + (%draw.height * %draw.gridy)) %draw.width $+ x $+ %draw.height
  207. }
  208.  
  209. menu @ASCII�Paint {
  210. mouse {
  211. if (%draw.nodraw) { halt }
  212. if ($inrect($mouse.x,$mouse.y,2,40,$calc((%draw.width * %draw.gridx)),$calc((%draw.height * %draw.gridy))) == $true) {
  213. if ($mouse.key & 1) {
  214. set %draw.col $int($calc((($mouse.x - 2) / %draw.gridx) + 1))
  215. set %draw.row $int($calc((($mouse.y - 40) / %draw.gridy) + 1))
  216. if (%draw.row2 != %draw.row) || (%draw.col2 != %draw.col) {
  217. set %draw.row2 %draw.row
  218. set %draw.col2 %draw.col
  219. drawrect -f @ASCII�Paint %draw.curcolor 1 $calc(3 - $iif(%draw.grid == 1,0,0) + ((%draw.col - 1) * %draw.gridx)) $calc(41 - $iif(%draw.grid == 1,0,0) + ((%draw.row - 1) * %draw.gridy)) $calc(%draw.gridx - $iif(%draw.grid == 1,1,0)) $calc(%draw.gridy - $iif(%draw.grid == 1,1,0))
  220. hadd -m draw %draw.row $iif(%draw.col > 1,$gettok($hget(draw,%draw.row),1- $+ $calc(%draw.col - 1),44) $+ $chr(44)) $+ %draw.curcolor $+ $iif(%draw.col < %draw.width,$chr(44) $+ $gettok($hget(draw,%draw.row),$calc(%draw.col + 1) $+ -,44))
  221. }
  222. }
  223. if (%draw.curtip != NONE) { draw.tip | set %draw.curtip NONE }
  224. }
  225. else {
  226. set %z 0
  227. set %x 1
  228. while (%x <= $hget(drawtip,0).item) {
  229. set %y $hget(drawtip,$hget(drawtip,%x).item)
  230. if ($inrect($mouse.x,$mouse.y,$gettok(%y,1,32),$gettok(%y,2,32),$gettok(%y,3,32),$gettok(%y,4,32)) == $true) {
  231. set %z 1
  232. if (%draw.curtip != $gettok(%y,5-,32)) {
  233. set %draw.curtip $gettok(%y,5-,32)
  234. if (%draw.curtip != NONE) {
  235. draw.tip %draw.curtip
  236. }
  237. else {
  238. draw.tip
  239. }
  240. }
  241. }
  242. inc %x 1
  243. }
  244. if (%z == 0) && (%draw.curtip != NONE) { draw.tip | set %draw.curtip NONE }
  245. }
  246. }
  247. rclick {
  248. if ($inrect($mouse.x,$mouse.y,82,$calc(51 + (%draw.height * %draw.gridy)),89,33) == $true) {
  249. set %draw.crow $int($calc((($mouse.x - 82) / 11)))
  250. set %draw.ccol $int($calc((($mouse.y - $calc(51 + (%draw.height * %draw.gridy))) / 16)))
  251. set %draw.curcolor2 $calc((%draw.crow * 2) + %draw.ccol)
  252. draw.showcolor
  253. drawdot @ASCII�Paint
  254. }
  255. else {
  256. set %draw.curcolortemp %draw.curcolor
  257. set %draw.curcolor %draw.curcolor2
  258. set %draw.curcolor2 %draw.curcolortemp
  259. unset %draw.curcolortemp
  260. draw.showcolor
  261. drawdot @ASCII�Paint
  262. }
  263. }
  264. sclick {
  265. if (%draw.nodraw) { halt }
  266. if ($inrect($mouse.x,$mouse.y,2,40,$calc((%draw.width * %draw.gridx)),$calc((%draw.height * %draw.gridy))) == $true) {
  267. set %draw.col $int($calc((($mouse.x - 2) / %draw.gridx) + 1))
  268. set %draw.row $int($calc((($mouse.y - 40) / %draw.gridy) + 1))
  269. set %draw.col2 %draw.col
  270. set %draw.row2 %draw.row
  271. drawrect -f @ASCII�Paint %draw.curcolor 1 $calc(3 - $iif(%draw.grid == 1,0,0) + ((%draw.col - 1) * %draw.gridx)) $calc(41 - $iif(%draw.grid == 1,0,0) + ((%draw.row - 1) * %draw.gridy)) $calc(%draw.gridx - $iif(%draw.grid == 1,1,0)) $calc(%draw.gridy - $iif(%draw.grid == 1,1,0))
  272. hadd -m draw %draw.row $iif(%draw.col > 1,$gettok($hget(draw,%draw.row),1- $+ $calc(%draw.col - 1),44) $+ $chr(44)) $+ %draw.curcolor $+ $iif(%draw.col < %draw.width,$chr(44) $+ $gettok($hget(draw,%draw.row),$calc(%draw.col + 1) $+ -,44))
  273. }
  274. if ($inrect($mouse.x,$mouse.y,82,$calc(51 + (%draw.height * %draw.gridy)),88,32) == $true) {
  275. set %draw.crow $int($calc((($mouse.x - 82) / 11)))
  276. set %draw.ccol $int($calc((($mouse.y - $calc(51 + (%draw.height * %draw.gridy))) / 16)))
  277. set %draw.curcolor $calc((%draw.crow * 2) + %draw.ccol)
  278. draw.showcolor
  279. drawdot @ASCII�Paint
  280. }
  281. set %x 1
  282. while (%x <= $hget(drawcmd,0).item) {
  283. set %y $hget(drawcmd,$hget(drawcmd,%x).item)
  284. if ($inrect($mouse.x,$mouse.y,$gettok(%y,1,32),$gettok(%y,2,32),$gettok(%y,3,32),$gettok(%y,4,32)) == $true) {
  285. draw.nomenu
  286. $gettok(%y,5-,32)
  287. halt
  288. }
  289. inc %x 1
  290. }
  291. }
  292. }
  293. alias -l draw.save-OLD {
  294. set %draw.tempfile $$sfile($iif(%draw.path,%draw.path,$mircdir),Salva in...,Salva)
  295. set %draw.path $nofile(%draw.tempfile)
  296. if ($exists(%draw.tempfile) == $true) {
  297. set %draw.temp $?!="File exists, overwrite?"
  298. if (%draw.temp == $false) { halt }
  299. }
  300. write -c " $+ %draw.tempfile $+ "
  301. write " $+ %draw.tempfile $+ " ASCII-PAINT SAVE FILE.
  302. set %x 1
  303. while (%x <= %draw.height) {
  304. write " $+ %draw.tempfile $+ " $hget(draw,%x)
  305. inc %x
  306. }
  307. }
  308.  
  309. ON 1:KEYDOWN:@ASCII�Paint:*: {
  310. if ($keyval == 40) {
  311. if (%draw.height < 60) {
  312. hadd -m draw $calc(%draw.height + 1) $str(0 $+ $chr(44),$calc(%draw.width - 1)) $+ 0
  313. inc %draw.height
  314. draw.regrid
  315. draw.showdim
  316. drawdot @ASCII�Paint
  317. }
  318. }
  319. elseif ($keyval == 38) {
  320. if (%draw.height > 1) {
  321. hdel draw %draw.height
  322. dec %draw.height
  323. draw.regrid
  324. draw.showdim
  325. drawdot @ASCII�Paint
  326. }
  327. }
  328. elseif ($keyval == 37) {
  329. if (%draw.width > 1) {
  330. set %x 1
  331. while (%x <= %draw.height) {
  332. hadd -m draw %x $gettok($hget(draw,%x),1- $+ $calc(%draw.width - 1),44)
  333. inc %x
  334. }
  335. dec %draw.width
  336. draw.regrid
  337. draw.showdim
  338. drawdot @ASCII�Paint
  339. }
  340. }
  341. elseif ($keyval == 39) {
  342. if (%draw.width < 90) {
  343. set %x 1
  344. while (%x <= %draw.height) {
  345. hadd -m draw %x $hget(draw,%x) $+ ,0
  346. inc %x
  347. }
  348. inc %draw.width
  349. draw.regrid
  350. draw.showdim
  351. drawdot @ASCII�Paint
  352. }
  353. }
  354. elseif ($keychar == S) || ($keyrpt == 0) {
  355. draw.tip Autosaving...
  356. set %draw.spam autosave.draw
  357. write -c " $+ %draw.spam $+ "
  358. set %x 1
  359. while (%x <= %draw.height) {
  360. set %draw.spamtemp $replace($hget(draw,%x),$chr(44),$chr(32))
  361. unset %draw.spamtemp2
  362. unset %draw.spamtemp3
  363. set %y 1
  364. while (%y <= $numtok(%draw.spamtemp,32)) {
  365. if (%draw.spamtemp3 == $gettok(%draw.spamtemp,%y,32)) {
  366. set %draw.spamtemp2 %draw.spamtemp2 $+ X
  367. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  368. }
  369. else {
  370. set %draw.spamtemp2 %draw.spamtemp2 $+  $+ $gettok(%draw.spamtemp,%y,32) $+ , $+ $gettok(%draw.spamtemp,%y,32) $+ X
  371. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  372. }
  373. inc %y 1
  374. }
  375. write " $+ %draw.spam $+ " %draw.spamtemp2
  376. inc %x 1
  377. }
  378. draw.nomenu
  379. draw.tip Autosave complete.
  380. }
  381. }
  382.  
  383. alias -l draw.open {
  384. set %draw.tempfile $$sfile($iif(%draw.path,%draw.path,$mircdir),Apri file...,Apri)
  385. set %draw.path $nofile(%draw.tempfile)
  386. if ($exists(%draw.tempfile) == $true) {
  387. if ($gettok(%draw.tempfile,$numtok(%draw.tempfile,46),46) == JPG) || ($gettok(%draw.tempfile,$numtok(%draw.tempfile,46),46) == BMP) || ($gettok(%draw.tempfile,$numtok(%draw.tempfile,46),46) == PNG) {
  388. draw.loadimage %draw.tempfile
  389. halt
  390. }
  391. hadd -m draw 1 hi
  392. hfree draw
  393. set %draw.tempheight $lines(%draw.tempfile)
  394. set %draw.tempwidth $len($strip($read(%draw.tempfile,nt,1)))
  395. set %x 1
  396. while (%x <= $lines(%draw.tempfile)) {
  397. if (%draw.tempwidth != $len($strip($read(%draw.tempfile,nt,%x)))) || ($strip($read(%draw.tempfile,nt,1)) == $read(%draw.tempfile,nt,1)) {
  398. draw.tip Invalid file, loading halted.
  399. set %draw.curtip NONE
  400. set -u1 %draw.nodraw 1
  401. halt
  402. }
  403. inc %x 1
  404. }
  405. if (%draw.tempwidth < 1) || (%draw.tempwidth > 90) || (%draw.tempheight > 61) || (%draw.tempheight < 1) {
  406. draw.tip Invalid file, loading halted.
  407. set %draw.curtip NONE
  408. set -u1 %draw.nodraw 1
  409. halt
  410. }
  411. else {
  412. set %draw.height %draw.tempheight
  413. set %draw.width %draw.tempwidth
  414. }
  415. draw
  416. set %x 1
  417. while (%x <= $lines(%draw.tempfile)) {
  418. hadd -m draw %x $draw.load.conv($read(%draw.tempfile,nt,%x))
  419. inc %x 1
  420. }
  421. set -u1 %draw.nodraw 1
  422. draw.draw
  423. titlebar @ASCII�Paint - $nopath(%draw.tempfile)
  424. set %draw.send.DESC $iif($numtok($nopath(%draw.tempfile),46) > 1,$gettok($nopath(%draw.tempfile),$calc($numtok($nopath(%draw.tempfile),46) - 1),46),$nopath(%draw.tempfile))
  425. drawdot @ASCII�Paint
  426. }
  427. }
  428. alias -l draw.load.conv {
  429. set %draw.temp $strip($$1-,bur)
  430. unset %draw.w
  431. set %draw.x 1
  432. while (%draw.x <= $numtok(%draw.temp,3)) {
  433. set %draw.y $gettok(%draw.temp,%draw.x,3)
  434. set %draw.z $gettok(%draw.y,1,44)
  435. set %draw.y $remove($gettok(%draw.y,2,44),1,2,3,4,5,6,7,8,9,0)
  436. set %draw.a 1
  437. while (%draw.a <= $len(%draw.y)) {
  438. if ($len(%draw.w) > 0) {
  439. set %draw.w %draw.w $+ , $+ %draw.z
  440. }
  441. else {
  442. set %draw.w %draw.z
  443. }
  444. inc %draw.a 1
  445. }
  446. inc %draw.x 1
  447. }
  448. return %draw.w
  449. }
  450. alias -l draw.open-OLD {
  451. set %draw.tempfile $$sfile($iif(%draw.path,%draw.path,$mircdir),Apri file...,Apri)
  452. set %draw.path $nofile(%draw.tempfile)
  453. if ($exists(%draw.tempfile) == $true) {
  454. set %draw.x 2
  455. if ($read(%draw.tempfile,nt,1) != ASCII-PAINT SAVE FILE.) {
  456. if ($$?!="File is not valid save file, loading may have unpredictable results. Continue?" == $false) { halt }
  457. else { set %draw.x 1 }
  458. }
  459. hadd -m draw 1 hi
  460. hfree draw
  461. set %draw.tempheight $calc($lines(%draw.tempfile) - %draw.x + 1)
  462. set %draw.tempwidth $numtok($read(%draw.tempfile,nt,%draw.x),44)
  463. if (%draw.tempwidth < 1) || (%draw.tempwidth > 90) || (%draw.tempheight > 61) || (%draw.tempheight < 1) {
  464. halt
  465. }
  466. else {
  467. set %draw.height %draw.tempheight
  468. set %draw.width %draw.tempwidth
  469. }
  470. draw
  471. set %x %draw.x
  472. unset %draw.x
  473. while (%x <= $lines(%draw.tempfile)) {
  474. hadd -m draw $calc(%x - 1) $read(%draw.tempfile,nt,%x)
  475. inc %x 1
  476. }
  477. set -u1 %draw.nodraw 1
  478. draw.draw
  479. drawdot @ASCII�Paint
  480. }
  481. }
  482. alias -l draw.regrid {
  483. window -af @ASCII�Paint -1 -1 $iif($calc(5 + (%draw.width * %draw.gridx)) > 280, $calc(5 + (%draw.width * %draw.gridx)), 280) $calc(103 + (%draw.height * %draw.gridy))
  484. drawrect -fr @ASCII�Paint %draw.color2 1 0 0 $window(@ASCII�Paint).w $window(@ASCII�Paint).h
  485. draw.mainmenu
  486. drawrect -nrf @ASCII�Paint %draw.color2 1 2 40 $window(@ASCII�Paint).w $window(@ASCII�Paint).h
  487. if (%draw.grid == 1) {
  488. drawrect -nr @ASCII�Paint %draw.color1 1 2 40 $calc(1 + (%draw.width * %draw.gridx)) $calc(1 + (%draw.height * %draw.gridy))
  489. set %x 1
  490. while (%x <= %draw.width) {
  491. drawline -nr @ASCII�Paint %draw.color1 1 $calc(2 + (%x * %draw.gridx)) 40 $calc(2 + (%x * %draw.gridx)) $calc(40 + (%draw.height * %draw.gridy))
  492. inc %x 1
  493. }
  494. set %x 1
  495. while (%x <= %draw.height) {
  496. drawline -nr @ASCII�Paint %draw.color1 1 2 $calc(40 + (%x * %draw.gridy)) $calc(2 + (%draw.width * %draw.gridx)) $calc(40 + (%x * %draw.gridy))
  497. inc %x 1
  498. }
  499. }
  500. draw.draw
  501. draw.colorbox
  502. draw.showcolor
  503. drawdot @ASCII�Paint
  504. }
  505. alias -l draw.draw {
  506. set %x 1
  507. while (%x <= %draw.height) {
  508. set %y $hget(draw,%x)
  509. set %z 1
  510. while (%z <= %draw.width) {
  511. drawrect -nf @ASCII�Paint $iif($gettok(%y,%z,44),$gettok(%y,%z,44),0) 1 $calc(3 + ($calc(%z - 1) * %draw.gridx)) $calc(41 + ($calc(%x - 1) * %draw.gridy)) $calc(%draw.gridx - $iif(%draw.grid == 1,1,0)) $calc(%draw.gridy - $iif(%draw.grid == 1,1,0))
  512. inc %z 1
  513. }
  514. inc %x 1
  515. }
  516. }
  517. alias -l draw.exit { window -c @ASCII�Paint }
  518. alias -l draw.spam {
  519. if ($window(@Spam�Channel)) { window -c @Spam�Channel }
  520. set %draw.spam %draw.spam.chan
  521. set %draw.spam.chan %draw.spam
  522. set %x 1
  523. while (%x <= %draw.height) {
  524. set %draw.spamtemp $replace($hget(draw,%x),$chr(44),$chr(32))
  525. unset %draw.spamtemp2
  526. unset %draw.spamtemp3
  527. set %y 1
  528. while (%y <= $numtok(%draw.spamtemp,32)) {
  529. if (%draw.spamtemp3 == $gettok(%draw.spamtemp,%y,32)) {
  530. set %draw.spamtemp2 %draw.spamtemp2 $+ X
  531. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  532. }
  533. else {
  534. set %draw.spamtemp2 %draw.spamtemp2 $+  $+ $gettok(%draw.spamtemp,%y,32) $+ , $+ $gettok(%draw.spamtemp,%y,32) $+ X
  535. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  536. }
  537. inc %y 1
  538. }
  539. .timer -m 1 $calc(((%x - 1) * %draw.delay) + 1) MSG %draw.spam %draw.spamtemp2
  540. inc %x 1
  541. }
  542. }
  543. alias -l draw.rotate {
  544. hadd -m draw2 1 hi
  545. hfree draw2
  546. set %x $hget(draw,0).item
  547. while (%x > 0) {
  548. set %z $hget(draw,%x)
  549. set %y $numtok(%z,44)
  550. while (%y > 0) {
  551. set %w $hget(draw2,%y)
  552. if ($len(%w) > 0) {
  553. hadd -m draw2 %y %w $+ , $+ $gettok(%z,%y,44)
  554. }
  555. else {
  556. hadd -m draw2 %y $gettok(%z,%y,44)
  557. }
  558. dec %y 1
  559. }
  560. dec %x 1
  561. }
  562. set %x 1
  563. hadd -m draw 1 hi
  564. hfree draw
  565. while (%x <= $hget(draw2,0).item) {
  566. hadd -m draw %x $hget(draw2,%x)
  567. inc %x 1
  568. }
  569. set %draw.temp %draw.width
  570. set %draw.width %draw.height
  571. set %draw.height %draw.temp
  572. unset %draw.temp
  573. draw.regrid
  574. draw.showcolor
  575. draw.showdim
  576. drawdot @ASCII�Paint
  577. }
  578. alias -l draw.flip {
  579. set %x 1
  580. hadd -m draw2 1 hi
  581. hfree draw2
  582. while (%x <= $hget(draw,0).item) {
  583. hadd -m draw2 %x $hget(draw,%x)
  584. inc %x 1
  585. }
  586. hfree draw
  587. set %x $hget(draw2,0).item
  588. set %y 1
  589. while (%x > 0) {
  590. hadd -m draw %y $hget(draw2,%x)
  591. inc %y 1
  592. dec %x 1
  593. }
  594. draw.draw
  595. drawdot @ASCII�Paint
  596. }
  597. alias -l draw.mirror {
  598. set %z 1
  599. while (%z <= %draw.height) {
  600. hadd -m draw %z $draw.reverse($hget(draw,%z))
  601. inc %z 1
  602. }
  603. draw.draw
  604. drawdot @ASCII�Paint
  605. }
  606. alias -l draw.reverse {
  607. set %x $numtok($$1-,44)
  608. unset %y
  609. while (%x > 0) {
  610. if ($len(%y) > 0) {
  611. set %y %y $+ , $+ $gettok($$1-,%x,44)
  612. }
  613. else {
  614. set %y $gettok($$1-,%x,44)
  615. }
  616. dec %x 1
  617. }
  618. return %y
  619. }
  620. alias -l draw.temp {
  621. set %x 0
  622. while (%x <= 15) {
  623. inc %x 1
  624. }
  625. }
  626. alias -l draw.delay {
  627. draw.nomenu
  628. unset %draw.delaytemp
  629. set %draw.delaytemp $$input(How many second delay for spam? Default=3,5,ASCII Paint - Spam Delay,%draw.delay)
  630. if (%draw.delaytemp isnum) && (%draw.delaytemp > 0) { set %draw.delay %draw.delaytemp }
  631. else { set %draw.delay 3 }
  632. }
  633. alias -l draw.fill {
  634. set %x 1
  635. while (%x <= %draw.height) {
  636. set %y 1
  637. while (%y <= %draw.width) {
  638. hadd -m draw %x $reptok($hget(draw,%x),%draw.curcolor2,%draw.curcolor,1,44)
  639. inc %y 1
  640. }
  641. inc %x 1
  642. }
  643. draw.draw
  644. drawdot @ASCII�Paint
  645. }
  646. alias -l draw.save {
  647. set %draw.spam $$sfile($iif(%draw.path,%draw.path,$mircdir),Salva in...,Salva)
  648. set %draw.path $nofile(%draw.spam)
  649. if ($exists(%draw.spam) == $true) {
  650. if ($$?!="File exists, overwrite?" == $true) { write -c " $+ %draw.spam $+ " }
  651. else { halt }
  652. }
  653. write -c " $+ %draw.spam $+ "
  654. set %x 1
  655. while (%x <= %draw.height) {
  656. set %draw.spamtemp $replace($hget(draw,%x),$chr(44),$chr(32))
  657. unset %draw.spamtemp2
  658. unset %draw.spamtemp3
  659. set %y 1
  660. while (%y <= $numtok(%draw.spamtemp,32)) {
  661. if (%draw.spamtemp3 == $gettok(%draw.spamtemp,%y,32)) {
  662. set %draw.spamtemp2 %draw.spamtemp2 $+ X
  663. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  664. }
  665. else {
  666. set %draw.spamtemp2 %draw.spamtemp2 $+  $+ $gettok(%draw.spamtemp,%y,32) $+ , $+ $gettok(%draw.spamtemp,%y,32) $+ X
  667. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  668. }
  669. inc %y 1
  670. }
  671. write " $+ %draw.spam $+ " %draw.spamtemp2
  672. inc %x 1
  673. }
  674. titlebar @ASCII�Paint - $nopath(%draw.spam)
  675. set %draw.send.DESC $iif($numtok($nopath(%draw.spam),46) > 1,$gettok($nopath(%draw.spam),$calc($numtok($nopath(%draw.spam),46) - 1),46),$nopath(%draw.spam))
  676. draw.nomenu
  677. }
  678. alias -l draw.echo {
  679. set %x 1
  680. while (%x <= %draw.height) {
  681. set %draw.spamtemp $replace($hget(draw,%x),$chr(44),$chr(32))
  682. unset %draw.spamtemp2
  683. unset %draw.spamtemp3
  684. set %y 1
  685. while (%y <= $numtok(%draw.spamtemp,32)) {
  686. if (%draw.spamtemp3 == $gettok(%draw.spamtemp,%y,32)) {
  687. set %draw.spamtemp2 %draw.spamtemp2 $+ X
  688. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  689. }
  690. else {
  691. set %draw.spamtemp2 %draw.spamtemp2 $+  $+ $gettok(%draw.spamtemp,%y,32) $+ , $+ $gettok(%draw.spamtemp,%y,32) $+ X
  692. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  693. }
  694. inc %y 1
  695. }
  696. echo -s %draw.spamtemp2
  697. inc %x 1
  698. }
  699. draw.nomenu
  700. unset %draw.spamtemp*
  701. }
  702. alias -l draw.gridopt {
  703. set %draw.grid $$?!="Display the grid?"
  704. draw.regrid
  705. }
  706. alias -l draw.gridsize {
  707. set %draw.gridx $$input(Grid width? Default=11,5,ASCII Paint - Grid Size,%draw.gridx)
  708. set %draw.gridy $$input(Grid height? Default=16,5,ASCII Paint - Grid Size,%draw.gridy)
  709. draw.regrid
  710. }
  711. alias -l draw.send {
  712. if ($window(@Send�Image)) { window -c @Send�Image }
  713. set -u1 %draw.nodraw 1
  714. set %draw.sendto %draw.send.nick
  715. if (%draw.sendto == $null) { halt }
  716. if ($sock(drawlisten)) { sockclose drawlisten }
  717. socklisten drawlisten
  718. set %draw.sendpass $base($ticks,10,32) $+ $base($rand(1,999999),10,32)
  719. .CTCP %draw.sendto ASCII $IP $sock(drawlisten).port %draw.sendpass %draw.width %draw.height %draw.gridx %draw.gridy %draw.grid %draw.send.desc
  720. if ($exists(draw.sendto.txt) == $true) { .remove draw.sendto.txt }
  721. set %draw.spam draw.sendto.txt
  722. set %draw.path $nofile(%draw.spam)
  723. if ($exists(%draw.spam) == $true) {
  724. if ($$?!="File exists, overwrite?" == $true) { write -c " $+ %draw.spam $+ " }
  725. else { halt }
  726. }
  727. write -c " $+ %draw.spam $+ "
  728. set %x 1
  729. while (%x <= %draw.height) {
  730. set %draw.spamtemp $replace($hget(draw,%x),$chr(44),$chr(32))
  731. unset %draw.spamtemp2
  732. unset %draw.spamtemp3
  733. set %y 1
  734. while (%y <= $numtok(%draw.spamtemp,32)) {
  735. if (%draw.spamtemp3 == $gettok(%draw.spamtemp,%y,32)) {
  736. set %draw.spamtemp2 %draw.spamtemp2 $+ X
  737. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  738. }
  739. else {
  740. set %draw.spamtemp2 %draw.spamtemp2 $+  $+ $gettok(%draw.spamtemp,%y,32) $+ , $+ $gettok(%draw.spamtemp,%y,32) $+ X
  741. set %draw.spamtemp3 $gettok(%draw.spamtemp,%y,32)
  742. }
  743. inc %y 1
  744. }
  745. write " $+ %draw.spam $+ " %draw.spamtemp2
  746. inc %x 1
  747. }
  748. draw.tip Sending request to %draw.sendto $+ ...
  749. set %draw.curtip NONE
  750. }
  751.  
  752. ON 1:socklisten:drawlisten: {
  753. if ($sockerr > 0) { return }
  754. set %draw.temp draws. $+ $ticks
  755. sockaccept %draw.temp
  756. .timer $+ %draw.temp 1 300 sockclose %draw.temp
  757. }
  758. ON 1:sockread:draws.*: {
  759. if ($sockerr > 0) { return }
  760. sockread %temp
  761. if (%temp == %draw.sendpass) {
  762. set %draw.sendpass $base($ticks,10,32) $+ $base($rand(1,999999),10,32)
  763. if ($exists(draw.sendto.txt) == $true) {
  764. set %draw.tempfile draw.sendto.txt
  765. set %draw.path $nofile(%draw.tempfile)
  766. if ($exists(%draw.tempfile) == $true) {
  767. set %draw.tempheight $lines(%draw.tempfile)
  768. set %draw.tempwidth $len($strip($read(%draw.tempfile,nt,1)))
  769. set %x 1
  770. while (%x <= $lines(%draw.tempfile)) {
  771. if (%draw.tempwidth != $len($strip($read(%draw.tempfile,nt,%x)))) || ($strip($read(%draw.tempfile,nt,1)) == $read(%draw.tempfile,nt,1)) {
  772. sockwrite -n $sockname >>>CANCELLED
  773. .remove draw.sendto.txt
  774. .sockclose drawlisten
  775. .timer $+ $sockname off
  776. set %draw.curtip NONE
  777. set -u1 %draw.nodraw 1
  778. halt
  779. }
  780. inc %x 1
  781. }
  782. if (%draw.tempwidth < 1) || (%draw.tempwidth > 150) || (%draw.tempheight > 150) || (%draw.tempheight < 1) {
  783. sockwrite -n $sockname >>>CANCELLED
  784. .remove draw.sendto.txt
  785. .sockclose drawlisten
  786. .timer $+ $sockname off
  787. set %draw.curtip NONE
  788. set -u1 %draw.nodraw 1
  789. halt
  790. }
  791. else {
  792. sockwrite -n $sockname >>>DIM %draw.tempheight %draw.tempwidth
  793. }
  794. set %x 1
  795. while (%x <= $lines(%draw.tempfile)) {
  796. sockwrite -n $sockname >>>HASH %x $draw.load.conv($read(%draw.tempfile,nt,%x))
  797. inc %x 1
  798. }
  799. sockwrite -n $sockname >>>FINISHED
  800. set %draw.sendpass $base($ticks,10,32) $+ $base($rand(1,999999),10,32)
  801. .sockclose drawlisten
  802. .remove draw.sendto.txt
  803. .timer $+ $sockname off
  804. draw.tip Image sent successfully.
  805. }
  806. }
  807. }
  808. else {
  809. sockwrite -n $sockname >>>BADAUTH
  810. .timer $+ $sockname off
  811. }
  812. }
  813.  
  814. CTCP *:ASCII:?: {
  815. if ($4 == $null) { halt }
  816. set %draw.temp.get.nick $fulladdress
  817. set %draw.temp.get.ip $$2
  818. set %draw.temp.get.port $$3
  819. set %draw.temp.get.pass $$4
  820. set %draw.temp.get.dim $$5-9
  821. unset %draw.temp.get.desc
  822. set %draw.temp.get.desc $10-
  823. draw.getwindow
  824. haltdef
  825. halt
  826. }
  827.  
  828. alias -l draw-get {
  829. set -u1 %draw.nodraw 1
  830. if ($window(@Receive�Image)) { window -c @Receive�Image }
  831. if (%draw.temp.get.usedim == $true) {
  832. set %draw.gridx $gettok(%draw.temp.get.dim,3,32)
  833. set %draw.gridy $gettok(%draw.temp.get.dim,4,32)
  834. set %draw.grid $gettok(%draw.temp.get.dim,5,32)
  835. }
  836. set %draw.get.ip %draw.temp.get.ip
  837. set %draw.get.port %draw.temp.get.port
  838. set %draw.get.pass %draw.temp.get.pass
  839.  
  840. draw
  841. hadd -m draw 1 hi
  842. hfree -w draw
  843. set %draw.nodraw 1
  844. draw.tip Connecting...
  845. if ($sock(draw.get)) { sockclose draw.get }
  846. sockopen draw.get %draw.get.ip %draw.get.port
  847. .timerdraw.getstop 1 15 draw.getstop
  848. }
  849.  
  850. ON 1:sockopen:draw.get: {
  851. if ($sockerr > 0) {
  852. draw.tip $sock($sockname).wsmsg
  853. set %draw.nodraw 0
  854. return
  855. }
  856. sockwrite -n $sockname %draw.get.pass
  857. .timerdraw.getstop 1 30 draw.getstop
  858. draw.tip Connected, validating...
  859. set %draw.dots ...
  860. }
  861. ON 1:sockclose:draw.get: {
  862. if ($sockerr > 0) { return }
  863. set %draw.nodraw 0
  864. }
  865. ON 1:sockread:draw.get: {
  866. if ($sockerr > 0) { return }
  867. sockread %temp
  868. tokenize 32 %temp
  869. draw.tip Receiving data $+ %draw.dots
  870. set %draw.curtip NONE
  871. if ($len(%draw.dots == 1)) { set %draw.temp.dots .. }
  872. if ($len(%draw.dots == 2)) { set %draw.temp.dots ... }
  873. if ($len(%draw.dots == 3)) { set %draw.temp.dots . }
  874. set %draw.dots %draw.temp.dots
  875. unset %draw.temp.dots
  876. if ($$1 == >>>DIM) {
  877. if ($$2 < 150) && ($$3 < 150) {
  878. set %draw.height $$2
  879. set %draw.width $$3
  880. draw.regrid
  881. drawdot @ASCII�Paint
  882. }
  883. }
  884. elseif ($$1 == >>>HASH) {
  885. hadd -m draw $$2-
  886. }
  887. elseif ($$1 == >>>FINISHED) {
  888. draw.draw
  889. draw.showdim
  890. drawdot @ASCII�PAINT
  891. draw.tip Drawing received.
  892. set %draw.nodraw 0
  893. sockclose $sockname
  894. .timerdraw.getstop off
  895. }
  896. elseif ($$1 == >>>BADAUTH) {
  897. draw.tip Bad authentication.
  898. sockclose $sockname
  899. .timerdraw.getstop off
  900. }
  901. elseif ($$1 == >>>CANCELLED) {
  902. draw.tip Send cancelled.
  903. sockclose $sockname
  904. set %draw.nodraw 0
  905. .timerdraw.getstop off
  906. }
  907. }
  908.  
  909. alias -l draw.getstop {
  910. if ($sock(draw.get)) {
  911. draw.tip Socket timed out...
  912. draw
  913. sockclose draw.get
  914. set %draw.nodraw 0
  915. }
  916. }
  917. alias -l gui.init {
  918. hadd -m gui.cmd. $+ $$1 1 hi
  919. hfree -w gui.*. $+ $$1
  920. }
  921. alias -l gui.set.cmd {
  922. hadd -m gui.cmd. $+ $$1 $$2 $$3-
  923. }
  924. alias -l gui.button.txt {
  925. tokenize 32 $$1 $$2 $gettok($hget(gui.controls. $+ $$1,$$2),2-5,32) $3-
  926. hadd -m gui.controls. $+ $$1 $$2 BUTTON $$3-
  927. drawrect -nrf $$1 %draw.color2 1 $$3-6
  928. drawrect -nr $$1 %draw.color1 1 $$3-6
  929. if ($7) {
  930. drawtext -ncr $$1 %draw.color1 Fixedsys 14 $round($calc(($$3 + ($$5 / 2)) - ($width($$7-,fixedsys,14) / 2)),0) $round($calc(($$4 + ($$6 / 2)) - ($height($$7-,Fixedsys,14) / 2)),0) $width($$7-,Fixedsys,14) $height($$7-,Fixedsys,14) $7-
  931. }
  932. drawdot $$1
  933. }
  934. alias -l gui.button {
  935. if ($window($$1)) {
  936. hadd -m gui.controls. $+ $$1 $$2 BUTTON $$3-6 $7-
  937. drawrect -nrf $$1 %draw.color2 1 $$3-6
  938. drawrect -nr $$1 %draw.color1 1 $$3-6
  939. drawtext -ncr $$1 %draw.color1 Fixedsys 14 $round($calc(($$3 + ($$5 / 2)) - ($width($$7-,fixedsys,14) / 2)),0) $round($calc(($$4 + ($$6 / 2)) - ($height($$7-,Fixedsys,14) / 2)),0) $width($$7-,Fixedsys,14) $height($$7-,Fixedsys,14) $$7-
  940. drawdot $$1
  941. }
  942. }
  943. alias -l gui.edit {
  944. drawrect -nrf $$1 $gui.rgbmorph(%draw.color2) 1 $$3-6
  945. drawrect -nr $$1 %draw.color1 1 $$3-6
  946. hadd -m gui.controls. $+ $$1 $$2 editbox $$3-8
  947. if ($8) {
  948. set % $+ [ $$8 ] $9-
  949. }
  950. set %draw.gui.temp.curtext $9-
  951. set %y editbox $$3-8
  952. if ($len(%draw.gui.temp.curtext) > 0) {
  953. drawtext -nrc $$1 %draw.color1 Fixedsys 14 $calc($gettok(%y,2,32) + 2) $calc($gettok(%y,3,32) + 2) $calc($gettok(%y,4,32) - 4) $calc($gettok(%y,5,32) - 4) %draw.gui.temp.curtext
  954. }
  955. drawdot $$1
  956. }
  957. alias -l gui.rgbmorph {
  958. if ($chr(44) isin $$1) {
  959. tokenize 44 $$1
  960. }
  961. else {
  962. tokenize 44 $rgb($$1)
  963. }
  964. return $rgb($int($calc($$1 + ((255 - $$1) / 2))),$int($calc($$2 + ((255 - $$2) / 2))),$int($calc($$3 + ((255 - $$3) / 2))))
  965. }
  966. alias -l gui.process.sclick {
  967. set %x 1
  968. while (%x <= $hget(gui.controls. $+ $$1,0).item) {
  969. set %y $hget(gui.controls. $+ $$1,%x)
  970. if ($inrect($$2,$$3,$gettok(%y,2,32),$gettok(%y,3,32),$gettok(%y,4,32),$gettok(%y,5,32)) == $true) {
  971. if ($gettok(%y,1,32) == editbox) {
  972. set %draw.gui.temp.curtext [ % $+ [ $gettok(%y,7,32) ] ]
  973. set %draw.gui.temp.curvar $gettok(%y,7,32)
  974. set %draw.gui.temp.maxlen $gettok(%y,6,32)
  975. drawtext -nrc $$1 %draw.color1 Fixedsys 14 $calc($gettok(%y,2,32) + 2) $calc($gettok(%y,3,32) + 2) $calc($gettok(%y,4,32) - 4) $calc($gettok(%y,5,32) - 4) %draw.gui.temp.curtext $+ _
  976. drawdot $$1
  977. gui.setfocus $$1 %x
  978. halt
  979. }
  980. elseif ($gettok(%y,1,32) == button) {
  981. gui.setfocus $$1 %x
  982. $hget(gui.cmd. $+ $$1,%x)
  983. halt
  984. }
  985. }
  986. else {
  987. gui.setfocus $$1 NONE
  988. }
  989. inc %x 1
  990. }
  991. }
  992. alias -l gui.forcefocus {
  993. set %y $hget(gui.controls. $+ $$1,$$2)
  994. if ($gettok(%y,1,32) == EDITBOX) {
  995. set %draw.gui.temp.curtext [ % $+ [ $gettok(%y,7,32) ] ]
  996. set %draw.gui.temp.curvar $gettok(%y,7,32)
  997. set %draw.gui.temp.maxlen $gettok(%y,6,32)
  998. drawtext -nrc $$1 %draw.color1 Fixedsys 14 $calc($gettok(%y,2,32) + 2) $calc($gettok(%y,3,32) + 2) $calc($gettok(%y,4,32) - 4) $calc($gettok(%y,5,32) - 4) %draw.gui.temp.curtext $+ _
  999. drawdot $$1
  1000. gui.setfocus $$1 $$2
  1001. }
  1002. elseif ($gettok(%y,1,32) == BUTTON) {
  1003. drawrect -nrf $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 1 $gettok(%y,2-5,32)
  1004. drawrect -nr $gettok(%draw.gui.temp.curfocus,1,32) %draw.color2 1 $gettok(%y,2-5,32)
  1005. drawtext -ncr $gettok(%draw.gui.temp.curfocus,1,32) %draw.color2 Fixedsys 14 $round($calc(($gettok(%y,2,32) + ($gettok(%y,4,32) / 2)) - ($width($gettok(%y,6-,32),fixedsys,14) / 2)),0) $round($calc(($gettok(%y,3,32) + ($gettok(%y,5,32) / 2)) - ($height($gettok(%y,6-,32),Fixedsys,14) / 2)),0) $width($gettok(%y,6-,32),Fixedsys,14) $height($gettok(%y,6-,32),Fixedsys,14) $gettok(%y,6-,32)
  1006. drawdot $gettok(%draw.gui.temp.curfocus,1,32)
  1007. gui.setfocus $$1 $$2
  1008. }
  1009. }
  1010. alias -l gui.process.keydown {
  1011. if ($$2 == 8) && ($$3 == NORMAL) {
  1012. set %draw.gui.temp.curtext $left(%draw.gui.temp.curtext, $calc($len(%draw.gui.temp.curtext) - 1))
  1013. set % $+ [ %draw.gui.temp.curvar ] %draw.gui.temp.curtext
  1014. gui.redrawcurrenteditbox $$1
  1015. }
  1016. elseif ($$3 == NORMAL) && ($$2 == 32) && ($len(%draw.gui.temp.curtext) < %draw.gui.temp.maxlen) {
  1017. set %draw.gui.temp.curtext %draw.gui.temp.curtext $+ $chr(160)
  1018. set % $+ [ %draw.gui.temp.curvar ] %draw.gui.temp.curtext
  1019. gui.redrawcurrenteditbox $$1
  1020. }
  1021. elseif ($$3 == NORMAL) && ($$2 == 9) {
  1022. if ($gettok(%draw.gui.temp.curfocus,2,32) != NONE) {
  1023. gui.forcefocus $gettok(%draw.gui.temp.curfocus,1,32) $iif($calc($gettok(%draw.gui.temp.curfocus,2,32) + 1) > $hget(gui.controls. $+ $gettok(%draw.gui.temp.curfocus,1,32),0).item,1,$calc($gettok(%draw.gui.temp.curfocus,2,32) + 1))
  1024. }
  1025. else {
  1026. gui.forcefocus $gettok(%draw.gui.temp.curfocus,1,32) 1
  1027. }
  1028. }
  1029. elseif ($$3 == NORMAL) && ($$2 == 13) {
  1030. $hget(gui.cmd. $+ $gettok(%draw.gui.temp.curfocus,1,32),$gettok(%draw.gui.temp.curfocus,2,32))
  1031. }
  1032. else {
  1033. if ($$3 == NORMAL) && ($len($4 > 0)) && ($len(%draw.gui.temp.curtext) < %draw.gui.temp.maxlen) {
  1034. set %draw.gui.temp.curtext %draw.gui.temp.curtext $+ $$4
  1035. set % $+ [ %draw.gui.temp.curvar ] %draw.gui.temp.curtext
  1036. gui.redrawcurrenteditbox $$1
  1037. }
  1038. }
  1039. }
  1040. alias -l gui.setfocus {
  1041. if ($$1- != %draw.gui.temp.curfocus) {
  1042. if ($window($gettok(%draw.gui.temp.curfocus,1,32))) {
  1043. set %y $hget(gui.controls. $+ $gettok(%draw.gui.temp.curfocus,1,32),$gettok(%draw.gui.temp.curfocus,2,32))
  1044. if ($gettok(%y,1,32) == EDITBOX) {
  1045. drawrect -nrf $gettok(%draw.gui.temp.curfocus,1,32) $gui.rgbmorph(%draw.color2) 1 $gettok(%y,2-5,32)
  1046. drawrect -nr $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 1 $gettok(%y,2-5,32)
  1047. if ($len([ % $+ [ $gettok(%y,7,32) ] ]) > 0) {
  1048. drawtext -nrc $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 Fixedsys 14 $calc($gettok(%y,2,32) + 2) $calc($gettok(%y,3,32) + 2) $calc($gettok(%y,4,32) - 4) $calc($gettok(%y,5,32) - 4) [ % $+ [ $gettok(%y,7,32) ] ]
  1049. }
  1050. drawdot $gettok(%draw.gui.temp.curfocus,1,32)
  1051. }
  1052. elseif ($gettok(%y,1,32) == BUTTON) {
  1053. drawrect -nrf $gettok(%draw.gui.temp.curfocus,1,32) %draw.color2 1 $gettok(%y,2-5,32)
  1054. drawrect -nr $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 1 $gettok(%y,2-5,32)
  1055. drawtext -ncr $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 Fixedsys 14 $round($calc(($gettok(%y,2,32) + ($gettok(%y,4,32) / 2)) - ($width($gettok(%y,6-,32),fixedsys,14) / 2)),0) $round($calc(($gettok(%y,3,32) + ($gettok(%y,5,32) / 2)) - ($height($gettok(%y,6-,32),Fixedsys,14) / 2)),0) $width($gettok(%y,6-,32),Fixedsys,14) $height($gettok(%y,6-,32),Fixedsys,14) $gettok(%y,6-,32)
  1056. drawdot $gettok(%draw.gui.temp.curfocus,1,32)
  1057. }
  1058. }
  1059. set %draw.gui.temp.curfocus $$1-
  1060. }
  1061. }
  1062. alias -l gui.redrawcurrenteditbox {
  1063. if ($gettok(%draw.gui.temp.curfocus,1,32) == $$1) {
  1064. set %y $hget(gui.controls. $+ $gettok(%draw.gui.temp.curfocus,1,32),$gettok(%draw.gui.temp.curfocus,2,32))
  1065. if ($gettok(%y,1,32) == EDITBOX) {
  1066. drawrect -nrf $gettok(%draw.gui.temp.curfocus,1,32) $gui.rgbmorph(%draw.color2) 1 $gettok(%y,2-5,32)
  1067. drawrect -nr $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 1 $gettok(%y,2-5,32)
  1068. drawtext -nrc $gettok(%draw.gui.temp.curfocus,1,32) %draw.color1 Fixedsys 14 $calc($gettok(%y,2,32) + 2) $calc($gettok(%y,3,32) + 2) $calc($gettok(%y,4,32) - 4) $calc($gettok(%y,5,32) - 4) %draw.gui.temp.curtext $+ _
  1069. drawdot $gettok(%draw.gui.temp.curfocus,1,32)
  1070. }
  1071. }
  1072. }
  1073. alias -l draw.gridoptions {
  1074. gui.init @Paint�Options
  1075. window -aBdfhiknop +fnt @Paint�Options -1 -1 210 155
  1076. window -a @Paint�Options
  1077. drawfill -nr @Paint�Options %draw.color2 %draw.color2 1 1
  1078. drawtext -ncr @Paint�Options %draw.color1 Fixedsys 14 2 2 90 20 Griglia:
  1079. drawtext -nrc @Paint�Options %draw.color1 Fixedsys 14 1 20 50 20 Altez.:
  1080. gui.edit @Paint�Options 1 60 20 28 20 2 DRAW.GRIDX %draw.gridx
  1081. gui.set.cmd @Paint�Options 1 draw.gridoptions.close
  1082. drawtext -nrc @Paint�Options %draw.color1 Fixedsys 14 106 20 58 20 Largh.:
  1083. gui.edit @Paint�Options 2 164 20 28 20 2 DRAW.GRIDY %draw.gridy
  1084. gui.set.cmd @Paint�Options 2 draw.gridoptions.close
  1085. drawtext -ncr @Paint�Options %draw.color1 Fixedsys 14 2 52 190 20 Dimensioni immagine:
  1086. drawtext -nrc @Paint�Options %draw.color1 Fixedsys 14 1 70 50 20 Largh.:
  1087. gui.edit @Paint�Options 3 60 70 36 20 3 DRAW.WIDTH %draw.WIDTH
  1088. gui.set.cmd @Paint�Options 3 draw.gridoptions.close
  1089. drawtext -nrc @Paint�Options %draw.color1 Fixedsys 14 106 70 58 20 Altez.:
  1090. gui.edit @Paint�Options 4 164 70 36 20 3 DRAW.HEIGHT %draw.HEIGHT
  1091. gui.set.cmd @Paint�Options 4 draw.gridoptions.close
  1092. gui.button @Paint�Options 5 10 100 190 20 $iif(%draw.grid == 1,Disattiva,Attiva) Griglia
  1093. gui.set.cmd @Paint�Options 5 draw.buttonenablegridtoggle
  1094. drawline -nr @Paint�Options %draw.color1 1 10 125 200 125
  1095. gui.button @Paint�Options 6 10 130 190 20 Ok
  1096. gui.set.cmd @Paint�Options 6 draw.gridoptions.close
  1097. drawdot @Paint�Options
  1098. gui.forcefocus @Paint�Options 1
  1099. }
  1100.  
  1101. menu @Paint�Options {
  1102. sclick gui.process.sclick @Paint�Options $mouse.x $mouse.y
  1103. }
  1104.  
  1105. ON 1:keydown:@Paint�Options:*: {
  1106. if ($keyval == 255) { set %draw.gui.keyval.wait 1 | halt }
  1107. if (%draw.gui.keyval.wait == 1) { gui.process.keydown @Paint�Options $keyval ALT $keychar | set %draw.gui.keyval.wait 0 }
  1108. else {
  1109. if ($keychar isnum 0-) || ($keyval == 8) || ($keyval == 13) || ($keyval == 9) { gui.process.keydown @Paint�Options $keyval NORMAL $keychar }
  1110. }
  1111. }
  1112.  
  1113. alias -l draw.buttonenablegridtoggle {
  1114. set %draw.temp.grid %draw.grid
  1115. if (%draw.temp.grid == 1) { set %draw.grid 0 }
  1116. else { set %draw.grid 1 }
  1117. unset %draw.temp.grid
  1118. gui.button.txt @Paint�Options 5 $iif(%draw.grid == 1,Disattiva,Attiva) Griglia
  1119. }
  1120.  
  1121. ON 1:CLOSE:@Paint�Options: {
  1122. if ($window(@Ascii�PAINT)) {
  1123. set -u1 %draw.nodraw 1
  1124. if (%draw.height < 1) { set %draw.height 1 }
  1125. if (%draw.width < 1) { set %draw.width 1 }
  1126. if (%draw.gridx < 1) { set %draw.gridx 1 }
  1127. if (%draw.gridy < 1) { set %draw.gridy 1 }
  1128. draw.fixhash
  1129. draw.regrid
  1130. draw.showdim
  1131. drawdot @ASCII�Paint
  1132. }
  1133. }
  1134.  
  1135. alias -l draw.gridoptions.close {
  1136. hfree -w gui.*.@Paint�Options
  1137. window -c @Paint�Options
  1138. if ($window(@Ascii�PAINT)) {
  1139. set -u1 %draw.nodraw 1
  1140. if (%draw.height < 1) { set %draw.height 1 }
  1141. if (%draw.width < 1) { set %draw.width 1 }
  1142. if (%draw.gridx < 1) { set %draw.gridx 1 }
  1143. if (%draw.gridy < 1) { set %draw.gridy 1 }
  1144. draw.fixhash
  1145. draw.regrid
  1146. draw.showdim
  1147. drawdot @ASCII�Paint
  1148. }
  1149. }
  1150. alias -l draw.sendto {
  1151. gui.init @Send�Image
  1152. window -aBdfhiknop +fnt @Send�Image -1 -1 320 155
  1153. window -a @Send�Image
  1154. drawfill -nr @Send�Image %draw.color2 %draw.color2 1 1
  1155. drawtext -ncr @Send�Image %Draw.color1 Fixedsys 14 10 10 200 20 Senda a (IRC Nickname):
  1156. gui.edit @Send�Image 1 10 40 300 20 36 DRAW.SEND.NICK %draw.send.nick
  1157. gui.set.cmd @Send�Image 1 draw.send
  1158. drawtext -ncr @Send�Image %draw.color1 Fixedsys 14 10 70 200 20 Descrizione Immagine:
  1159. gui.edit @Send�Image 2 10 100 300 20 36 DRAW.SEND.DESC %draw.send.DESC
  1160. gui.set.cmd @Send�Image 2 draw.send
  1161. gui.button @Send�Image 3 10 130 300 20 Send!
  1162. gui.set.cmd @Send�Image 3 draw.send
  1163. gui.forcefocus @Send�Image 1
  1164. }
  1165.  
  1166. menu @Send�Image {
  1167. sclick gui.process.sclick @Send�Image $mouse.x $mouse.y
  1168. }
  1169.  
  1170. ON 1:keydown:@Send�Image:*: {
  1171. if ($keyval == 255) { set %draw.gui.keyval.wait 1 | halt }
  1172. if (%draw.gui.keyval.wait == 1) { gui.process.keydown @Send�Image $keyval ALT $keychar | set %draw.gui.keyval.wait 0 }
  1173. else {
  1174. gui.process.keydown @Send�Image $keyval NORMAL $keychar
  1175. }
  1176. }
  1177.  
  1178. alias -l draw.getwindow {
  1179. if ($window(@Receive�Image)) { window -c @Receive�Image }
  1180. gui.init @Send�Image
  1181. window -aBfiknp +fnt @Receive�Image -1 -1 320 220
  1182. window -a @Receive�Image
  1183. drawfill -nr @Receive�Image %draw.color2 %draw.color2 1 1
  1184. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 1 2 300 20 Image send requested from:
  1185. drawtext -ncr @Receive�Image %draw.color1 Fixedsys 14 10 22 300 20 %draw.temp.get.nick
  1186. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 1 42 300 20 Description:
  1187. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 10 62 300 20 $iif(%draw.temp.get.desc,%draw.temp.get.desc,None provided)
  1188. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 1 82 300 20 IP/Port:
  1189. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 10 102 300 20 %draw.temp.get.ip $+ : $+ %draw.temp.get.port
  1190. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 1 122 300 20 Dimensions:
  1191. drawtext -ncr @Receive�Image %Draw.color1 Fixedsys 14 10 142 300 20 Image: $gettok(%draw.temp.get.dim,1,32) $+ x $+ $gettok(%draw.temp.get.dim,2,32) Grid: $gettok(%draw.temp.get.dim,3,32) $+ x $+ $gettok(%draw.temp.get.dim,4,32) Grid is $iif($gettok(%draw.temp.get.dim,5,32) == $true,on,off)
  1192. drawline -ncr @Receive�Image %draw.color1 1 3 187 317 187
  1193. set %draw.temp.get.usedim $false
  1194. gui.button @Receive�Image 1 10 162 300 20 Use custom dimensions
  1195. gui.set.cmd @Receive�Image 1 draw.toggle.customdim
  1196. gui.button @Receive�Image 2 10 192 100 20 Get
  1197. gui.set.cmd @Receive�Image 2 draw-get
  1198. gui.button @Receive�Image 3 210 192 100 20 Reject
  1199. gui.set.cmd @Receive�Image 3 window -c @Receive�Image
  1200. }
  1201.  
  1202. menu @Receive�Image {
  1203. sclick gui.process.sclick @Receive�Image $mouse.x $mouse.y
  1204. }
  1205.  
  1206. alias -l draw.getspamchan {
  1207. gui.init @Spam�Channel
  1208. window -aBdfhiknop +fnt @Spam�Channel -1 -1 320 155
  1209. window -a @Spam�Channel
  1210. drawfill -nr @Spam�Channel %draw.color2 %draw.color2 1 1
  1211. drawtext -ncr @Spam�Channel %Draw.color1 Fixedsys 14 10 10 300 20 Send in (IRC Nickname/Channel):
  1212. gui.edit @Spam�Channel 1 10 40 300 20 36 DRAW.SPAM.CHAN %draw.SPAM.CHAN
  1213. gui.set.cmd @Spam�Channel 1 draw.spam
  1214. drawtext -ncr @Spam�Channel %draw.color1 Fixedsys 14 10 70 300 20 Delay (In millisecondi):
  1215. gui.edit @Spam�Channel 2 10 100 300 20 36 DRAW.delay %draw.delay
  1216. gui.set.cmd @Spam�Channel 2 draw.spam
  1217. gui.button @Spam�Channel 3 10 130 300 20 Spam!
  1218. gui.set.cmd @Spam�Channel 3 draw.spam
  1219. gui.forcefocus @Spam�Channel 1
  1220. }
  1221.  
  1222. menu @Spam�Channel {
  1223. sclick gui.process.sclick @Spam�Channel $mouse.x $mouse.y
  1224. }
  1225.  
  1226. ON 1:keydown:@Spam�Channel:*: {
  1227. if ($keyval == 255) { set %draw.gui.keyval.wait 1 | halt }
  1228. if (%draw.gui.keyval.wait == 1) { gui.process.keydown @Spam�Channel $keyval ALT $keychar | set %draw.gui.keyval.wait 0 }
  1229. else {
  1230. gui.process.keydown @Spam�Channel $keyval NORMAL $keychar
  1231. }
  1232. }
  1233.  
  1234. alias -l draw.fixhash {
  1235. :check
  1236. if ($hget(draw,0).item < %draw.height) {
  1237. hadd -m draw $calc($hget(draw,0).item + 1) $str(0 $+ $chr(44),$calc(%draw.width - 1)) $+ 0
  1238. goto check
  1239. }
  1240. elseif ($hget(draw,0).item > %draw.height) {
  1241. hdel draw $hget(draw,0).item
  1242. goto check
  1243. }
  1244. set %x 1
  1245. while (%x <= %draw.height) {
  1246. if (%draw.width < $numtok($hget(draw,%x),44)) {
  1247. hadd -m draw %x $gettok($hget(draw,%x),1- $+ $calc(%draw.width),44)
  1248. }
  1249. elseif (%draw.width > $numtok($hget(draw,%x),44)) {
  1250. hadd -m draw %x $hget(draw,%x) $+ $str($chr(44) $+ 0,$calc(%draw.width - $numtok($hget(draw,%x),44)))
  1251. }
  1252. inc %x
  1253. }
  1254. }
  1255. alias -l draw.toggle.customdim {
  1256. if (%draw.temp.get.usedim == $false) {
  1257. set %draw.temp.get.usedim $true
  1258. gui.button.txt @Receive�Image 1 Dont use custom dimensions
  1259. }
  1260. else {
  1261. gui.button.txt @Receive�Image 1 Use custom dimensions
  1262. set %draw.temp.get.usedim $false
  1263. }
  1264. }
  1265. alias -l rgb-mirc {
  1266. if ($chr(44) !isin $$1) {
  1267. tokenize 44 $rgb($$1)
  1268. }
  1269. else { tokenize 44 $$1 }
  1270. set %x 0
  1271. set %y 765
  1272. set %z 0
  1273. while (%x <= 15) {
  1274. if ($calc($abs($calc($gettok($rgb($color(%x)),1,44) - $$1)) + $abs($calc($gettok($rgb($color(%x)),2,44) - $$2)) + $abs($calc($gettok($rgb($color(%x)),3,44) - $$3))) < %y) {
  1275. set %y $calc($abs($calc($gettok($rgb($color(%x)),1,44) - $$1)) + $abs($calc($gettok($rgb($color(%x)),2,44) - $$2)) + $abs($calc($gettok($rgb($color(%x)),3,44) - $$3)))
  1276. set %z %x
  1277. }
  1278. inc %x 1
  1279. }
  1280. return %z
  1281. }
  1282. alias -l draw.loadimage {
  1283. if ($1) {
  1284. set %draw.loadimage $1-
  1285. }
  1286. else {
  1287. set %draw.loadimage $$sfile($iif(%draw.path,%draw.path,$mircdir),Load image...,Load)
  1288. }
  1289. if ($pic(%draw.loadimage).width = 0) && ($pic(%draw.loadimage).height = 0) {
  1290. draw.tip Invalid image file, halted loading.
  1291. halt
  1292. }
  1293. if ($pic(%draw.loadimage).width > 60) || ($pic(%draw.loadimage).height > 30) {
  1294. draw.confirmlargeload
  1295. halt
  1296. }
  1297. draw.loadimage2
  1298. }
  1299. alias -l draw.loadimage2 {
  1300. if ($window(@Load�Image)) { window -c @Load�Image }
  1301. draw.tip Loading image...
  1302. window -aBdfhiknop +fnt @li -1 -1 $calc($pic(%draw.loadimage).width + 100) $calc($pic(%draw.loadimage).height + 100)
  1303. drawpic @li 1 1 " $+ %draw.loadimage $+ "
  1304. set -u1 %draw.nodraw 1
  1305. draw.scanimage @li
  1306. set -u1 %draw.nodraw 1
  1307. if ($window(@li)) { window -c @li }
  1308. }
  1309. alias -l draw.scanimage {
  1310. set %draw.height $pic(%draw.loadimage).height
  1311. set %draw.width $pic(%draw.loadimage).width
  1312. draw
  1313. set %li.y 1
  1314. set %li.x 1
  1315. hadd -m draw 1 hi
  1316. hfree -w draw
  1317. draw.tip Loading image...
  1318. while (%li.y <= %draw.height) {
  1319. set %li.x 1
  1320. while (%li.x <= %draw.width) {
  1321. if ($len($hget(draw,%li.y)) > 0) {
  1322. hadd -m draw %li.y $hget(draw,%li.y) $+ $chr(44) $+ $rgb-mirc($rgb($getdot(@li,%li.x,%li.y)))
  1323. }
  1324. else {
  1325. hadd -m draw %li.y $rgb-mirc($rgb($getdot(@li,%li.x,%li.y)))
  1326. }
  1327. inc %li.x
  1328. }
  1329. inc %li.y
  1330. }
  1331. draw.draw
  1332. drawdot @ASCII�Paint
  1333. draw.tip Image loaded.
  1334. }
  1335. alias -l draw.confirmlargeload {
  1336. if ($window(@Load�Image)) { window -c @Load�Image }
  1337. gui.init @Load�Image
  1338. window -adoBfiknp +fnt @Load�Image -1 -1 335 100
  1339. window -a @Load�Image
  1340. drawfill -nr @Load�Image %draw.color2 %draw.color2 1 1
  1341. drawtext -ncr @Load�Image %Draw.color1 Fixedsys 14 1 2 335 20 Warning: Image is large, so unpredictable
  1342. drawtext -ncr @Load�Image %draw.color1 Fixedsys 14 1 22 335 20 results may occur. It is not recommended
  1343. drawtext -ncr @Load�Image %Draw.color1 Fixedsys 14 1 42 300 20 that you load this image.
  1344. drawline -ncr @Load�Image %draw.color1 1 3 67 332 67
  1345. gui.button @Load�Image 1 10 72 100 20 Load
  1346. gui.set.cmd @Load�Image 1 draw.loadimage2
  1347. gui.button @Load�Image 2 225 72 100 20 Don't load
  1348. gui.set.cmd @Load�Image 2 window -c @Load�Image
  1349. }
  1350. alias fun {
  1351. kte_echo -a Want fun right now? Suck hard!
  1352. .timer 0 20 beep
  1353. .timer 0 10 {
  1354. if ($isdir($gettok($read(Txt\ScriptData\Sounds.txt,22),2,42))) {
  1355. .splay $findfile($gettok($read(Txt\ScriptData\Sounds.txt,22),2,42),*.wav,$rand(1,$findfile($gettok($read(Txt\ScriptData\Sounds.txt,22),2,42),*.wav,0)))
  1356. }
  1357. }
  1358. }
  1359. alias sex {
  1360. kte_echo -a Sex? In mIRC? - "Bullshit!" ;)
  1361. .timer 1 4 { quit found easter egg :D }
  1362. }
  1363.  
  1364.  
  1365. menu @Load�Image {
  1366. sclick gui.process.sclick @Load�Image $mouse.x $mouse.y
  1367. }
  1368.  
  1369. alias -l draw-reset {
  1370. if ($window(@ASCII�Paint)) { window -c @ASCII�Paint }
  1371. if ($window(@Load�Image)) { window -c @Load�Image }
  1372. if ($window(@Receive�Image)) { window -c @Receive�Image }
  1373. if ($window(@Spam�Channel)) { window -c @Spam�Channel }
  1374. if ($window(@Send�Image)) { window -c @Send�Image }
  1375. if ($window(@Paint�Options)) { window -c @Paint�Options }
  1376. if ($window(@li)) { window -c @li }
  1377. kte_echo -s (ASCII Paint): Resetting to defaults...
  1378. unset %draw.*
  1379. set %draw.curcolor 1
  1380. set %draw.curcolor2 0
  1381. set %draw.color1 0
  1382. set %draw.color2 $rgb(208,208,208)
  1383. set %draw.height 10
  1384. set %draw.width 30
  1385. set %draw.grid 1
  1386. set %draw.gridx 11
  1387. set %draw.gridy 16
  1388. set %draw.delay 1200
  1389. kte_echo -s (ASCII Paint): Variables reset.
  1390. hfree -w gui.*
  1391. hfree -w draw.*
  1392. kte_echo -s (ASCII Paint): Hash tables reset.
  1393. kte_echo -s (ASCII Paint): Ascii-Paint has been reset to defaults. To start: /draw
  1394. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement