mIRC Ski — File Browser
mIRCSkiv0.9 / mIRCSkiv0.9 / ski.mrc
ski.mrc — 21.22 KB — Download this file
;
;.24.41
;
;-----===== SKI by puzzling =====-----
;msn: puzzlin@hotmail.co.uk
Alias ski.pic {
if ($hget(ski)) hfree ski
window -phf +d @ski.buf 0 0 100 70
window -phf +d @ski.map 0 0 400 5200
drawrect -rf @ski.buf 16777215 1 0 0 400 400
if ($exists(" $+ $scriptdirski.bmp")) drawpic @ski.buf 0 0 " $+ $scriptdirski.bmp"
else {
window -c @ski.buf
window -c @ski.map
var %bla = $input(Unable to open the SKI-Image: $crlf $+ ski.bmp is missing in $scriptdir,owd,Error)
halt
}
;----tree
drawline -r @ski.buf $rgb(0,128,0) 1 0 54 19 54 15 41 17 41 10 30 3 41 5 41 0 54
drawfill -r @ski.buf $rgb(0,150,0) $rgb(0,128,0) 9 52
drawrect -rf @ski.buf $rgb(130,104,0) 1 7 55 6 3
drawdot -r @ski.buf $rgb(0,128,0) 1 5 50 10 48 12 40 10 35 8 38 17 47 9 43 3 52 18 51 8 53 7 52
drawdot -r @ski.buf $rgb(0,192,0) 1 5 49 12 32 10 37 6 44 13 48 16 39 10 41 4 53 17 52 5 54
;----slalom
drawline -r @ski.buf 0 1 20 43 20 30 30 30 30 36 20 36 30 36 30 43
;----snowman
drawrect -er @ski.buf 0 1 32 38 18 16
drawrect -erf @ski.buf 16777215 1 36 31 11 12
drawrect -er @ski.buf 0 1 36 31 11 12
drawdot -r @ski.buf $rgb(255,0,0) 1 39 39 40 39 40 38 41 38 40 37 41 37 42 37
drawdot -r @ski.buf 0 1 39 35 43 35 36 32 37 32 40 32 41 32 42 32 45 32 46 32 39 31 43 31 39 30 40 30 41 30 42 30 43 30 40 40 41 40 42 40 43 39 35 42 33 40 33 39 33 38 33 37 45 43 46 42 48 40 49 39 50 38
;----flag left
drawline -r @ski.buf 0 1 67 20 67 0 87 0 92 5 87 10 67 10
drawcopy @ski.buf 67 0 30 30 @ski.buf 96 32 -30 30
;---- hash table
hmake ski 10
hadd ski pic 1
hadd ski posx 200
hadd ski posy 50
hadd ski yeti 0
hadd ski time 0
hadd ski yetip $rand(4500,7000)
;---- map
window -phf +d @ski.map 0 0 400 5200
drawrect -fr @ski.map $rgb(255,255,255) 1 0 0 400 5200
var %a = 400,%b
while (%a < 4900) {
if ($rand(0,5) == 1) {
%b = $rand(0,390)
drawrect -er @ski.map 0 1 %b %a 20 20
drawrect -rf @ski.map 16777215 1 %b $calc(%a + 7) 20 13
if (%b > 380) {
drawrect -er @ski.map 0 1 $calc(%b -400) %a 20 20
drawrect -rf @ski.map 16777215 1 $calc(%b - 400) $calc(%a + 7) 20 13
}
hadd ski hill $addtok($hget(ski,hill),%b %a,124)
}
if ($rand(0,3) == 2) {
%b = $rand(0,400)
drawcopy -t @ski.buf 16777215 0 30 20 28 @ski.map %b %a
if (%b > 380) { drawcopy -t @ski.buf 16777215 0 30 20 28 @ski.map $calc(%b -400) %a }
hadd ski tree $addtok($hget(ski,tree),%b %a,124)
}
if ($rand(0,5) == 3) && (%a < 3300) {
%b = $rand(300,900)
hadd ski rock $addtok($hget(ski,rock),%b %a,124)
}
if ($rand(0,10) == 3) && (%a < 3300) {
%b = $rand(400,800)
hadd ski snow $addtok($hget(ski,snow),%b %a,124)
}
if (%a isnum 3300-3500) { inc %a 300 }
inc %a 30
}
if (!$window(@ski)) { window -apdfk0 +t @Ski 400 200 400 400 }
titlebar @Ski v 0.9
drawrect -rfn @ski 16777215 1 0 0 400 400
drawcopy -trn @ski.buf 16777215 0 0 20 29 @ski 190 50 20 29
if ($1 isletter sh) {
hadd ski posy 300
hadd ski posx $iif($1 == s,-200,600)
$iif($hget(ski,paus),ski.pause,ski.go)
}
else {
drawfill -r @ski.buf $rgb(0,0,255) 0 70 5 80 35
drawcopy -tn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski 50 330
drawcopy -tn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski 320 330
drawrect -rn @ski 0 1 0 0 400 400
drawtext -rn @ski 13158600 "Monotype Corsiva" 10 10 20 by
drawtext -rn @ski 13158600 "Monotype Corsiva" 24 25 10 puzzling
drawtext -rn @ski 0 fixedsys 10 60 200 «« Slalom $chr(160) FreeStyle $chr(160) Hardcore »»
drawtext -rn @ski $rgb(255,0,0) fixedsys 10 60 200 «« Slalom $chr(160) FreeStyle $chr(160) Hardcore
drawtext -rn @ski 0 fixedsys 10 60 200 «« Slalom $chr(160) FreeStyle $chr(160) H
drawtext -rn @ski $rgb(0,0,255) fixedsys 10 60 200 «« Slalom $chr(160) FreeStyle
drawtext -rn @ski 0 fixedsys 10 60 200 «« Slalom $chr(160) F
drawtext -rn @ski $rgb(0,255,0) fixedsys 10 60 200 «« Slalom
drawtext -rn @ski 0 fixedsys 10 60 200 «« S
}
drawdot @ski
}
;----==== S K I - M O V E ====----
Alias ski.go {
if (!$hget(ski,yeti)) {
if ($hget(ski,type) == h) tokenize 32 $round($calc($1 * 1.5),0) $2
hinc ski posx $iif($1 < 2 && $abs($calc($2 * 3)) > 3,$iif($2 < 0,-3,3),$calc($2 * 3))
hinc ski posy $1
;----select game
if ($hget(ski,posy) >= 335) && (!$hget(ski,time)) {
hinc -c ski time 1
if ($hget(ski,posx) < -45 && $hget(ski,posx) > -355) hadd ski type s
elseif ($hget(ski,posx) isnum 50-350) hadd ski type n
elseif ($hget(ski,posx) isnum 450-750) { hadd ski skill 100 | hadd ski type h }
titlebar @Ski v 0.9 $iif($hget(ski,type) == s,Slalom,$iif($v1 == n,Normal,$iif($v1 == h,Hardcore,None)))
}
;----slalom
elseif ($hget(ski,posy) >= 1000) && ($hget(ski,type) == s) && (!$hget(ski,slalom)) { hadd ski slalom $iif($hget(ski,posx) > -105,r,f) }
elseif ($hget(ski,posy) >= 1500) && ($hget(ski,type) == s) && ($numtok($hget(ski,slalom),32) == 1) { hadd ski slalom $hget(ski,slalom) $iif($hget(ski,posx) < -270,r,f) }
elseif ($hget(ski,posy) >= 2000) && ($hget(ski,type) == s) && ($numtok($hget(ski,slalom),32) == 2) { hadd ski slalom $hget(ski,slalom) $iif($hget(ski,posx) > -130,r,f) }
elseif ($hget(ski,posy) >= 2500) && ($hget(ski,type) == s) && ($numtok($hget(ski,slalom),32) == 3) { hadd ski slalom $hget(ski,slalom) $iif($hget(ski,posx) < -270,r,f) }
elseif ($hget(ski,posy) >= 3000) && ($hget(ski,type) == s) && ($numtok($hget(ski,slalom),32) == 4) { hadd ski slalom $hget(ski,slalom) $iif($hget(ski,posx) > -130,r,f) }
;----highscore
elseif ($hget(ski,posy) >= 3335) && ($hget(ski,time) != --:--) && ($hget(ski,type)) {
hinc ski time $calc($count($hget(ski,slalom),f) * 15)
if ($hget(ski,type) == h) hinc ski time $calc(100 - $hget(ski,skill))
var %r,%i = 1,%t = $iif($hget(ski,type) == n,1,$iif($hget(ski,type) == s,2,3)),%scores = $iif(That's you! isin $gettok($sorttok($addtok($right($read($script,%t),-1),$hget(ski,time) <- That's you!,46),46,n),1-10,46),$v2,Too Bad! You should better try again!)
if (Again !isin %scores) {
write -al $+ %t $+(",$script,") . $+ $hget(ski,time)
while ($gettok(%scores,%i,46)) {
%r = $+(%r,%i,.) $v1 $crlf
inc %i
}
}
hadd ski time --:--
hdel ski type
var %bla = $input($iif(%r,%r,%scores),o,Highscore)
}
elseif ($hget(ski,posy) >= $hget(ski,yetip)) { ski.yeti 1 }
}
;----==== D R A W:
drawrect -rfn @ski 16777215 1 0 0 400 400
var %a = 1,%c = $calc($hget(ski,posx) - $int($calc($hget(ski,posx) / 400 $iif($hget(ski,posx) < 0,-1))) * 400),%x = $calc(%c - 200 $iif(%c < 200,+400))
var %y = $calc($hget(ski,posy) - $int($calc(($hget(ski,posy) - 50) / 5000)) * 5000 -50),%d = $calc($hget(ski,posy) - $int($calc($hget(ski,posy) / 5000)) * 5000)
;----hill
while ($gettok($hget(ski,hill),%a,124)) {
if ($onrect($calc(%c - 10),%d,20,29,$gettok($v1,1,32),$gettok($v1,2,32),20,7)) { hadd -z ski jump 2 }
inc %a
}
%a = 1
;----rock
if ($hget(ski,type) == h) {
while ($gettok($hget(ski,rock),%a,124)) {
drawcopy -tn @ski.buf 16777215 40 0 26 19 @ski $calc($gettok($v1,1,32) - $hget(ski,posx) +200) $calc($gettok($v1,2,32) - $hget(ski,posy) + 55)
if ($onrect($hget(ski,posx),%d,20,29,$gettok($v1,1,32),$gettok($v1,2,32),26,19)) && (!$hget(ski,jump)) { goto rock }
inc %a
}
%a = 1
while ($gettok($hget(ski,snow),%a,124)) {
drawcopy -tnr @ski.buf 16777215 32 30 18 24 @ski $calc($gettok($v1,1,32) - $hget(ski,posx) +200) $calc($gettok($v1,2,32) - $hget(ski,posy) + 55)
if ($onrect($hget(ski,posx),%d,20,29,$calc($gettok($v1,1,32) +2),$calc($gettok($v1,2,32) +2),15,20)) && (!$hget(ski,jump)) { hadd ski snow $deltok($hget(ski,snow),%a,124) | $iif($hget(ski,skill) < 100,hadd ski skill $iif($calc($v1 + 30) > 100,100,$v1)) }
else inc %a
}
%a = 1
}
;----tree
while ($gettok($hget(ski,tree),%a,124)) {
if ($ski.tree($calc(%c - 10),%d,$gettok($v1,1,32),$gettok($v1,2,32))) && ($hget(ski,jump) !isnum 2-) { goto crash }
inc %a
}
;----slalom
if ($hget(ski,type) == s) {
%a = 1
while (%a <= 5) {
drawcopy -tn @ski.buf 16777215 20 30 11 13 @ski $calc($iif(2 // %a,-75,65) - $hget(ski,posx)) $calc(500 + %a * 500 - %y) 11 13
drawfill -rn @ski $iif($gettok($hget(ski,slalom),%a,32) == f,$rgb(150,0,0),$iif($v1 == r,$rgb(0,255,0),$iif(2 // %a,$rgb(255,0,0),$rgb(0,0,255)))) 0 $calc($iif(2 // %a,-73,67) - $hget(ski,posx)) $calc(502 + %a * 500 - %y)
inc %a
}
}
if (%y >= 4600) || (%y < 0) {
drawcopy -n @ski.map %x 0 $calc(400 - %x) 400 @ski 0 $calc(5000 - %y)
drawcopy -n @ski.map 0 0 %x 400 @ski $calc(400 - %x) $calc(5000 - %y)
}
drawcopy -nt @ski.map $rgb(255,255,255) %x %y $calc(400 - %x) $iif(%y > 4600,$calc(5000 - %y),400) @ski 0 0
drawcopy -nt @ski.map $rgb(255,255,255) 0 %y %x $iif(%y > 4600,$calc(5000 - %y),400) @ski $calc(400 - %x) 0
;---- Y E T I
if ($hget(ski,yeti) > 0) { ski.yeti $v1 }
;----Snowboarder
if ($v1 < 5) {
if ($hget(ski,jump)) {
drawcopy -tn @ski.buf 16777215 $iif($hget(ski,pic) == 1,0,20) 0 20 10 @ski 190 50 20 10
drawcopy -tn @ski.buf 16777215 $iif($hget(ski,pic) == 1,0,20) 10 20 18 @ski 190 60 20 14
}
else { drawcopy -rtn @ski.buf 16777215 $iif($hget(ski,pic) == 1,0,20) 0 20 29 @ski 190 50 20 29 }
}
if ($hget(ski,posy) < 450) || ($hget(ski,posy) isnum 2950-3450) {
;---- S T A R T / G O A L - N O R M A L
if ($onrect($calc($hget(ski,posx) - 200),$calc($hget(ski,posy) - 50),400,400,50,330,300,20)) {
drawfill -r @ski.buf $rgb(0,0,255) 0 70 5 80 35
drawcopy -tn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski $calc(250 - $hget(ski,posx)) $calc(380 - $hget(ski,posy))
drawcopy -tn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski $calc(520 - $hget(ski,posx)) $calc(380 - $hget(ski,posy))
}
elseif ($onrect($calc($hget(ski,posx) - 200),$calc($hget(ski,posy) - 50),400,400,50,3330,300,20)) {
drawfill -r @ski.buf $rgb(255,255,0) 0 70 5 80 35
drawcopy -tn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski $calc(250 - $hget(ski,posx)) $calc(3380 - $hget(ski,posy))
drawcopy -tn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski $calc(520 - $hget(ski,posx)) $calc(3380 - $hget(ski,posy))
}
;---- S T A R T / G O A L - H A R D C O R E
if ($onrect($calc($hget(ski,posx) - 200),$calc($hget(ski,posy) - 50),400,400,450,330,300,20)) {
drawfill -r @ski.buf $rgb(255,0,0) 0 70 5 80 35
drawcopy -tn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski $calc(650 - $hget(ski,posx)) $calc(380 - $hget(ski,posy))
drawcopy -tn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski $calc(920 - $hget(ski,posx)) $calc(380 - $hget(ski,posy))
}
elseif ($onrect($calc($hget(ski,posx) - 200),$calc($hget(ski,posy) - 50),400,400,450,3330,300,20)) {
drawfill -r @ski.buf $rgb(255,255,0) 0 70 5 80 35
drawcopy -tn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski $calc(650 - $hget(ski,posx)) $calc(3380 - $hget(ski,posy))
drawcopy -tn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski $calc(920 - $hget(ski,posx)) $calc(3380 - $hget(ski,posy))
}
;---- S T A R T / G O A L - S L A L O M
if ($onrect($calc($hget(ski,posx) - 200),$calc($hget(ski,posy) - 50),400,400,-350,330,300,20)) {
drawfill -r @ski.buf $rgb(0,255,0) 0 70 5 80 35
drawcopy -trn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski $calc(-150 - $hget(ski,posx)) $calc(380 - $hget(ski,posy))
drawcopy -trn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski $calc(120 - $hget(ski,posx)) $calc(380 - $hget(ski,posy))
}
elseif ($onrect($calc($hget(ski,posx) - 200),$calc($hget(ski,posy) - 50),400,400,50,3330,300,20)) {
drawfill -r @ski.buf $rgb(255,255,0) 0 70 5 80 35
drawcopy -trn @ski.buf $rgb(255,255,255) 67 0 30 30 @ski $calc(-150 - $hget(ski,posx)) $calc(3380 - $hget(ski,posy))
drawcopy -trn @ski.buf $rgb(255,255,255) 67 32 30 30 @ski $calc(120 - $hget(ski,posx)) $calc(3380 - $hget(ski,posy))
}
}
;----exhausted
if ($hget(ski,type) == h) && ($hget(ski,skill) <= 0) && (!$hget(ski,yeti)) { hadd ski yeti -20 }
goto end
:rock
hdec ski skill 40
:crash
if (!$hget(ski,yeti)) {
drawrect -rfn @ski $rgb(255,0,0) 1 0 0 400 400
drawrect -rfne @ski $rgb(255,115,1) 1 0 50 400 -100 0 350 400 100 50 0 -100 400 350 0 100 400
drawtext -rno @ski $rgb(255,255,0) "Arial Black" 80 44 135 CRASH
}
if ($hget(ski,posy) < 3335) && ($hget(ski,type) == n) hinc -c ski time 5
elseif ($hget(ski,posy) < 3335) && ($hget(ski,type) == h) hdec ski skill 10
:end
;---- yeti - exhausted
if ($hget(ski,type) == h) && ($hget(ski,yeti) < 0) && ($hget(ski,skill) <= 0) {
drawtext -rn @ski 0 Arial 10 130 20 *uff* I'm too exhausted to go on.
hinc ski yeti $iif($hget(ski,yeti) == -1,2,1)
}
;---- stats
if ($hget(ski,type) == n) {
drawrect -frn @ski 16777215 1 300 0 100 50
drawrect -rn @ski 0 1 300 0 100 50
drawtext -rn @ski 0 Arial 10 310 5 Time: $iif($hget(ski,time) == --:--,$v1,$asctime($hget(ski,time),nn:ss))
drawtext -rn @ski 0 Arial 10 310 20 Speed: $1 m/s
drawtext -rn @ski 0 Arial 10 310 35 Dist: $calc($hget(ski,posy) - 335) m
}
elseif ($hget(ski,type) == s) {
drawrect -frn @ski 16777215 1 300 0 100 50
drawrect -rn @ski 0 1 300 0 100 50
drawdot -rn @ski $iif($gettok($hget(ski,slalom),1,32) == f,$rgb(150,0,0),$iif($v1 == r,$rgb(0,255,0),$rgb(0,0,255))) 2 366 10
drawdot -rn @ski $iif($gettok($hget(ski,slalom),2,32) == f,$rgb(150,0,0),$iif($v1 == r,$rgb(0,255,0),$rgb(255,0,0))) 2 333 15
drawdot -rn @ski $iif($gettok($hget(ski,slalom),3,32) == f,$rgb(150,0,0),$iif($v1 == r,$rgb(0,255,0),$rgb(0,0,255))) 2 366 20
drawdot -rn @ski $iif($gettok($hget(ski,slalom),4,32) == f,$rgb(150,0,0),$iif($v1 == r,$rgb(0,255,0),$rgb(255,0,0))) 2 333 25
drawdot -rn @ski $iif($gettok($hget(ski,slalom),5,32) == f,$rgb(150,0,0),$iif($v1 == r,$rgb(0,255,0),$rgb(0,0,255))) 2 366 30
if ($calc($hget(ski,posx) * 0.25 + 400) > 300) drawdot -rn @ski 0 2 $calc($hget(ski,posx) * 0.25 + 400) $round($calc($hget(ski,posy) / 100),0)
}
elseif ($hget(ski,type) == h) && ($hget(ski,yeti) < 1) {
drawrect -frn @ski 16777215 1 300 0 100 50
drawrect -rn @ski 0 1 300 0 100 50
drawtext -rn @ski 0 Arial 10 310 5 Time: $iif($hget(ski,time) == --:--,$v1,$asctime($hget(ski,time),nn:ss))
drawtext -rn @ski 0 Arial 10 310 20 Health: $iif($hget(ski,skill) > 0,$v1,none)
drawtext -rn @ski 0 Arial 10 310 35 Dist: $calc($hget(ski,posy) - 335) $+ m
}
drawrect -rn @ski 0 1 0 0 400 400
drawdot @ski
}
;-----===== P A U S E / R E S U M E
Alias -l ski.pause {
if ($hget(ski,paus)) {
hdel ski paus
.timerSKI -m 0 50 ski.go $!ski.m
if ($hget(ski,posy) < 3335) && ($hget(ski,posy) > 335) hinc -c ski time 1
titlebar @Ski v 0.9 $iif($hget(ski,type) == s,Slalom,$iif($v1 == n,Normal,$iif($v1 == h,Hardcore,None)))
}
else {
hadd ski paus 1
.timerSKI* off
hadd ski time $hget(ski,time)
drawtext -ro @ski 0 "Arial Black" 40 100 130 PAUSED
drawtext -r @ski 0 Arial 12 120 180 (Press F3 or P to continue.)
titlebar @Ski v 0.9 $iif($hget(ski,type) == s,Slalom,$iif($v1 == n,Normal,$iif($v1 == h,Hardcore,None))) - Paused
}
}
;-----===== S P E E D
Alias -l ski.m { return $calc($iif($round($abs($calc(5 * ($mouse.y - 50) / ($mouse.x - 200))),0) > 25,25,$v1) $iif($hget(ski,jump),+5)) $round($calc(1.5 * ($mouse.x - 200) / ($mouse.y - 50)),0) }
;-----===== Y E T I
Alias -l ski.yeti {
hinc ski yeti
if ($1 isnum 1-4) {
drawrect -nfer @ski $rgb(175,175,175) 1 $calc($1 * 6 + 162) $calc($1 * 20 -30) 14 20
drawrect -ner @ski 0 1 $calc($1 * 6 + 162) $calc($1 * 20 -30) 14 20
drawrect -nfrd @ski $rgb(175,175,175) 1 $calc($1 * 6 + 166) $calc($1 * 20 -41) 12 15 10 10
drawrect -nrd @ski 0 1 $calc($1 * 6 + 166) $calc($1 * 20 -41) 12 15 10 10
drawrect -nfer @ski $rgb(128,0,0) 1 $calc($1 * 6 + 169) $calc($1 * 20 -32) 7 4
drawrect -ner @ski 0 1 $calc($1 * 6 + 169) $calc($1 * 20 -32) 7 4
drawline -nr @ski 0 1 $calc($1 * 6 + 163) $calc($1 * 20 -26) $calc($1 * 6 + 169) $calc($1 * 20 -22) $calc($1 * 6 + 170) $calc($1 * 20 -19)
drawline -nr @ski 0 1 $calc($1 * 6 + 175) $calc($1 * 20 -26) $calc($1 * 6 + 182) $calc($1 * 20 -22) $calc($1 * 6 + 182) $calc($1 * 20 -19)
drawdot -nr @ski 0 1 $calc($1 * 6 + 171) $calc($1 * 20 -22) $calc($1 * 6 + 183) $calc($1 * 20 -22) $calc($1 * 6 + 172) $calc($1 * 20 -23) $calc($1 * 6 + 184) $calc($1 * 20 -23) $calc($1 * 6 + 172) $calc($1 * 20 -21) $calc($1 * 6 + 184) $calc($1 * 20 -21) $calc($1 * 6 + 174) $calc($1 * 20 -38) $calc($1 * 6 + 175) $calc($1 * 20 -39) $calc($1 * 6 + 169) $calc($1 * 20 -38) $calc($1 * 6 + 168) $calc($1 * 20 -39) $calc($1 * 6 +167) $calc($1 * 20 -40) $calc($1 * 6 +176) $calc($1 * 20 -40)
drawline -nr @ski 0 1 $calc($1 * 6 + 165) $calc($1 * 20 -13) $calc($1 * 6 + 162) $calc($1 * 20 -2) $calc($1 * 6 + 165) $calc($1 * 20 -2)
drawline -nr @ski 0 1 $calc($1 * 6 + 172) $calc($1 * 20 -13) $calc($1 * 6 + 175) $calc($1 * 20 -2) $calc($1 * 6 + 178) $calc($1 * 20 -2)
drawdot -nr @ski $rgb(255,255,0) 1 $calc($1 * 6 + 171) $calc($1 * 20 -32) $calc($1 * 6 + 173) $calc($1 * 20 -32) $calc($1 * 6 + 171) $calc($1 * 20 -29) $calc($1 * 6 + 173) $calc($1 * 20 -29)
drawdot -nr @ski $rgb(255,0,0) 1 $calc($1 * 6 + 170) $calc($1 * 20 -35) $calc($1 * 6 + 174) $calc($1 * 20 -35)
}
elseif ($1 >= 5) {
drawrect -nfer @ski $rgb(175,175,175) 1 186 $iif($1 == 8,48,50) 14 20
drawrect -ner @ski 0 1 186 $iif($1 == 8,48,50) 14 20
drawrect -nfdr @ski $rgb(175,175,175) 1 187 $iif($1 == 8,37,39) 12 15 10 10
drawrect -ndr @ski 0 1 187 $iif($1 == 8,37,39) 12 15 10 10
drawrect -nfer @ski $rgb(225,0,0) 1 190 $iif($1 == 8,46,48) 7 4
drawrect -ner @ski 0 1 190 $iif($1 == 8,46,48) 7 4
drawline -nr @ski 0 1 187 $iif($1 == 8,52,54) 180 $iif($1 == 8,48,50) 180 $iif($1 == 8,40,42) 177 $iif($1 == 8,40,42)
drawline -nr @ski 0 1 199 $iif($1 == 8,52,54) 206 $iif($1 == 8,48,50) 206 $iif($1 == 8,40,42) 209 $iif($1 == 8,40,42)
drawdot -nr @ski 0 1 179 $iif($1 == 8,38,40) 179 $iif($1 == 8,39,41) 181 $iif($1 == 8,39,41) 205 $iif($1 == 8,39,41) 207 $iif($1 == 8,39,41) 207 $iif($1 == 8,38,40) 195 $iif($1 == 8,40,42) 196 $iif($1 == 8,39,41) 197 $iif($1 == 8,38,40) 190 $iif($1 == 8,40,42) 189 $iif($1 == 8,39,41) 188 $iif($1 == 8,38,40) 190 $iif($1 == 8,46,48)
drawline -nr @ski 0 1 189 $iif($1 == 8,65,67) 186 $iif($1 == 8,76,78) 183 $iif($1 == 8,76,78)
drawline -nr @ski 0 1 196 $iif($1 == 8,65,67) 199 $iif($1 == 8,76,78) 202 $iif($1 == 8,76,78)
drawdot -nr @ski $rgb(255,255,0) 1 192 $iif($1 == 8,47,49) 194 $iif($1 == 8,47,49) 193 $iif($1 == 8,48,50) 195 $iif($1 == 8,48,50)
drawdot -nr @ski $rgb(255,0,0) 1 191 $iif($1 == 8,43,45) 195 $iif($1 == 8,43,45)
drawtext -r @ski 0 Arial 12 128 200 (Press F2 to play again.)
if ($1 == 12) hdec ski yeti 8
if ($hget(ski,time)) hdel ski time
}
}
;-----===== T R E E
Alias -l ski.tree {
if ($isid && $remove($1-4,$chr(32),$chr(44)) isnum) {
if ($hget(ski,pic) == -1) return $onpoly(5,3,$1,$2,$calc($1 +20),$2,$calc($1 +20),$calc($2 +13),$calc($1 +11),$calc($2 +28),$calc($1 +4),$calc($2 +28), $3,$calc($4 +24),$calc($3 +19),$calc($4 +24),$calc($3 +10),$4)
return $onpoly(6,3,$1,$2,$calc($1 +20),$2,$calc($1 +20),$calc($2 +20),$calc($1 +15),$calc($2 +28),$calc($1 +12),$calc($2 +28),$1,$calc($2 +5), $3,$calc($4 +24),$calc($3 +19),$calc($4 +24),$calc($3 +10),$4)
}
}
;-----===== M E N U / S T U F F =====-----
menu channel,nicklist,query,status {
Ski:$iif($window(@ski),window -a @ski,ski.pic)
}
menu @ski {
leave:if (!$hget(ski,paus)) && (!$hget(ski,yeti)) { .timerSKI off }
mouse:{
if ($mouse.y > 50 && $mouse.x > 200 && $hget(ski,pic) < 1) { hadd ski pic 1 }
elseif ($mouse.y > 50 && $mouse.x < 200 && $hget(ski,pic) > -1) { hadd ski pic -1 }
elseif ($mouse.y > 50) && (!$timer(ski)) && (!$hget(ski,paus)) { .timerSKI -m 0 50 ski.go $!ski.m }
elseif ($mouse.y <= 50) && ($timer(ski)) && (!$hget(ski,yeti)) { .timerSKI off }
}
sclick:hadd -z ski jump 1
New Game:ski.pic
$iif($hget(ski,paus),Continue,Pause):ski.pause
-
Slalom:ski.pic s
Normal:ski.pic
Hardcore:ski.pic h
-
Help:$iif($exists(" $+ $scriptdirskireadme.html"),run $+(",$scriptdirskireadme.html"),var %bla = $input(Unable to open the SKI-Helpfile: $crlf $+ skireadme.html is missing in $scriptdir,owd,Error))
-
Exit:{
window -c @ski
.timerSKI off
window -c @ski.buf
window -c @ski.map
if ($hget(ski)) hfree ski
}
}
on *:Keydown:@ski:80:ski.pause
Alias F2 if ($window(@ski)) ski.pic
Alias F3 if ($window(@ski)) ski.pause
on *:CLOSE:@ski:{
.timerSKI off
hfree ski
window -c @ski.buf
window -c @ski.map
}
on *:UNLOAD:{
.timerSKI off
if ($hget(ski)) hfree ski
if ($window(@ski)) window -c @ski
if ($window(@ski.buf)) window -c @ski.buf
}
;-----===== S N I P P E T =====-----
;$onrect(x1,y1,w1,h1,x2,y2,w2,h2)
Alias onrect {
if ($isid) {
return $onpoly(4,4,$1,$2,$calc($1 + $3),$2,$calc($1 + $3),$calc($2 + $4),$1,$calc($2 + $4), $5,$6,$calc($5 + $7),$6,$calc($5 + $7),$calc($6 + $8),$5,$calc($6 + $8))
} }