Defender is a overview Third Person Shooter where you have to avoid the zombies (the green dots), and kill them all. It may get a bit laggy, but oh well, this is liek my first game.
Controls:
Up: W or the up arrow
Down: S or the down arrow
Left: A or the left arrow
Right: D or the right arrow
Quality: Q
Shoot: Left mouse click.
Radar On/Off: R
Pause: P
Options: Esc (Escape)
New Game: N
Latest Updates (oldest to newest):
Added a Frag Counter.
You now can't go off screen.
Changed the background a bit.
The blood is a lot more realistic now.
The zombies now "splat"
Inter-racial zombies!
Added a radar.
MAJOR fix in lag. Now it doesn't lag as much further into the game.
FPS Syncronization.
Radar can now be removed/readded with "R"
Timer added.
Gun is now automatic, you can now just hold down left mouse button to shoot.
Added a Pause option, "P".
Added options
Added a Pause Option to the Option Dialog and Game (N)
;mIRC Defender 1.11
;Made by BlueThen on June 1, 2008.
;Last updated on June 4, 2008.
;To install, paste this snippet into your remotes (alt + r)
;then type /defender or right click the channel or status and click Defender.
;Move using the arrow keys or WASD, then shoot the green zombies (dots) using your mouse.
;Try to keep the zombies from touching you. Press "Q" to change the quality.
menu channel,status {
Defender: { defender }
}
alias defender {
window -paoCzdk0 +tnbL @Defender -1 -1 400 400 | window -paohCzdk0 +tnbL @Def.ol -1 -1 800 800
window -paohCzdk0 +tnbL @Def.map -1 -1 800 800 | def.init
}
alias -l def.init {
set %def.pause n | set %def.blood y | set %def.espee 15 | hadd -m DefCo T1 8355711 | hadd -m DefCo T2 13816530
hadd -m DefCo B 100 | hadd -m DefCo M 8323072 | hadd -m DefCo Z 25600
set %def.time 0 | set %def.died n | set %def.radar y | set %def.c n | set %def.e 0 | set %def.fps 0
.timerdef -ho 0 100 inc %def.time | set %def.fcounter 0 | set %def.ftick $ticks
hadd -m Def Sx 400 | hadd -m Def Sy 400 | hadd -m Def Mx 400 | hadd -m Def My 400 | hadd -m Def Mh 100
%def.y = 0 | %def.x = 0 | set %def.q H | set %def.bul 0 | set %def.k 0
while (%def.x < 20) {
drawrect -fr @def.map $iif($calc((%def.x + %def.y) / 2) == $int($calc((%def.x + %def.y) / 2)), $hget(defco,T1) , $hget(Defco,T2)) 1 $calc(%def.x * 40) $calc(%def.y * 40) 40 40
inc %def.x
if ((%def.x >= 20) && (%def.y < 20)) { %def.x = 0 | inc %def.y }
}
set %def.me 1 | set %def.me2 1 | set %def.tem 0 | set %def.tem2 0
drawrot -c @def.map 70 | set %def.chan 100
drawcopy @def.map 0 0 800 800 @def.map -200 -200 1200 1200 | def.frame
}
alias -l def.frame {
if (%def.c != y) {
inc %def.fcounter | drawcopy @def.map 0 0 800 800 @def.ol 0 0 800 800 | set %def.ltime $calc($ticks - %def.oticks)
if ($calc($ticks - %def.ftick) >= 1000) { set %def.fps %def.fcounter | set %def.fcounter 0 | set %def.ftick $ticks }
if (%def.vy) hinc Def My $calc(%def.vy /100 * %def.ltime)
if (%def.vx) hinc Def Mx $calc(%def.vx /100 * %def.ltime)
if ($r(1, %def.chan) == 1) def.spawn | set %def.xy %def.e
if ((%def.chan > 2) && ($r(1,50) == 1)) dec %def.chan
set %def.oticks $ticks | %def.z = %def.bul
while (%def.z > $calc(%def.me2 + 1)) {
if ($hget(bulletos, %def.z) != 0) {
drawline @def.ol 8 4 $hget(bulletx,%def.z) $hget(bullety,%def.z) $calc($hget(bulletx,%def.z) + ((60/100 * %def.ltime) * $cos($hget(bulleta, %def.z)).deg)) $calc($hget(bullety,%def.z) + ((60/100 * %def.ltime) * $sin($calc($hget(bulleta, %def.z) + 180)).deg))
hadd -m bulletx %def.z $calc($hget(bulletx,%def.z) + ((60 /100 * %def.ltime) * $cos($hget(bulleta, %def.z)).deg))
hadd -m bullety %def.z $calc($hget(bullety,%def.z) + ((60 /100 * %def.ltime) * $sin($calc($hget(bulleta, %def.z) + 180)).deg))
if (($hget(bulletx, %def.z) > 800) || ($hget(bullety, %def.z) > 800)) hadd -m BulletOS %def.z 0
}
else set %def.tem2 %def.z | dec %def.z
}
set %def.me2 $calc(%def.tem2 + 1)
while (%def.xy > $calc(%def.me - 1)) {
if ($hget(def.stat,%def.xy) != 0) {
drawdot -r @def.ol $hget(def.c, %def.xy) 20 $hget(def.ex, %def.xy) $hget(def.ey, %def.xy)
hadd def.ex %def.xy $calc($hget(def.ex, %def.xy) +((%def.espee /100 * %def.ltime) * $cos($calc(180 + $def.ga($hget(def,mx),$hget(def,my),$hget(def.ex, %def.xy),$hget(def.ey, %def.xy)))).deg))
hadd def.ey %def.xy $calc($hget(def.ey, %def.xy) +((%def.espee /100 * %def.ltime) * $sin($def.ga($hget(def,mx),$hget(def,my),$hget(def.ex, %def.xy),$hget(def.ey, %def.xy))).deg)) | %def.i = %def.bul
while (%def.i > $calc(%def.me2 - 1)) {
if ($hget(bulletos, %def.z) != 0) {
if ($def.dist($hget(bulletx, %def.i),$hget(bullety, %def.i), $hget(def.ex, %def.xy), $hget(def.ey, %def.xy)) < 20) {
hadd -m def.eh %def.xy $calc($hget(def.eh, %def.xy) - 20)
if (%def.blood == y) {
%def.p = 5
while (%def.p) {
%def.tempc = $rgb($r($iif($calc($gettok($rgb($hget(defco,B)),1,44) - 25) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,B)),1,44) + 25) < 255, $v1, $v2)),$r($iif($calc($gettok($rgb($hget(defco,B)),2,44) - 25) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,B)),2,44) + 25) < 255, $v1, $v2)),$r($iif($calc($gettok($rgb($hget(defco,B)),3,44) - 25) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,B)),3,44) + 25) < 255, $v1, $v2)))
drawline -r @def.map %def.tempc $r(3,10) $calc($hget(def.ex, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,10)) $calc($hget(def.ey, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,10)) $calc($hget(def.ex, %def.xy) + ($r(30,70) * $cos($calc($hget(bulleta, %def.i) $iif($r(1,2) == 1, -, +) $r(1,20))).deg)) $calc($hget(def.ey, %def.xy) + ($r(30,70) * $sin($calc(($hget(bulleta, %def.i) $iif($r(1,2) == 1, -, +) $r(1,20)) + 180)).deg))
if ($r(1,2) == 1) drawdot -r @def.map %def.tempc $r(3,9) $calc($hget(def.ex, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,20)) $calc($hget(def.ey, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,20))
dec %def.p
}
}
if (($hget(def.eh, %def.xy) < 0) && ($hget(def.stat, %def.xy) != 0)) { hadd -m def.stat %def.xy 0
inc %def.k
if (%def.blood == y) {
%def.abc = 20
while (%def.abc) {
%def.tempc = $rgb($r($iif($calc($gettok($rgb($hget(defco,B)),1,44) - 25) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,B)),1,44) + 25) < 255, $v1, $v2)),$r($iif($calc($gettok($rgb($hget(defco,B)),2,44) - 25) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,B)),2,44) + 25) < 255, $v1, $v2)),$r($iif($calc($gettok($rgb($hget(defco,B)),3,44) - 25) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,B)),3,44) + 25) < 255, $v1, $v2)))
drawline -r @def.map %def.tempc 5 $calc($hget(def.ex, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,10)) $calc($hget(def.ey, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,10)) $calc($hget(def.ex, %def.xy) $iif($r(1,2) == 1, -, +) $r(10,50)) $calc($hget(def.ey, %def.xy) $iif($r(1,2) == 1, -, +) $r(10,50))
if ($r(1,2) == 1) drawdot -r @def.map %def.tempc $r(3,6) $calc($hget(def.ex, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,60)) $calc($hget(def.ey, %def.xy) $iif($r(1,2) == 1, -, +) $r(1,60))
dec %def.abc
}
}
}
}
}
dec %def.i
}
if ($def.dist($hget(def.ex, %def.xy),$hget(def.ey, %def.xy),$hget(def,mx),$hget(def,my)) < 36) {
hadd def mh $calc($hget(def,mh) -1)
}
}
else {
set %def.tem %def.xy
}
dec %def.xy
}
set %def.me $calc(%def.xy + 1)
hadd Def Sx $calc($hget(def,sx) + (($hget(def,mx) - $hget(def,sx))/20))
hadd Def Sy $calc($hget(def,sy) + (($hget(def,my) - $hget(def,sy))/20))
if ($hget(def,sx) < 300) hadd def sx 300 | if ($hget(def,sy) < 300) hadd def sy 300
if ($hget(def,sx) > 500) hadd def sx 500 | if ($hget(def,sy) > 450) hadd def sy 450
if ($hget(def,mx) > 780) hadd -m def mx 780
if ($hget(def,mx) < 20) hadd -m def mx 20
if ($hget(def,my) > 720) hadd -m def my 720
if ($hget(def,my) < 20) hadd -m def my 20
drawdot -r @def.ol $hget(defco,m) 20 $hget(def,mx) $hget(def,my)
if (%def.mx) {
set %def.mox $calc($hget(def,sx) - ((200 - $mouse.x) * 1.3333))
set %def.moy $calc($hget(def,sy) - ((200 - $mouse.y) * 1.3333))
}
if (%def.radar == y) drawcopy $iif(%def.q == h, -m, $null) @def.ol -1 -1 720 720 @def.ol $calc($hget(def,sx) +150) $calc($hget(def,sy) -250) 100 100
drawtext @def.ol 2 Tahoma 30 $calc($hget(def,sx) -250) $calc($hget(def,sy) +200) Frags: %def.k
drawtext @def.ol 12 Tahoma 20 $calc($hget(def,sx) -250) $calc($hget(def,sy) -270) Made by BlueThen
drawtext @def.ol 12 Tahoma 20 $calc($hget(def,sx) -250) $calc($hget(def,sy) -250) BlueThen.com
drawtext @def.ol 4 Tahoma 20 $calc($hget(def,sx) -50) $calc($hget(def,sy) -270) FPS: %def.fps
if ($hget(def,mh) < 0) { drawtext @def.ol 4 Tahoma 30 $calc($hget(def,sx) -208) $calc($hget(def,sy)) Press N to start a new game. | drawtext @def.ol 4 Tahoma 50 $calc($hget(def,sx) -142.25) $calc($hget(def,sy) -100) Gameover | .timerdef off | hadd -m def mh 0 | set %def.died y }
drawtext @def.ol 4 Tahoma 30 $calc($hget(def,sx) +100) $calc($hget(def,sy) +200) Health: $hget(def,mh)
drawtext @def.ol 1 Tahoma 20 $calc($hget(def,sx) -250) $calc($hget(def,sy) +170) Time: $calc(%def.time * 0.1)
drawcopy $iif(%def.q == h, -m, $null) @def.ol $calc($hget(def,sx) -300) $calc($hget(def,sy) -300) 600 600 @defender 0 0 400 400
if (%def.died != y) && (%def.pause != y) .timerframe -ho 1 0 def.frame
}
else unset %def.c
}
menu @defender {
sclick: { def.shoot | .timerdefshoot -h 0 200 def.shoot }
uclick: { .timerdefshoot off }
mouse: { set %def.mx y }
leave: { unset %def.mx }
}
alias -l def.shoot {
inc %def.bul | hadd -m Bulletx %def.bul $hget(def,mx) | hadd -m Bullety %def.bul $hgeT(def,my)
hadd -m Bulleta %def.bul $def.ga($hget(def,mx),$hget(def,my),%def.mox,%def.moy) | hadd -m BulletOS %def.bul 1
}
alias -l def.spawn {
inc %def.e | %def.r = $r(1,4) | if (%def.r == 1) { hadd -m Def.ex %def.e 0 | hadd -m Def.ey %def.e $r(1,800) }
elseif (%def.r == 2) { hadd -m Def.ex %def.e $r(1,800) | hadd -m Def.ey %def.e 0 }
elseif (%def.r == 3) { hadd -m Def.ex %def.e $r(1,800) | hadd -m Def.ey %def.e 800 }
elseif (%def.r == 4) { hadd -m Def.ex %def.e 800 | hadd -m Def.ey %def.e $r(1,800) }
hadd -m def.c %def.e $rgb($r($iif($calc($gettok($rgb($hget(defco,Z)),1,44) - 50) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,Z)),1,44) + 50) < 255, $v1, $v2)),$r($iif($calc($gettok($rgb($hget(defco,Z)),2,44) - 50) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,Z)),2,44) + 50) < 255, $v1, $v2)),$r($iif($calc($gettok($rgb($hget(defco,Z)),3,44) - 50) > 0, $v1, $v2),$iif($calc($gettok($rgb($hget(defco,Z)),3,44) + 50) < 255, $v1, $v2)))
hadd -m def.stat %def.e 1 | hadd -m Def.eh %def.e 100
}
on *:close:@defender: {
window -c @def.ol | window -c @def.map | set %def.c y | .timerdef off
unset %def.blood %def.tempc %def.tempb %def.tempr %def.tempq %def.radar %def.pause %def.espee %def.died %def.y %def.time %def.x %def.me %def.tem %def.tem2 %def.me2 %def.vy %def.vx %def.k %def.fps %def.p %def.abc %def.fcounter %def.chan %def.ftick %def.oticks %def.ltime %def.e %def.xy %def.r %def.mox %def.moy %def.lmx %def.lmy %def.bul %def.z %def.i %def.q %def.mx
if ($dialog(def.opt)) dialog -x def.opt | if ($dialog(def.ng)) dialog -x def.ng | if ($window(@def.col)) window -c @def.col
}
on *:KEYDOWN:@defender:*: {
if ($keyval == 27) { dialog -m def.opt def.opt | dialog -s def.opt 0 0 316 253 }
if (($keyval == 38) || ($keyval == 87)) set %def.vy -25
if (($keyval == 37) || ($keyval == 65)) set %def.vx -25
if (($keyval == 39) || ($keyval == 68)) set %def.vx 25
if (($keyval == 40) || ($keyval == 83)) set %def.vy 25
if ($keyval == 81) set %def.q $iif(%def.q == L, H, $v2)
if ($keyval == 82) set %def.radar $iif(%def.radar == Y, N, $v2)
if ($keyval == 80) def.pause
if ($keyval == 78) { dialog -m def.ng def.ng | dialog -s def.ng 0 0 201 80 | if (%def.pause != y) def.pause }
}
dialog def.ng {
title "Defender: New Game"
size -1 -1 201 80
option pixels notheme
text "Are you sure you want to start a new game?", 1, 10 8 180 32, center
button "Yes", 2, 125 48 65 25, ok
button "No", 3, 10 48 65 25, cancel default
}
on *:dialog:def.ng:sclick:2: { if ($dialog(def.opt)) dialog -x def.opt | if (%def.pause == y) def.pause | def.init }
alias -l def.pause {
if (%def.died != y) {
set %def.espee 0 | set %def.pause $iif(%def.pause == Y, N, $v2)
if (%def.pause == y) {
.timerframe off | .timerdef off | unset %def.vy %def.vx
drawtext @defender 4 Tahoma 50 120 100 Paused
}
else { def.frame | .timerdef -ho 0 100 inc %def.time | set %def.espee 15 }
}
}
on *:KEYUP:@defender:*: {
if (($keyval == 38) || ($keyval == 87)) unset %def.vy
if (($keyval == 37) || ($keyval == 65)) unset %def.vx
if (($keyval == 39) || ($keyval == 68)) unset %def.vx
if (($keyval == 40) || ($keyval == 83)) unset %def.vy
}
alias -l def.dist return $sqrt($calc(($3 - $1)^2 + ($4 - $2)^2))
alias -l def.ga {
%p1.x = $1 | %p1.y = $2 | %p2.x = $3 | %p2.y = $4 | %p3.x = %p2.x | %p3.y = %p1.y | %opposite = $sqrt($calc((%p2.x - %p3.x)^2 + (%p2.y - %p3.y)^2))
%hypotenuse = $sqrt($calc((%p2.x - %p1.x)^2 + (%p2.y - %p1.y)^2)) | %angle = $asin($calc( %opposite / %hypotenuse )).deg
if (%p1.y < %p2.y) %angle = $calc(360 - %angle) | if ((%p1.x > %p2.x) && (%p1.y > %p2.y)) %angle = $calc(180 - %angle)
elseif ((%p1.x > %p2.x) && (%p1.y < %p2.y)) %angle = $calc(180 +(360 - %angle)) | return %angle
}
dialog def.opt {
title "Defender Options"
size -1 -1 316 253
option pixels notheme
text "Colors", 1, 17 9 43 17
list 2, 14 31 90 100, size
scroll "", 3, 118 31 100 16, horizontal top range 1 255
scroll "", 4, 118 74 100 16, horizontal top range 1 255
scroll "", 5, 118 113 100 16, horizontal top range 1 255
icon 6, 232 31 70 100
text "Red", 7, 118 9 100 17
text "Green", 8, 118 56 100 17
text "Blue", 9, 118 95 100 17
text "Quality:", 10, 16 142 75 17
check "High", 11, 16 166 75 17
check "Low", 12, 16 196 75 17
text "Radar:", 13, 121 142 75 17
check "On", 14, 121 166 75 17
check "Off", 15, 121 196 75 17
text "Blood:", 16, 226 143 75 17
check "On", 17, 226 166 75 17
check "Off", 18, 226 196 75 17
button "Save", 19, 236 225 65 25, ok
button "Cancel", 20, 14 225 65 25, cancel
button "New Game", 21, 121 225 65 25
}
on *:dialog:def.opt:sclick:21: { dialog -m def.ng def.ng | dialog -s def.ng 0 0 201 80 }
on *:dialog:def.opt:sclick:19: {
hadd -m defco t1 $hget(tdefco,t1) | hadd -m defco t2 $hget(tdefco,t2)
hadd -m defco b $hget(tdefco,b) | hadd -m defco m $hget(tdefco,m)
hadd -m defco z $hget(tdefco,z) | set %def.q %def.tempq | set %def.blood %def.tempb
set %def.radar %def.tempr | set %def.x 0 | set %def.y 0
while (%def.x < 20) {
drawrect -fr @def.map $iif($calc((%def.x + %def.y) / 2) == $int($calc((%def.x + %def.y) / 2)), $hget(defco,t1) , $hget(defco,t2)) 1 $calc(%def.x * 40) $calc(%def.y * 40) 40 40
inc %def.x | if ((%def.x >= 20) && (%def.y < 20)) { %def.x = 0 | inc %def.y }
}
drawrot -c @def.map 70 | drawcopy @def.map 0 0 800 800 @def.map -200 -200 1200 1200
}
on *:dialog:def.opt:close:0: { window -c @def.col | if (%def.pause == y) def.pause }
on *:dialog:def.opt:init:0: {
hadd -m tdefco t1 $hget(defco,t1) | hadd -m tdefco t2 $hget(defco,t2)
hadd -m tdefco b $hget(defco,b) | hadd -m tdefco m $hget(defco,m)
hadd -m tdefco z $hget(defco,z) | if (%def.pause != y) def.pause
did -a def.opt 2 Tile 1 | did -a def.opt 2 Tile 2 | did -a def.opt 2 Blood | did -a def.opt 2 Main
did -a def.opt 2 Zombies | window -paohCzdk0 +tndL @Def.col -1 -1 70 100
drawfill -r @def.col 0 0 1 1 | drawsave @def.col deftemp.bmp
did -g def.opt 6 deftemp.bmp | did -ra def.opt 7 Red: $gettok($rgb($hget(defco,t1)),1,44)
did -ra def.opt 8 Green: $gettok($rgb($hget(defco,t1)),2,44) | did -ra def.opt 9 Blue: $gettok($rgb($hget(defco,t1)),3,44)
did -c def.opt 3 $gettok($rgb($hget(tdefco,t1)),1,44) | did -c def.opt 4 $gettok($rgb($hget(tdefco,t1)),2,44)
did -c def.opt 2 1 | did -c def.opt 5 $gettok($rgb($hget(tdefco,t1)),3,44)
drawfill -r @def.col $rgb($did(3).sel,$did(4).sel,$did(5).sel) $rgb($did(3).sel,$did(4).sel,$did(5).sel) 1 1
drawsave @def.col deftemp.bmp | did -g def.opt 6 deftemp.bmp
if (%def.q == H) did -c def.opt 11 | else did -c def.opt 12
if (%def.radar == y) did -c def.opt 14 | else did -c def.opt 15
set %def.tempq %def.q | set %def.tempr %def.radar
set %def.tempb %def.blood | if (%def.blood == y) did -c def.opt 17 | else did -c def.opt 18
}
on *:dialog:def.opt:sclick:11,12: {
if ($did == 11) { if ($did(11).state == 0) did -c def.opt 12 | else did -u def.opt 12 | set %def.tempq H }
else { if ($did(12).state == 0) did -c def.opt 11 | else did -u def.opt 11 | set %def.tempq L }
}
on *:dialog:def.opt:sclick:14,15: {
if ($did == 15) { if ($did(15).state == 0) did -c def.opt 14 | else did -u def.opt 14 | set %def.tempr N }
else { if ($did(14).state == 0) did -c def.opt 15 | else did -u def.opt 15 | set %def.tempr Y }
}
on *:dialog:def.opt:sclick:17,18: {
if ($did == 17) { if ($did(17).state == 0) did -c def.opt 18 | else did -u def.opt 18 | set %def.tempb Y }
else {
if ($did(18).state == 0) did -c def.opt 17 | else did -u def.opt 17 | set %def.tempb N }
}
on *:dialog:def.opt:sclick:2: {
if ($did(2).sel == 1) {
did -ra def.opt 7 Red: $gettok($rgb($hget(tdefco,t1)),1,44) | did -ra def.opt 8 Green: $gettok($rgb($hget(tdefco,t1)),2,44)
did -ra def.opt 9 Blue: $gettok($rgb($hget(tdefco,t1)),3,44) | did -c def.opt 3 $gettok($rgb($hget(tdefco,t1)),1,44)
did -c def.opt 4 $gettok($rgb($hget(tdefco,t1)),2,44) | did -c def.opt 5 $gettok($rgb($hget(tdefco,t1)),3,44)
}
if ($did(2).sel == 2) {
did -ra def.opt 7 Red: $gettok($rgb($hget(tdefco,t2)),1,44) | did -ra def.opt 8 Green: $gettok($rgb($hget(tdefco,t2)),2,44)
did -ra def.opt 9 Blue: $gettok($rgb($hget(tdefco,t2)),3,44) | did -c def.opt 3 $gettok($rgb($hget(tdefco,t2)),1,44)
did -c def.opt 4 $gettok($rgb($hget(tdefco,t2)),2,44) | did -c def.opt 5 $gettok($rgb($hget(tdefco,t2)),3,44)
}
if ($did(2).sel == 3) {
did -ra def.opt 7 Red: $gettok($rgb($hget(tdefco,b)),1,44) | did -ra def.opt 8 Green: $gettok($rgb($hget(tdefco,b)),2,44)
did -ra def.opt 9 Blue: $gettok($rgb($hget(tdefco,b)),3,44) | did -c def.opt 3 $gettok($rgb($hget(tdefco,b)),1,44)
did -c def.opt 4 $gettok($rgb($hget(tdefco,b)),2,44) | did -c def.opt 5 $gettok($rgb($hget(tdefco,b)),3,44)
}
if ($did(2).sel == 4) {
did -ra def.opt 7 Red: $gettok($rgb($hget(tdefco,m)),1,44) | did -ra def.opt 8 Green: $gettok($rgb($hget(tdefco,m)),2,44)
did -ra def.opt 9 Blue: $gettok($rgb($hget(tdefco,m)),3,44) | did -c def.opt 3 $gettok($rgb($hget(tdefco,m)),1,44)
did -c def.opt 4 $gettok($rgb($hget(tdefco,m)),2,44) | did -c def.opt 5 $gettok($rgb($hget(tdefco,m)),3,44)
}
if ($did(2).sel == 5) {
did -ra def.opt 7 Red: $gettok($rgb($hget(tdefco,z)),1,44) | did -ra def.opt 8 Green: $gettok($rgb($hget(tdefco,z)),2,44)
did -ra def.opt 9 Blue: $gettok($rgb($hget(tdefco,z)),3,44) | did -c def.opt 3 $gettok($rgb($hget(tdefco,z)),1,44)
did -c def.opt 4 $gettok($rgb($hget(tdefco,z)),2,44) | did -c def.opt 5 $gettok($rgb($hget(tdefco,z)),3,44)
}
drawfill -r @def.col $rgb($did(3).sel,$did(4).sel,$did(5).sel) $rgb($did(3).sel,$did(4).sel,$did(5).sel) 1 1
drawsave @def.col deftemp.bmp | did -g def.opt 6 deftemp.bmp
}
on *:dialog:def.opt:scroll:*: {
if ($did == 3) did -ra def.opt 7 Red: $did(3).sel
elseif ($did == 4) did -ra def.opt 8 Green: $did(4).sel
elseif ($did == 5) did -ra def.opt 9 Blue: $did(5).sel
if ($did(2).sel == 1) hadd -m tdefco t1 $rgb($did(3).sel,$did(4).sel,$did(5).sel)
if ($did(2).sel == 2) hadd -m tdefco t2 $rgb($did(3).sel,$did(4).sel,$did(5).sel)
if ($did(2).sel == 3) hadd -m tdefco b $rgb($did(3).sel,$did(4).sel,$did(5).sel)
if ($did(2).sel == 4) hadd -m tdefco m $rgb($did(3).sel,$did(4).sel,$did(5).sel)
if ($did(2).sel == 5) hadd -m tdefco z $rgb($did(3).sel,$did(4).sel,$did(5).sel)
drawfill -r @def.col $rgb($did(3).sel,$did(4).sel,$did(5).sel) $rgb($did(3).sel,$did(4).sel,$did(5).sel) 1 1
drawsave @def.col deftemp.bmp | did -g def.opt 6 deftemp.bmp
}
Amazing, I love it.
Unfortunately, with a computer like this:
(17:40:19) <@PhoenixBot> (CPU1) Intel Pentium III processor @ 935MHz (Asus CUW-AM/MEW-AM mainboard) , 57.9MB free (HDDs) 37.2GB, 14.4GB free
(17:40:19) <@PhoenixBot> (VGA1) Intel(R) 82810E Graphics Controller (Microsoft Corporation) (32MB), 1024x768x24, 60Hz (OS) Microsoft Windows XP Home Edition (SP2), 1h 24m 9s uptime, 2d 7h 35m 25s uptime record
LOL^
The game fails for me. Still, 10/10. Amazing work.