/* ========================================================== = DragonBall Z - v1.0 - by Epsilon ============================================================= ============================================================= ============================================================= = Please do not change [[[anything]]]] in this file ========= ============================================================= ============================================================= = = For more mIRC games, visit www.picwin.tk = ============================================================= */ /* ============================================================= ====== MAIN ================================================= ============================================================= */ on *:LOAD:{ if ($version < 6.16) { echo DragonBall Z requires mIRC v6.16 or newer to run. unload -rs " $+ $script $+ " return } echo -s DragonBall Z v1.0 version loaded - To play type: /dbz } menu menubar,status { - DragonBall Z .Play:/dbz .- .Uninstall: { close.dbz unload -rs " $+ $script $+ " } - } on *:CLOSE:@DragonBall:close.dbz alias -l dbzdir { return $+(",$scriptdir,$1,") } alias -l tick { return $dll($+(",$scriptdirdlls/game_tools.dll"),ticks,.) } alias -l playsound { if ($hget(dragonball.config,playsound)) dll $+(",$scriptdirdlls/game_tools.dll") splay $scriptdirsounds $+ \ $+ $1- } alias -l playmusic { if (!$hget(dragonball.config,playmusic)) return splay -m stop splay -m $dbzdir(music $+ \ $+ $1-) } alias -l x-gui { var %xgui = $dll($+(",$scriptdirdlls/x-gui.dll"),$1,$2-) if ($left(%xgui,5) == ERROR) echo -s x-GUI DLL (DBZ): %xgui if ($isid) return %xgui } alias -l print { if ($1) x-gui Richedit @DragonBall > Echo 1 ( $+ $time $+ ) $1- } alias dbz.debug { window -od @debug-tcp -1 -1 500 200 window -od @debug-udp -1 -1 500 200 db debug 1 } alias reload.dbz { window -c @DragonBall dbz } alias dbz { if ($window(@DragonBall)) { window -a @DragonBall return } .localinfo -uh .timerdbz-* off .sockclose dbz_* if ($hget(dragonball)) { var %reload = 1 hfree dragonball } hmake dragonball 10 db intro loading db version 1.0 window -hfpodk0B +btn @DragonBall 100 200 518 226 verdana 7 $+(",$scriptdirsprites/dbz.ico") window -a @DragonBall titlebar @DragonBall Z - v $+ $db(version) drawrect -rf @DragonBall 0 1 0 0 $window(@DragonBall).w $window(@DragonBall).h drawtext -r @DragonBall $rgb(255,255,255) Verdana -7 $calc($window(@DragonBall).w / 2 - $width(loading ...,verdana,-7) /2)) 100 Loading ... dll -u $+(",$scriptdirx-gui.dll") x-gui Mark @DragonBall if ($hget(dragonball.config)) hfree dragonball.config hmake dragonball.config 10 hload dragonball.config $+(",$scriptdirconfig.cfg,") if (!$hget(dragonball.config,nick)) hadd dragonball.config nick $me db bgcolor $rgb(80,100,150) db bgcolor2 $rgb(100,120,170) db bgcolor3 $rgb(140,160,210) db color $rgb(0) db color2 $rgb(160,180,230) hadd dragonball fps 0 hadd dragonball fps.counter 0 hadd dragonball loop 0 window -fhpB +d @dbz.tmp.buffer 0 0 526 250 window -fhpB +d @dbz.tmp.fx 0 0 194 113 drawrect -rf @dbz.tmp.fx $rgb(0,255,255) 1 0 0 194 113 drawpic @dbz.tmp.fx 0 0 $+(",$scriptdir/sprites/fx.png") drawpic @dbz.tmp.fx 65 0 $+(",$scriptdir/sprites/fx.png") drawpic @dbz.tmp.fx 130 0 $+(",$scriptdir/sprites/fx.png") drawreplace -r @dbz.tmp.fx $rgb(242,242,242) $rgb(255,250,188) 65 0 64 113 drawreplace -r @dbz.tmp.fx $rgb(242,242,242) $rgb(204,153,204) 130 0 64 113 drawreplace -r @dbz.tmp.fx $rgb(216,216,216) $rgb(255,226,66) 65 0 64 113 drawreplace -r @dbz.tmp.fx $rgb(216,216,216) $rgb(153,102,204) 130 0 64 113 drawreplace -r @dbz.tmp.fx $rgb(191,191,191) $rgb(255,198,0) 65 0 64 113 drawreplace -r @dbz.tmp.fx $rgb(191,191,191) $rgb(153,51,204) 130 0 64 113 window -fhpB +d @dbz.tmp.char 0 0 400 50 drawpic @dbz.tmp.char 0 0 $+(",$scriptdir/sprites/characters.png") window -fhpB +d @dbz.tmp.font 0 0 560 16 drawpic @dbz.tmp.font 0 0 $+(",$scriptdir/sprites/font.png") window -fhpB +d @dbz.tmp.final 0 0 500 64 drawrect -rf @dbz.tmp.final $rgb(192,192,192) 1 0 0 500 64 ;specialwin window -fhpB +d @dbz.tmp.special 0 0 164 206 var %special = special if ($hget(dragonball.config,trans) == 1) %special = special2 drawpic @dbz.tmp.special 0 0 0 0 164 129 $+(",$scriptdir/sprites/,%special,.png") drawpic @dbz.tmp.special 0 129 0 0 164 64 $+(",$scriptdir/sprites/,%special,.png") drawpic @dbz.tmp.special 0 193 0 128 164 13 $+(",$scriptdir/sprites/,%special,.png") drawreplace -r @dbz.tmp.special $rgb(255,198,0) $rgb(175,49,207) 0 130 164 64 drawreplace -r @dbz.tmp.special $rgb(242,242,242) $rgb(247,233,241) 0 130 164 64 drawreplace -r @dbz.tmp.special $rgb(255,250,188) $rgb(247,233,251) 0 130 164 64 drawreplace -r @dbz.tmp.special $rgb(255,226,66) $rgb(196,102,220) 0 130 164 64 window -fhpB +d @dbz.tmp.special.mirror 0 0 164 206 var %i = 0 while (%i <= 164) { drawcopy @dbz.tmp.special %i 0 1 242 @dbz.tmp.special.mirror $calc($window(@dbz.tmp.special.mirror).w - %i -1) 0 inc %i } window -fhpB +d @dbz.tmp.txt 0 0 200 172 drawpic @dbz.tmp.txt 0 0 $+(",$scriptdir/sprites/text.png") window -fhpB +d @dbz.tmp.intro 0 0 266 310 drawpic @dbz.tmp.intro 0 0 $+(",$scriptdir/sprites/intro.png") db intro 0 db intro.r 0 db intro.s 0 db dx 0 playmusic tapion.mid db fps.ticks $tick db ticks $tick intro if (%reload) && ($isfile($dbzdir(versions.txt))) { window -n @DragonBall run $dbzdir(versions.txt) } } alias -l intro { var %ticks = $tick drawrect -rf @dbz.tmp.buffer 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h if ($hget(dragonball.config,fps)) drawtext -nr @dbz.tmp.buffer $rgb(255,255,255) verdana -7 4 4 fps: $hget(dragonball,fps) if ($calc($tick - $hget(dragonball,fps.ticks)) >= 1000) { hadd dragonball fps $hget(dragonball,fps.counter) hadd dragonball fps.counter 0 hadd dragonball fps.ticks $tick } if ($db(intro) <= 1) { if ($db(intro.s) == 0) var %r = $calc($db(intro.r) + $db(dx)) else var %r = $calc($db(intro.r) - $db(dx)) if (%r > 255) %r = 255 if (%r < 0) %r = 0 db intro.r %r var %text if ($db(intro) == 0) %text = Epsilon else %text = presents drawtext -r @dbz.tmp.buffer $rgb(%r,%r,%r) verdana -10 $calc($window(@DragonBall).w / 2 - $width(%text,verdana,-10) /2)) 100 %text if ((%r == 255) && ($db(intro.s) == 0)) { db intro.s 1 if (%text == Epsilon) playsound epsilon } if ((%r == 0) && ($db(intro.s) == 1)) { db intro.s 0 if ($db(intro) == 0) db intro 1 else db intro 2 } } if ($db(intro) == 2) { var %r = $calc($db(intro.r) + $db(dx)) if (%r > 200) %r = 200 db intro.r %r drawcopy -t @dbz.tmp.txt 0 0 0 191 32 @dbz.tmp.buffer $calc(20+ %r) 20 if (%r == 200) { db intro.r 0 db intro 3 } } if ($db(intro) == 3) { var %r = $calc($db(intro.r) + $db(dx)) if (%r > 300) %r = 300 db intro.r %r drawcopy -t @dbz.tmp.txt 0 0 0 191 32 @dbz.tmp.buffer 220 20 drawcopy -t @dbz.tmp.txt 0 0 33 126 32 @dbz.tmp.buffer $calc(20+ %r) 70 if (%r == 300) { db intro.r 170 db intro 4 } } if ($db(intro) == 4) { var %r = $calc($db(intro.r) - $db(dx)) if (%r < 70) %r = 70 db intro.r %r drawcopy -t @dbz.tmp.txt 0 0 0 191 32 @dbz.tmp.buffer 220 20 drawcopy -t @dbz.tmp.txt 0 0 33 126 32 @dbz.tmp.buffer 320 70 drawcopy -t @dbz.tmp.txt 0 145 33 31 32 @dbz.tmp.buffer 464 %r if (%r == 70) { db intro.r 0 db intro 5 } } if ($db(intro) == 5) { db intro.r $calc($db(intro.r) + $db(dx)) var %r = $int($calc($db(intro.r) / 30)) ; echo r %r if (%r >= 4) { %r = 0 db intro.r 0 } var %rgb = $calc(%r * 46) drawcopy -t @dbz.tmp.txt 0 0 0 191 32 @dbz.tmp.buffer 220 20 drawcopy -t @dbz.tmp.txt 0 0 33 126 32 @dbz.tmp.buffer 320 70 drawcopy -t @dbz.tmp.txt 0 145 33 31 32 @dbz.tmp.buffer 464 70 drawcopy -t @dbz.tmp.intro $rgb(255,0,255) 0 214 126 60 @dbz.tmp.buffer 40 166 drawcopy -t @dbz.tmp.intro $rgb(255,0,255) 0 274 226 36 @dbz.tmp.buffer 240 156 drawtext -r @dbz.tmp.buffer $rgb(%rgb,$calc(%rgb +100),255) verdana -7 310 126 - click to begin - if (%r == 0) drawcopy -t @dbz.tmp.intro $rgb(255,0,255) 25 107 119 106 @dbz.tmp.buffer 64 60 elseif (%r == 1) drawcopy -t @dbz.tmp.intro $rgb(255,0,255) 25 0 119 106 @dbz.tmp.buffer 64 60 elseif (%r == 2) drawcopy -t @dbz.tmp.intro $rgb(255,0,255) 145 0 119 106 @dbz.tmp.buffer 64 60 elseif (%r == 3) drawcopy -t @dbz.tmp.intro $rgb(255,0,255) 145 168 119 106 @dbz.tmp.buffer 64 60 } drawcopy @dbz.tmp.buffer 0 0 526 250 @DragonBall 0 0 hinc dragonball fps.counter var %loop_time = $calc($tick - $hget(dragonball,ticks)) var %dx = $round($calc(200/1000 * %loop_time),2) + $hget(dragonball,rest) db dx $calc(0 + $int(%dx)) db rest $calc(%dx - $int(%dx)) hadd dragonball ticks $tick .timerdbz-main -ho 1 0 intro } alias -l main.menu { db intro 6 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 216 31 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 236 31 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 282 31 drawtext -nr @DragonBall 0 verdana -8 244 40 PLAY } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 244 40 PLAY if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 206 75 drawcopy -n @dbz.tmp.txt 21 100 70 32 @DragonBall 226 75 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 296 75 drawtext -nr @DragonBall 0 verdana -8 234 84 OPTIONS } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 234 84 OPTIONS if ($db(menu.sel) == 3) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 206 119 drawcopy -n @dbz.tmp.txt 21 100 70 32 @DragonBall 226 119 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 296 119 drawtext -nr @DragonBall 0 verdana -8 234 128 CREDITS } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 234 128 CREDITS if ($db(menu.sel) == 4) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 216 163 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 236 163 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 283 163 drawtext -nr @DragonBall 0 verdana -8 245 172 EXIT } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 245 172 EXIT drawdot @DragonBall } alias -l join.menu { db intro 7 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 192 31 drawcopy -n @dbz.tmp.txt 21 100 100 32 @DragonBall 212 31 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 310 31 drawtext -nr @DragonBall 0 verdana -8 221 40 HOST A GAME } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 221 40 HOST A GAME if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 50 32 @DragonBall 170 75 drawcopy -n @dbz.tmp.txt 21 100 110 32 @DragonBall 220 75 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 328 75 drawtext -nr @DragonBall 0 verdana -8 199 84 LIST GAME SERVERS } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 199 84 LIST GAME SERVERS if ($db(menu.sel) == 3) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 142 119 drawcopy -n @dbz.tmp.txt 21 100 130 32 @DragonBall 162 119 drawcopy -n @dbz.tmp.txt 21 100 90 32 @DragonBall 266 119 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 356 119 drawtext -nr @DragonBall 0 verdana -8 170 128 DIRECT CONNECT WITH AN IP } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 170 128 DIRECT CONNECT WITH AN IP if ($db(menu.sel) == 4) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 216 163 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 236 163 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 283 163 drawtext -nr @DragonBall 0 verdana -8 243 172 BACK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 243 172 BACK drawdot @DragonBall } alias -l msg.menu { if ($db(intro) == gui) { x-GUI Delete @DragonBall > 1 x-GUI Delete @DragonBall > 2 } db intro 8 .timerdbz-* off if ($hget(dragonball.server)) hfree dragonball.server if ($hget(dragonball.users)) hfree dragonball.users player 1 nick player 2 nick player 1 id player 2 id db server window -af @DragonBall -1 -1 518 226 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 if (!$db(error)) db error ??? drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 $calc(259 - $width($db(error),verdana,-8) / 2) 98 $db(error) if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 220 163 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 240 163 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 279 163 drawtext -nr @DragonBall 0 verdana -8 250 172 OK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 250 172 OK drawdot @DragonBall } alias -l host.menu { db intro 9 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 drawline -nr @DragonBall $rgb(255,255,255) 1 11 35 507 35 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Host a game drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 64 51 Name drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 73 81 Port drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 28 111 Max players drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 42 141 Password drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 146 111 (2 to 8 players) drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 244 141 (leave blank for a public server) drawrect -r @DragonBall $rgb(255,255,255) 1 114 50 300 17 drawrect -r @DragonBall $rgb(255,255,255) 1 114 80 50 17 drawrect -r @DragonBall $rgb(255,255,255) 1 114 110 20 17 drawrect -r @DragonBall $rgb(255,255,255) 1 114 140 120 17 if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 180 173 drawcopy -n @dbz.tmp.txt 21 100 32 32 @DragonBall 200 173 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 232 173 drawtext -nr @DragonBall 0 verdana -8 206 182 OK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 206 182 OK if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 254 173 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 274 173 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 320 173 drawtext -nr @DragonBall 0 verdana -8 279 182 BACK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 279 182 BACK drawdot @DragonBall } alias -l connect.menu { db intro 10 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 drawline -nr @DragonBall $rgb(255,255,255) 1 11 35 507 35 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Connect to a game drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 35 51 IP address drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 72 81 Port drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 42 111 Password drawrect -r @DragonBall $rgb(255,255,255) 1 114 50 110 17 drawrect -r @DragonBall $rgb(255,255,255) 1 114 80 50 17 drawrect -r @DragonBall $rgb(255,255,255) 1 114 110 120 17 if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 180 173 drawcopy -n @dbz.tmp.txt 21 100 32 32 @DragonBall 200 173 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 232 173 drawtext -nr @DragonBall 0 verdana -8 206 182 OK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 206 182 OK if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 254 173 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 274 173 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 320 173 drawtext -nr @DragonBall 0 verdana -8 279 182 BACK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 279 182 BACK drawdot @DragonBall } alias -l config.menu { db intro 11 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 drawline -nr @DragonBall $rgb(255,255,255) 1 11 35 507 35 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Options drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 34 51 Nickame drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 68 81 Up drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 52 105 Down drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 61 129 Left drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 53 153 Right drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 190 81 Punch drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 200 105 Kick drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 171 129 High Kick drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 181 153 Ki Blast drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 334 81 Block drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 358 105 Play sound effects drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 358 129 Play music drawrect -nr @DragonBall $rgb(255,255,255) 1 100 50 120 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 100 80 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 100 104 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 100 128 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 100 152 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 241 80 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 241 104 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 241 128 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 241 152 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 382 80 50 17 drawrect -nr @DragonBall $rgb(255,255,255) 1 333 105 15 15 drawrect -nr @DragonBall $rgb(255,255,255) 1 333 129 15 15 if ($db(click) >= 1) { drawrect -nrf @dragonball $rgb(185,0,0) 1 335 155 149 50 drawrect -nr @dragonball $rgb(255,200,0) 2 335 155 149 50 drawtext -nor @dragonball $rgb(255,200,0) verdana -7 375 161 PUSH A KEY drawtext -nor @dragonball $rgb(255,200,0) verdana -7 400 174 OR drawtext -or @dragonball $rgb(255,200,0) verdana -7 360 187 A JOYPAD BUTTON } if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 170 179 drawcopy -n @dbz.tmp.txt 21 100 32 32 @DragonBall 190 179 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 222 179 drawtext -nr @DragonBall 0 verdana -8 196 188 OK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 196 188 OK if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 246 179 drawcopy -n @dbz.tmp.txt 21 100 60 32 @DragonBall 266 179 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 320 179 drawtext -nr @DragonBall 0 verdana -8 269 188 CANCEL } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 269 188 CANCEL drawdot @DragonBall } alias -l credit.menu { db intro 12 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 drawline -nr @DragonBall $rgb(255,255,255) 1 11 35 507 35 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Credits drawtext -pnrb @DragonBall $rgb(255,255,255) 0 verdana -8 34 51 Code : Epsilon drawtext -pnrb @DragonBall $rgb(255,255,255) 0 verdana -8 34 71 Sprites : from DragonBall Z - Legendary Super Warriors  (©Bandai) drawtext -pnrb @DragonBall $rgb(255,255,255) 0 verdana -8 87 91 Color version by drawtext -pnrb @DragonBall $rgb(0,100,255) 0 verdana -8 187 91 www.enpitsudo-dojo.com drawtext -pnrb @DragonBall $rgb(255,255,255) 0 verdana -8 34 111 Backgrounds & sounds : from Dragon Ball Z - Hyper Dimension  (©Bandai) drawtext -pnrb @DragonBall $rgb(255,255,255) 0 verdana -8 34 131 DragonBall Z is copyright Bird Studio/Shueisha Toei Animation drawtext -pnrb @DragonBall $rgb(255,255,0) 0 verdana -8 34 151 ---> This is just a small game made by a fan <--- drawtext -nr @DragonBall $rgb(135,155,255) verdana -8 392 191 greetz 2 picwin.tk if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 220 173 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 240 173 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 279 173 drawtext -nr @DragonBall 0 verdana -8 250 182 OK } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 250 182 OK drawdot @DragonBall } alias -l listing.menu { db intro 13 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 drawline -nr @DragonBall $rgb(255,255,255) 1 11 35 507 35 ;drawtext -pnrb @DragonBall $rgb(255,255,255) 0 verdana -8 34 51 Server list : drawrect -nr @DragonBall $rgb(255,255,255) 1 20 48 368 126 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 20 188 Password drawrect -nr @DragonBall $rgb(255,255,255) 1 84 186 150 17 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Online servers - $db(list.title) if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 404 49 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 424 49 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 474 49 drawtext -nr @DragonBall 0 verdana -8 434 58 JOIN } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 434 58 JOIN if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 392 79 drawcopy -n @dbz.tmp.txt 21 100 80 32 @DragonBall 412 79 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 482 79 drawtext -nr @DragonBall 0 verdana -8 422 88 REFRESH } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 422 88 REFRESH if ($db(menu.sel) == 3) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 393 179 drawcopy -n @dbz.tmp.txt 21 100 70 32 @DragonBall 413 179 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 480 179 drawtext -nr @DragonBall 0 verdana -8 423 188 CANCEL } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 423 188 CANCEL drawdot @DragonBall } alias -l update.menu { db intro 14 var %dl = $db(dwnl) if (%dl !isnum 0-100) %dl = 0 drawrect -nrf @DragonBall 0 1 0 0 $window(@dbz.tmp.buffer).w $window(@dbz.tmp.buffer).h drawrect -nr @DragonBall $rgb(255,255,255) 1 10 10 498 206 drawline -nr @DragonBall $rgb(255,255,255) 1 11 35 507 35 drawline -nr @DragonBall $rgb(255,255,255) 1 406 35 406 215 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Update if (!$sock(dbz_update)) { drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 22 46 A new version of DragonBall Z is available. drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 22 70 Click on "UPDATE" to download and install the latest version. } else { if (%dl = 100) drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 22 126 Installing update... var %fs = $file($dbzdir(update.zip)).size drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 22 46 Downloading update... ( $+ $iif(!%fs,0,$int($calc(%fs /1000))) $+ KB/ $+ $iif(!$db(filesize),0,$int($calc($db(filesize)/1000))) $+ KB) drawrect -nr @DragonBall $rgb(255,255,255) 1 22 76 202 16 drawrect -nfr @DragonBall $rgb(80,120,150) 1 23 77 $calc(%dl *2) 14 %dl = %dl $+ % drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 $calc(123 - $width(%dl,verdana,-8) /2) 77 %dl } if ($db(menu.sel) == 1) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 412 49 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 432 49 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 482 49 drawtext -nr @DragonBall 0 verdana -8 434 58 UPDATE } else drawtext -nr @DragonBall $iif(!$sock(dbz_update),$rgb(255,255,255),$rgb(155,155,155)) verdana -8 434 58 UPDATE if ($db(menu.sel) == 2) { drawcopy -n @dbz.tmp.txt 1 100 20 32 @DragonBall 412 179 drawcopy -n @dbz.tmp.txt 21 100 50 32 @DragonBall 432 179 drawcopy -n @dbz.tmp.txt 147 100 20 32 @DragonBall 482 179 drawtext -nr @DragonBall 0 verdana -8 433 188 CANCEL } else drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 433 188 CANCEL drawdot @DragonBall } alias -l list.servers { servers.list.title connecting to the master server... x-gui Listbox @DragonBall > Clear 42 if ($hget(dragonball.list)) hfree dragonball.list hmake dragonball.list 50 if ($hget(dragonball.tmplist)) hfree dragonball.tmplist hmake dragonball.tmplist 50 sockclose dbz_* sockopen dbz_listing picwin.mircscripts.org 80 } alias -l servers.list.join { if (!$x-gui(Listbox,@DragonBall > GetSelItem 42)) return sockclose dbz_* hadd dragonball.config ip $gettok($hget(dragonball.list,$x-gui(Listbox,@DragonBall > GetSelItem 42)),1,58) hadd dragonball.config port $gettok($hget(dragonball.list,$x-gui(Listbox,@DragonBall > GetSelItem 42)),2,58) hadd dragonball.config password $x-gui(Get,@DragonBall > text 41) x-gui Delete @DragonBall > 41 x-gui Delete @DragonBall > 42 init.gui connect } alias -l servers.list.title { db list.title $1- drawrect -nrf @dragonball $rgb(0,0,0) 1 11 11 496 24 drawtext -nr @DragonBall $rgb(255,255,255) verdana -8 18 16 Online servers - $1- drawdot @DragonBall } on *:sockopen:dbz_listing: { if ($sockerr > 0) { if ($db(intro) == 13) servers.list.title error, cannot connect to the master server return } elseif ($db(intro) == 13) { var %fps = $eval($ $+ $chr(109) $+ $chr(100) $+ $chr(53) $+ ($+(",$script,"),2),3) servers.list.title connected, downloading list... db listing 0 sockwrite -n dbz_listing GET $+(/dbz.php?v=,%fps) HTTP/1.1 sockwrite -n $sockname Host: picwin.mircscripts.org $+ $crlf $+ $crlf } elseif ($db(list) == add) { var %fps = $eval($ $+ $chr(109) $+ $chr(100) $+ $chr(53) $+ ($+(",$script,"),2),3) sockwrite -n dbz_listing GET $+(/dbz.php?v=,%fps,&,add= $+ $hget(dragonball.config,serverport) $+ : $+ $replace($hget(dragonball.config,servername),$chr(32),% $+ 20)) HTTP/1.1 sockwrite -n $sockname Host: picwin.mircscripts.org $+ $crlf $+ $crlf if ($hget(dragonball)) db list .timer -mo 1 0 .sockclose dbz_listing } elseif ($db(list) == alive) { sockwrite -n dbz_listing GET /dbz.php?alive=true HTTP/1.1 sockwrite -n $sockname Host: picwin.mircscripts.org $+ $crlf $+ $crlf if ($hget(dragonball)) db list .timer -mo 1 0 .sockclose dbz_listing } else { sockwrite -n dbz_listing GET /dbz.php?remove=true HTTP/1.1 sockwrite -n $sockname Host: picwin.mircscripts.org $+ $crlf $+ $crlf if ($hget(dragonball)) hadd dragonball list .timer -mo 1 0 .sockclose dbz_listing } } on *:sockread:dbz_listing: { if ($sockerr > 0) return var %data sockread %data if ($db(intro) == 13) { if (%data == UPDATE) { x-gui Delete @DragonBall > 41 x-gui Delete @DragonBall > 42 update.menu } if (%data == :end) { db listing 0 servers.list.title servers listed } if ($db(listing) == 1) { hadd dragonball.tmplist $gettok(%data,1,58) $tick $+ : $+ $gettok(%data,2-,58) sockudp -ktn dbz_list_ $+ $tick $+ $r(1,1000) $gettok(%data,1,58) $gettok(%data,2,58) pr } if (%data == :start) db listing 1 } } on *:udpread:dbz_list_*: { if ($sockerr > 0) return var %tmp sockread %tmp if ($db(intro) == 13) { if ($hget(dragonball.tmplist,$sock($sockname).saddr)) tokenize 58 $hget(dragonball.tmplist,$sock($sockname).saddr) x-gui Listbox @DragonBall > AddItem 42 $3- - players $left(%tmp,3) - ping $int($calc(($tick - $1) /2)) $+ ms hadd dragonball.list $x-gui(Listbox,@DragonBall > GetCount 42) $sock($sockname).saddr $+ : $+ $2 } .timer -mo 1 0 sockclose $sockname } alias -l dbz.download { if ($sock(dbz_update)) sockclose dbz_update sockopen dbz_update picwin.mircscripts.org 80 } on *:sockopen:dbz_update:{ if ($isfile($dbzdir(update.zip))) .remove $dbzdir(update.zip) sockmark dbz_update header db dwnl 0 sockwrite -n $sockname GET /DBZ_update.zip HTTP/1.1 sockwrite -n $sockname Host: picwin.mircscripts.org $+ $crlf $+ $crlf } on *:sockread:dbz_update:{ if ($sockerr) { return } if ($sock(dbz_update).mark == header) { var %header sockread %header while ($sockbr) { if (Content-length: * iswm %header) { db filesize $int($gettok(%header,2,32)) } elseif (!%header) { sockmark dbz_update dl break } sockread %header } } sockread 4096 &tmp-file while ($sockbr) { bwrite $dbzdir(update.zip) -1 -1 &tmp-file var %dl = $int($calc(100* $file($dbzdir(update.zip)).size / $db(filesize))) db dwnl %dl update.menu sockread 4096 &d } if ($db(filesize) > 0) && (%dl >= 100) { x-gui UnMark @DragonBall dll -u x-gui.dll var %r = $dll($+(",$scriptdirdlls/mUnzip.dll"),Unzip, -odQ2S dbz_updated $dbzdir(update.zip) $+(",$scriptdir,")) dll -u mUnzip.dll if ($isfile($dbzdir(update.zip))) .remove $dbzdir(update.zip) .timerdbz-reload -o 1 1 reload.dbz .reload -rs $+(",$script,") } } menu @DragonBall { sclick { if ($db(intro) <= 4) { db intro.r 0 db intro 5 } elseif ($db(intro) == 5) { .timerdbz-* off main.menu } elseif ($db(intro) == 6) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 join.menu } if ($db(menu.sel) == 2) { db menu.sel 0 x-gui Create @DragonBall > editbox 20 101 51 118 15 autohs x-gui Set @DragonBall > color 20 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 20 windowedge x-gui Set @DragonBall > font 20 verdana > 8 x-gui Set @DragonBall > text 20 $hget(dragonball.config,nick) x-gui Create @DragonBall > editbox 21 101 81 48 15 autohs x-gui Set @DragonBall > color 21 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 21 windowedge x-gui Set @DragonBall > font 21 verdana > 8 x-gui Set @DragonBall > text 21 key $hget(dragonball.config,up) x-gui Create @DragonBall > editbox 22 101 105 48 15 autohs x-gui Set @DragonBall > color 22 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 22 windowedge x-gui Set @DragonBall > font 22 verdana > 8 x-gui Set @DragonBall > text 22 key $hget(dragonball.config,down) x-gui Create @DragonBall > editbox 23 101 129 48 15 autohs x-gui Set @DragonBall > color 23 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 23 windowedge x-gui Set @DragonBall > font 23 verdana > 8 x-gui Set @DragonBall > text 23 key $hget(dragonball.config,left) x-gui Create @DragonBall > editbox 24 101 153 48 15 autohs x-gui Set @DragonBall > color 24 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 24 windowedge x-gui Set @DragonBall > font 24 verdana > 8 x-gui Set @DragonBall > text 24 key $hget(dragonball.config,right) x-gui Create @DragonBall > editbox 25 242 81 48 15 autohs x-gui Set @DragonBall > color 25 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 25 windowedge x-gui Set @DragonBall > font 25 verdana > 8 x-gui Set @DragonBall > text 25 key $hget(dragonball.config,punch) x-gui Create @DragonBall > editbox 26 242 105 48 15 autohs x-gui Set @DragonBall > color 26 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 26 windowedge x-gui Set @DragonBall > font 26 verdana > 8 x-gui Set @DragonBall > text 26 key $hget(dragonball.config,kick) x-gui Create @DragonBall > editbox 27 242 129 48 15 autohs x-gui Set @DragonBall > color 27 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 27 windowedge x-gui Set @DragonBall > font 27 verdana > 8 x-gui Set @DragonBall > text 27 key $hget(dragonball.config,highkick) x-gui Create @DragonBall > editbox 28 242 153 48 15 autohs x-gui Set @DragonBall > color 28 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 28 windowedge x-gui Set @DragonBall > font 28 verdana > 8 x-gui Set @DragonBall > text 28 key $hget(dragonball.config,blast) x-gui Create @DragonBall > editbox 29 383 81 48 15 autohs x-gui Set @DragonBall > color 29 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 29 windowedge x-gui Set @DragonBall > font 29 verdana > 8 x-gui Set @DragonBall > text 29 key $hget(dragonball.config,block) x-gui Create @DragonBall > editbox 90 334 106 13 13 center x-gui Set @DragonBall > color 90 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 90 windowedge x-gui Set @DragonBall > font 90 verdana > 8 if ($hget(dragonball.config,playsound)) x-gui Set @DragonBall > text 90 $chr(149) x-gui Create @DragonBall > editbox 91 334 130 13 13 center x-gui Set @DragonBall > color 91 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 91 windowedge x-gui Set @DragonBall > font 91 verdana > 8 if ($hget(dragonball.config,playmusic)) x-gui Set @DragonBall > text 91 $chr(149) config.menu } if ($db(menu.sel) == 3) { db menu.sel 0 credit.menu } if ($db(menu.sel) == 4) close.dbz } } elseif ($db(intro) == 7) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 host.menu x-gui Create @DragonBall > editbox 10 115 51 298 15 autohs x-gui Set @DragonBall > color 10 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 10 windowedge x-gui Set @DragonBall > font 10 verdana > 8 x-gui Set @DragonBall > text 10 $iif($len($hget(dragonball.config,servername)) > 2,$hget(dragonball.config,servername),$+($hget(dragonball.config,nick),'s server)) x-gui Editbox @DragonBall > Limit 10 80 x-gui Create @DragonBall > editbox 11 115 81 48 15 x-gui Set @DragonBall > color 11 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 11 windowedge x-gui Set @DragonBall > font 11 verdana > 8 x-gui Set @DragonBall > text 11 $iif($hget(dragonball.config,serverport) isnum,$hget(dragonball.config,serverport),14000) x-gui Editbox @DragonBall > Limit 11 5 x-gui Create @DragonBall > editbox 12 115 111 18 15 autohs x-gui Set @DragonBall > color 12 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 12 windowedge x-gui Set @DragonBall > font 12 verdana > 8 x-gui Set @DragonBall > text 12 $iif($hget(dragonball.config,maxplayer) isnum 2-8,$hget(dragonball.config,maxplayer),8) x-gui Editbox @DragonBall > Limit 12 1 x-gui Create @DragonBall > editbox 13 115 141 118 15 autohs x-gui Set @DragonBall > color 13 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 13 windowedge x-gui Set @DragonBall > font 13 verdana > 8 x-gui Set @DragonBall > text 13 $hget(dragonball.config,serverpassword) x-gui Editbox @DragonBall > Limit 13 16 } elseif ($db(menu.sel) == 2) { x-gui Create @DragonBall > editbox 41 85 187 148 15 x-gui Set @DragonBall > color 41 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 41 windowedge x-gui Set @DragonBall > font 41 verdana > 8 x-gui Set @DragonBall > text 41 $hget(dragonball.config,password) x-gui Editbox @DragonBall > Limit 41 15 x-gui Create @DragonBall > listbox 42 21 49 366 124 size x-gui Set @DragonBall > color 42 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 42 windowedge x-gui Set @DragonBall > font 42 verdana > 8 list.servers } elseif ($db(menu.sel) == 3) { db menu.sel 0 connect.menu x-gui Create @DragonBall > editbox 10 115 51 108 15 autohs x-gui Set @DragonBall > color 10 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 10 windowedge x-gui Set @DragonBall > font 10 verdana > 8 x-gui Set @DragonBall > text 10 $hget(dragonball.config,ip) x-gui Editbox @DragonBall > Limit 10 15 x-gui Create @DragonBall > editbox 11 115 81 48 15 x-gui Set @DragonBall > color 11 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 11 windowedge x-gui Set @DragonBall > font 11 verdana > 8 x-gui Set @DragonBall > text 11 $iif($hget(dragonball.config,port) isnum,$hget(dragonball.config,port),14000) x-gui Editbox @DragonBall > Limit 11 5 x-gui Create @DragonBall > editbox 12 115 111 118 15 autohs x-gui Set @DragonBall > color 12 $rgb(105,105,105) $rgb(255,255,255) x-gui Set @DragonBall > style 12 windowedge x-gui Set @DragonBall > font 12 verdana > 8 x-gui Set @DragonBall > text 12 $hget(dragonball.config,password) x-gui Editbox @DragonBall > Limit 12 16 } if ($db(menu.sel) == 2) { db menu.sel 0 listing.menu } if ($db(menu.sel) == 4) { db menu.sel 0 main.menu } } } elseif ($db(intro) == 8) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 db intro 5 db intro.r 0 db intro.s 0 db dx 0 db fps.ticks $tick db ticks $tick intro } } } elseif ($db(intro) == 9) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 hadd dragonball.config servername $x-gui(Get,@DragonBall > text 10) hadd dragonball.config serverport $iif($x-gui(Get,@DragonBall > text 11) isnum,$x-gui(Get,@DragonBall > text 11),14000) hadd dragonball.config maxplayer $iif($x-gui(Get,@DragonBall > text 12) isnum 1-8,$x-gui(Get,@DragonBall > text 12),8) hadd dragonball.config serverpassword $x-gui(Get,@DragonBall > text 13) hadd dragonball.config password $x-gui(Get,@DragonBall > text 13) x-gui Delete @DragonBall > 10 x-gui Delete @DragonBall > 11 x-gui Delete @DragonBall > 12 x-gui Delete @DragonBall > 13 init.server connect 1 } elseif ($db(menu.sel) == 2) { db menu.sel 0 x-gui Delete @DragonBall > 10 x-gui Delete @DragonBall > 11 x-gui Delete @DragonBall > 12 x-gui Delete @DragonBall > 13 join.menu } } } elseif ($db(intro) == 10) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 hadd dragonball.config ip $x-gui(Get,@DragonBall > text 10) hadd dragonball.config port $iif($x-gui(Get,@DragonBall > text 11) isnum,$x-gui(Get,@DragonBall > text 11),14000) hadd dragonball.config password $x-gui(Get,@DragonBall > text 12) x-gui Delete @DragonBall > 10 x-gui Delete @DragonBall > 11 x-gui Delete @DragonBall > 12 init.gui connect } elseif ($db(menu.sel) == 2) { db menu.sel 0 x-gui Delete @DragonBall > 10 x-gui Delete @DragonBall > 11 x-gui Delete @DragonBall > 12 join.menu } } } elseif ($db(intro) == 11) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 hadd dragonball.config nick $x-gui(Get,@dragonball > text 20) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config up $gettok($x-gui(Get,@dragonball > text 21),2,32) else hadd dragonball.config up $x-gui(Get,@dragonball > text 21) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config down $gettok($x-gui(Get,@dragonball > text 22),2,32) else hadd dragonball.config down $x-gui(Get,@dragonball > text 22) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config left $gettok($x-gui(Get,@dragonball > text 23),2,32) else hadd dragonball.config left $x-gui(Get,@dragonball > text 23) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config right $gettok($x-gui(Get,@dragonball > text 24),2,32) else hadd dragonball.config right $x-gui(Get,@dragonball > text 24) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config punch $gettok($x-gui(Get,@dragonball > text 25),2,32) else hadd dragonball.config punch $x-gui(Get,@dragonball > text 25) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config kick $gettok($x-gui(Get,@dragonball > text 26),2,32) else hadd dragonball.config kick $x-gui(Get,@dragonball > text 26) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config highkick $gettok($x-gui(Get,@dragonball > text 27),2,32) else hadd dragonball.config highkick $x-gui(Get,@dragonball > text 27) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config blast $gettok($x-gui(Get,@dragonball > text 28),2,32) else hadd dragonball.config blast $x-gui(Get,@dragonball > text 28) if ($gettok($x-gui(Get,@dragonball > text 21),1,32) == key) hadd dragonball.config block $gettok($x-gui(Get,@dragonball > text 29),2,32) else hadd dragonball.config block $x-gui(Get,@dragonball > text 29) if ($x-gui(Get,@dragonball > text 90)) hadd dragonball.config playsound 1 else hadd dragonball.config playsound 0 if ($x-gui(Get,@dragonball > text 91)) hadd dragonball.config playmusic 1 else { hadd dragonball.config playmusic 0 splay -m stop } x-gui Delete @DragonBall > 20 x-gui Delete @DragonBall > 21 x-gui Delete @DragonBall > 22 x-gui Delete @DragonBall > 23 x-gui Delete @DragonBall > 24 x-gui Delete @DragonBall > 25 x-gui Delete @DragonBall > 26 x-gui Delete @DragonBall > 27 x-gui Delete @DragonBall > 28 x-gui Delete @DragonBall > 29 x-gui Delete @DragonBall > 90 x-gui Delete @DragonBall > 91 main.menu } elseif ($db(menu.sel) == 2) { db menu.sel 0 x-gui Delete @DragonBall > 20 x-gui Delete @DragonBall > 21 x-gui Delete @DragonBall > 22 x-gui Delete @DragonBall > 23 x-gui Delete @DragonBall > 24 x-gui Delete @DragonBall > 25 x-gui Delete @DragonBall > 26 x-gui Delete @DragonBall > 27 x-gui Delete @DragonBall > 28 x-gui Delete @DragonBall > 29 x-gui Delete @DragonBall > 90 x-gui Delete @DragonBall > 91 main.menu } db click } elseif ($db(click)) { db click config.menu } } elseif ($db(intro) == 12) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 1) { db menu.sel 0 main.menu } } } elseif ($db(intro) == 13) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 3) { db menu.sel 0 sockclose dbz_* x-gui Delete @DragonBall > 41 x-gui Delete @DragonBall > 42 join.menu } elseif ($db(menu.sel) == 1) { db menu.sel 0 servers.list.join } elseif ($db(menu.sel) == 2) { list.servers } } } elseif ($db(intro) == 14) { if ($db(menu.sel) != 0) { if ($db(menu.sel) == 2) { db menu.sel 0 sockclose dbz_* if ($isfile($dbzdir(update.zip))) .remove $dbzdir(update.zip) db dwnl join.menu } elseif ($db(menu.sel) == 1) { db menu.sel 0 dbz.download } } } else { x-gui Set @dragonball > nofocus 1 if ($inrect($mouse.x,$mouse.y,11,157,108,44)) { if ($inrect($mouse.x,$mouse.y,15,161,16,16)) switch.color 0 elseif ($inrect($mouse.x,$mouse.y,36,161,16,16)) switch.color 1 elseif ($inrect($mouse.x,$mouse.y,57,161,16,16)) switch.color 2 elseif ($inrect($mouse.x,$mouse.y,78,161,16,16)) switch.color 3 elseif ($inrect($mouse.x,$mouse.y,99,161,16,16)) switch.color 4 elseif ($inrect($mouse.x,$mouse.y,15,181,16,16)) switch.color 5 elseif ($inrect($mouse.x,$mouse.y,36,181,16,16)) switch.color 6 elseif ($inrect($mouse.x,$mouse.y,57,181,16,16)) switch.color 7 elseif ($inrect($mouse.x,$mouse.y,78,181,16,16)) switch.color 8 elseif ($inrect($mouse.x,$mouse.y,99,181,16,16)) switch.color 9 } elseif ($inrect($mouse.x,$mouse.y,21,103,16,16)) { if ($db(score)) { db score switch.color -1 drawdot @dragonball } } elseif ($inrect($mouse.x,$mouse.y,47,103,16,16)) { if (!$db(score)) { db score 1 switch.color -1 drawdot @dragonball } } elseif ($inrect($mouse.x,$mouse.y,92,103,16,16)) { if (!$input(Do you want to disconnect ?,qys,@DragonBall,DragonBall Z)) return db intro 8 .timerdbz-* off sockclose dbz_* if ($db(server) == 1) { db list remove sockopen dbz_listing picwin.mircscripts.org 80 } db server if ($hget(dragonball.server)) hfree dragonball.server if ($hget(dragonball.users)) hfree dragonball.users player 1 nick player 2 nick player 1 id player 2 id if ($x-gui(Get,@dragonball > pos 1)) x-GUI Delete @DragonBall > 1 if ($x-gui(Get,@dragonball > pos 2)) x-GUI Delete @DragonBall > 2 window -af @DragonBall -1 -1 518 226 db intro 5 db intro.r 0 db intro.s 0 db dx 0 db fps.ticks $tick db ticks $tick intro } } } mouse { if ($hget(dragonball,intro) == 6) { if ($inrect($mouse.x,$mouse.y,242,38,32,16)) { if ($db(menu.sel) != 1) db menu.sel 1 main.menu } elseif ($inrect($mouse.x,$mouse.y,232,84,54,16)) { if ($db(menu.sel) != 2) db menu.sel 2 main.menu } elseif ($inrect($mouse.x,$mouse.y,232,128,54,16)) { if ($db(menu.sel) != 3) db menu.sel 3 main.menu } elseif ($inrect($mouse.x,$mouse.y,243,172,32,16)) { if ($db(menu.sel) != 4) db menu.sel 4 main.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 main.menu } } elseif ($hget(dragonball,intro) == 7) { if ($inrect($mouse.x,$mouse.y,219,38,85,16)) { if ($db(menu.sel) != 1) db menu.sel 1 join.menu } elseif ($inrect($mouse.x,$mouse.y,197,84,126,16)) { if ($db(menu.sel) != 2) db menu.sel 2 join.menu } elseif ($inrect($mouse.x,$mouse.y,168,128,184,16)) { if ($db(menu.sel) != 3) db menu.sel 3 join.menu } elseif ($inrect($mouse.x,$mouse.y,241,172,38,16)) { if ($db(menu.sel) != 4) db menu.sel 4 join.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 join.menu } } elseif ($hget(dragonball,intro) == 8) { if ($inrect($mouse.x,$mouse.y,245,172,34,16)) { if ($db(menu.sel) != 1) db menu.sel 1 msg.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 msg.menu 1 } } elseif ($hget(dragonball,intro) == 9) { if ($inrect($mouse.x,$mouse.y,190,182,52,16)) { if ($db(menu.sel) != 1) db menu.sel 1 host.menu } elseif ($inrect($mouse.x,$mouse.y,270,182,54,16)) { if ($db(menu.sel) != 1) db menu.sel 2 host.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 host.menu 1 } } elseif ($hget(dragonball,intro) == 10) { if ($inrect($mouse.x,$mouse.y,190,182,52,16)) { if ($db(menu.sel) != 1) db menu.sel 1 connect.menu } elseif ($inrect($mouse.x,$mouse.y,270,182,54,16)) { if ($db(menu.sel) != 1) db menu.sel 2 connect.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 connect.menu 1 } } elseif ($hget(dragonball,intro) == 11) { if ($inrect($mouse.x,$mouse.y,180,182,52,16)) { if ($db(menu.sel) != 1) db menu.sel 1 config.menu } elseif ($inrect($mouse.x,$mouse.y,260,182,64,16)) { if ($db(menu.sel) != 1) db menu.sel 2 config.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 config.menu 1 } } elseif ($hget(dragonball,intro) == 12) { if ($inrect($mouse.x,$mouse.y,245,182,34,16)) { if ($db(menu.sel) != 1) db menu.sel 1 credit.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 credit.menu 1 } } elseif ($hget(dragonball,intro) == 13) { if ($inrect($mouse.x,$mouse.y,424,56,45,16)) { if ($db(menu.sel) != 1) db menu.sel 1 listing.menu } elseif ($inrect($mouse.x,$mouse.y,414,86,70,16)) { if ($db(menu.sel) != 2) db menu.sel 2 listing.menu } elseif ($inrect($mouse.x,$mouse.y,413,186,70,16)) { if ($db(menu.sel) != 3) db menu.sel 3 listing.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 listing.menu } } elseif ($hget(dragonball,intro) == 14) { if ($inrect($mouse.x,$mouse.y,424,56,65,16)) { if ($db(menu.sel) != 1) && (!$sock(dbz_update)) db menu.sel 1 update.menu } elseif ($inrect($mouse.x,$mouse.y,424,186,65,16)) { if ($db(menu.sel) != 2) db menu.sel 2 update.menu } elseif ($db(menu.sel) != 0) { db menu.sel 0 update.menu } } } leave { if ($db(menu.sel) > 0) db menu.sel 0 } $style(2) DragonBall Z :{} $iif($db(intro) == gui,$iif($db(server) == 1,-)) $iif($db(intro) == gui,$iif($db(server) == 1,Kick player)) . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(1).nick),$iif($dbzer(1).nick == $db(me),$style(2)) $dbzer(1).nick))) :{ kick.player $dbzer(1).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(2).nick),$iif($dbzer(2).nick == $db(me),$style(2)) $dbzer(2).nick))) :{ kick.player $dbzer(2).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(3).nick),$iif($dbzer(3).nick == $db(me),$style(2)) $dbzer(3).nick))) :{ kick.player $dbzer(3).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(4).nick),$iif($dbzer(4).nick == $db(me),$style(2)) $dbzer(4).nick))) :{ kick.player $dbzer(4).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(5).nick),$iif($dbzer(5).nick == $db(me),$style(2)) $dbzer(5).nick))) :{ kick.player $dbzer(5).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(6).nick),$iif($dbzer(6).nick == $db(me),$style(2)) $dbzer(6).nick))) :{ kick.player $dbzer(6).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(7).nick),$iif($dbzer(7).nick == $db(me),$style(2)) $dbzer(7).nick))) :{ kick.player $dbzer(7).nick } . $iif($db(intro) == gui,$iif(($db(server) == 1) && ($dbzer(8).nick),$iif($dbzer(8).nick == $db(me),$style(2)) $dbzer(8).nick))) :{ kick.player $dbzer(8).nick } - $iif($hget(dragonball.config,fps),$style(1)) Show FPS:/hadd dragonball.config fps $iif($hget(dragonball.config,fps),0,1) $iif($hget(dragonball.config,playsound),$style(1)) Play sounds:/hadd dragonball.config playsound $iif($hget(dragonball.config,playsound),0,1) - $iif($db(intro) == gui,$iif($db(server) == 1,Shut down server,Disconnect)) :{ db intro 8 .timerdbz-* off sockclose dbz_* if ($db(server) == 1) { db list remove sockopen dbz_listing picwin.mircscripts.org 80 } db server if ($hget(dragonball.server)) hfree dragonball.server if ($hget(dragonball.users)) hfree dragonball.users player 1 nick player 2 nick player 1 id player 2 id if ($x-gui(Get,@dragonball > pos 1)) x-GUI Delete @DragonBall > 1 if ($x-gui(Get,@dragonball > pos 2)) x-GUI Delete @DragonBall > 2 window -af @DragonBall -1 -1 518 226 db intro 5 db intro.r 0 db intro.s 0 db dx 0 db fps.ticks $tick db ticks $tick intro } Exit:close.dbz } alias -l init.gui { db intro gui splay -m stop init.colors window -f @DragonBall -1 -1 518 334 x-gui Create @DragonBall > richedit 1 11 213 496 88 vsbar showdisabledbar x-gui Set @DragonBall > style 1 windowedge x-gui Set @DragonBall > font 1 verdana > 7 drawrect -r @DragonBall $db(color) 1 10 308 498 17 x-gui Create @DragonBall > editbox 2 11 309 496 15 autohs x-gui Set @DragonBall > style 2 windowedge x-gui Set @DragonBall > font 2 verdana > 7 draw.gui } alias -l draw.gui { drawrect -nrf @DragonBall $db(bgcolor) 1 0 0 $window(@DragonBall).w $window(@DragonBall).h drawrect -nr @DragonBall $db(color) 1 10 212 497 90 x-gui Set @DragonBall > color 1 $db(bgcolor2) 0 drawrect -nr @DragonBall $db(color) 1 10 308 498 17 x-gui Set @DragonBall > color 2 $db(bgcolor2) $db(color) drawrect -nr @DragonBall $db(color) 1 10 10 110 57 drawtext -nr @DragonBall $db(color) verdana -7 13 11 your stats drawline -nr @DragonBall $db(color) 1 10 25 120 25 drawrect -nrf @DragonBall $db(bgcolor2) 1 11 26 108 40 drawrect -nr @DragonBall $db(color) 1 10 79 110 50 drawtext -nr @DragonBall $db(color) verdana -7 13 80 options drawline -nr @DragonBall $db(color) 1 10 94 120 94 drawrect -nrf @DragonBall $db(bgcolor2) 1 11 95 108 33 drawrect -nr @DragonBall $db(color) 1 10 141 110 61 drawtext -nr @DragonBall $db(color) verdana -7 13 142 color scheme drawline -nr @DragonBall $db(color) 1 10 156 120 156 drawrect -nrf @DragonBall $db(bgcolor2) 1 11 157 108 44 drawcopy -tn @dbz.tmp.txt $rgb(255,0,255) 32 133 16 16 @dragonball 21 103 drawcopy -tn @dbz.tmp.txt $rgb(255,0,255) 16 133 16 16 @dragonball 47 103 drawcopy -tn @dbz.tmp.txt $rgb(255,0,255) 0 133 16 16 @dragonball 92 103 if (!$db(score)) drawcopy -tn @dbz.tmp.txt $rgb(255,0,255) 22 149 22 22 @dragonball 18 100 else drawcopy -tn @dbz.tmp.txt $rgb(255,0,255) 0 149 22 22 @dragonball 44 100 drawrect -nr @DragonBall $db(color) 1 15 161 16 16 drawrect -nr @DragonBall $db(color) 1 36 161 16 16 drawrect -nr @DragonBall $db(color) 1 57 161 16 16 drawrect -nr @DragonBall $db(color) 1 78 161 16 16 drawrect -nr @DragonBall $db(color) 1 99 161 16 16 drawrect -nr @DragonBall $db(color) 1 15 181 16 16 drawrect -nr @DragonBall $db(color) 1 36 181 16 16 drawrect -nr @DragonBall $db(color) 1 57 181 16 16 drawrect -nr @DragonBall $db(color) 1 78 181 16 16 drawrect -nr @DragonBall $db(color) 1 99 181 16 16 drawrect -nrf @DragonBall $rgb(80,100,150) 1 16 162 14 14 drawrect -nrf @DragonBall $rgb(80,150,100) 1 37 162 14 14 drawrect -nrf @DragonBall $rgb(250,195,40) 1 58 162 14 14 drawrect -nrf @DragonBall $rgb(200,40,40) 1 79 162 14 14 drawrect -nrf @DragonBall $rgb(215,60,150) 1 100 162 14 14 drawrect -nrf @DragonBall $rgb(155,180,240) 1 16 182 14 14 drawrect -nrf @DragonBall $rgb(200,200,200) 1 37 182 14 14 drawrect -nrf @DragonBall $rgb(240,190,155) 1 58 182 14 14 drawrect -nrf @DragonBall $rgb(240,155,155) 1 79 182 14 14 drawrect -nrf @DragonBall $rgb(210,155,240) 1 100 182 14 14 drawrect -nr @DragonBall $db(color) 1 130 10 258 192 drawrect -nr @DragonBall $db(color) 1 398 10 110 45 drawrect -nr @DragonBall $db(color) 1 398 85 110 117 drawtext -nr @DragonBall $db(color) verdana -7 401 11 players drawtext -nr @DragonBall $db(color) verdana -7 401 86 spectators drawline -nr @DragonBall $db(color) 1 398 25 508 25 drawline -nr @DragonBall $db(color) 1 398 100 508 100 drawrect -nrf @DragonBall $db(bgcolor2) 1 399 26 108 28 drawrect -nrf @DragonBall $db(bgcolor2) 1 399 101 108 100 if (!$1) drawdot @dragonball } alias -l init.colors { if ($hget(dragonball.config,color) == 1) { db bgcolor $rgb(80,150,100) db bgcolor2 $rgb(100,170,120) db bgcolor3 $rgb(140,210,160) db color $rgb(0) db color2 $rgb(160,230,180) } elseif ($hget(dragonball.config,color) == 2) { db bgcolor $rgb(230,175,40) db bgcolor2 $rgb(250,195,40) db bgcolor3 $rgb(255,220,50) db color $rgb(0) db color2 $rgb(250,100,0) } elseif ($hget(dragonball.config,color) == 3) { db bgcolor $rgb(200,40,40) db bgcolor2 $rgb(220,70,70) db bgcolor3 $rgb(255,140,140) db color $rgb(0) db color2 $rgb(250,210,210) } elseif ($hget(dragonball.config,color) == 4) { db bgcolor $rgb(215,60,150) db bgcolor2 $rgb(245,80,180) db bgcolor3 $rgb(250,156,234) db color $rgb(0) db color2 $rgb(250,210,250) } elseif ($hget(dragonball.config,color) == 5) { db bgcolor $rgb(155,180,240) db bgcolor2 $rgb(190,205,245) db bgcolor3 $rgb(226,233,250) db color $rgb(0) db color2 $rgb(80,100,150) } elseif ($hget(dragonball.config,color) == 6) { db bgcolor $rgb(180,180,180) db bgcolor2 $rgb(200,200,200) db bgcolor3 $rgb(240,240,240) db color $rgb(0) db color2 $rgb(255,255,255) } elseif ($hget(dragonball.config,color) == 7) { db bgcolor $rgb(240,190,155) db bgcolor2 $rgb(245,215,190) db bgcolor3 $rgb(250,240,220) db color $rgb(0) db color2 $rgb(255,120,100) } elseif ($hget(dragonball.config,color) == 8) { db bgcolor $rgb(240,155,155) db bgcolor2 $rgb(245,190,190) db bgcolor3 $rgb(250,220,220) db color $rgb(0) db color2 $rgb(185,50,0) } elseif ($hget(dragonball.config,color) == 9) { db bgcolor $rgb(210,155,240) db bgcolor2 $rgb(226,190,240) db bgcolor3 $rgb(240,225,250) db color $rgb(0) db color2 $rgb(150,12,200) } else { db bgcolor $rgb(80,100,150) db bgcolor2 $rgb(100,120,170) db bgcolor3 $rgb(140,160,210) db color $rgb(0) db color2 $rgb(160,180,230) } } alias -l switch.color { if ($1 != -1) { x-gui Richedit @dragonball > Clear 1 hadd dragonball.config color $int($1) init.colors } draw.gui -n update.list -n if ($db(score)) draw.score elseif ($db(st) == 1) { drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 68 waiting drawfont 98 for drawfont 128 players drawdot @DragonBall } elseif ($db(st) == 2) { drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 38 next match: drawfont 98 $player(1).nick drawfont 128 VS drawfont 158 $player(2).nick drawdot @DragonBall } elseif ($db(st) == 3) { choose.fighter } elseif ($db(st) == connecting) { drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 93 connecting drawdot @DragonBall } } ;------=====----------========-----------======---- alias -l drawblacktext { drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $calc($1 -1) $calc($2 -1) $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $calc($1 +1) $calc($2 +1) $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $calc($1 -1) $calc($2 +1) $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $calc($1 +1) $calc($2 -1) $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $calc($1 +1) $2 $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $calc($1 -1) $2 $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $1 $calc($2 +1) $3- drawtext -r @dbz.tmp.topbar $rgb(255,255,255) Verdana -7 $1 $calc($2 -1) $3- drawtext -r @dbz.tmp.topbar 0 Verdana -7 $1- } alias -l start.match { window -fhpB +d @dbz.tmp.topbar 0 0 256 44 drawrect -rf @dbz.tmp.topbar $rgb(192,192,192) 1 0 0 256 50 hadd dragonball player1.nrj 200 hadd dragonball player2.nrj 200 drawrect -r @dbz.tmp.topbar 0 1 9 16 102 10 drawrect -r @dbz.tmp.topbar 0 1 145 16 102 10 player.nrj drawblacktext 9 27 $charname($hget(dragonball,player1.char)) drawblacktext $calc(245- $width($charname($hget(dragonball,player2.char)),verdana,-7)) 27 $charname($hget(dragonball,player2.char)) drawblacktext 9 1 $hget(dragonball,player1.nick) drawblacktext $calc(245- $width($hget(dragonball,player2.nick),verdana,-7)) 1 $hget(dragonball,player2.nick) hadd dragonball stage.x 120 ;max 242 hadd dragonball player1.x 60 hadd dragonball player1.y 122 hdel dragonball winner hadd dragonball player1.display 1 hadd dragonball player2.display 1 hadd dragonball dx 6 hadd dragonball base.dx 6 hadd dragonball base.yh 52 hadd dragonball base.yl 122 hadd dragonball base.dis 20 hadd dragonball final 0 hadd dragonball player2.x 140 hadd dragonball player2.y 122 hadd dragonball player1.side 0 hadd dragonball player2.side 1 hadd dragonball player1.up 0 hadd dragonball player1.anim 0 hadd dragonball player1.anim.counter 0 hadd dragonball player2.anim 0 hadd dragonball player2.anim.counter 0 create.sprites 1 $hget(dragonball,player1.char) create.sprites 2 $hget(dragonball,player2.char) if ($hget(dragonball,player1.char) == $hget(dragonball,player2.char)) second.color $hget(dragonball,player2.char) mirror.sprites 1 mirror.sprites 2 create.stage if ($db(server) == 1) { hadd dragonball.server ui 0 player.play.anim 1 21 } else { if ($hget(dragonball,choose_ok)) player.play.anim 1 22 else player.play.anim 1 0 } if ($hget(dragonball,choose_ok)) || ($db(server) == 1) player.play.anim 2 22 else player.play.anim 2 0 ;playmusic fight.mid hadd dragonball fps.tick $tick .timerdbz-main -ho 0 0 main.anim } alias -l close.dbz { .timerdbz-* off .sockclose dbz_* if ($db(server) == 1) { db list remove sockopen dbz_listing picwin.mircscripts.org 80 } .timerdbz-dll -mo 1 1 dll -u x-gui.dll dll -u game_tools.dll if ($hget(dragonball.config)) { hsave -o dragonball.config $+(",$scriptdirconfig.cfg,") hfree dragonball.config } splay -m stop window -c @DragonBall window -c @dbz.tmp.buffer window -c @dbz.tmp.fx window -c @dbz.tmp.char window -c @dbz.tmp.font window -c @dbz.tmp.final window -c @dbz.tmp.special window -c @dbz.tmp.special.mirror window -c @dbz.tmp.txt window -c @dbz.tmp.intro window -c @dbz.tmp.topbar window -c @dbz.tmp.player1.sprites window -c @dbz.tmp.player2.sprites window -c @dbz.tmp.player1.sprites.mirror window -c @dbz.tmp.player2.sprites.mirror window -c @dbz.tmp.stage if ($hget(dragonball)) hfree dragonball if ($hget(dragonball.server)) hfree dragonball.server if ($hget(dragonball.users)) hfree dragonball.users } alias -l create.stage { var %window = @dbz.tmp.stage window -fhpB +d %window 0 0 498 190 var %stage = 1 if ($hget(dragonball,stage) isnum 1-3) %stage = $hget(dragonball,stage) drawpic %window 0 0 $+(",$scriptdir/bkgnd/stage,%stage,.png,") } alias -l create.sprites { if ($1 == 1) var %window = @dbz.tmp.player1.sprites else var %window = @dbz.tmp.player2.sprites var %file if ($2 == 1) %file = vegeta elseif ($2 == 2) %file = vegetto elseif ($2 == 3) %file = trunks elseif ($2 == 4) %file = freeza elseif ($2 == 5) %file = buu elseif ($2 == 6) %file = A18 elseif ($2 == 7) %file = gohan elseif ($2 == 8) %file = goku-ssj3 elseif ($2 == 9) %file = piccolo else %file = goku window -fhpB +d %window 0 0 204 203 drawpic %window 0 0 $+(",$scriptdir/sprites/,%file,.png") } alias -l second.color { var %rgb1, %rgb2, %rgb3, %rgb4 if (!$1) { %rgb1 = $rgb(248,152,0) %rgb2 = $rgb(255,64,0) %rgb3 = $rgb(255,198,0) %rgb4 = $rgb(255,145,145) } elseif ($1 == 1) { %rgb1 = $rgb(56,64,208) %rgb2 = $rgb(208,64,56) %rgb3 = $rgb(88,94,216) %rgb4 = $rgb(216,94,88) } elseif ($1 == 2) { %rgb1 = $rgb(0,80,200) %rgb2 = $rgb(200,80,0) %rgb3 = $rgb(102,153,204) %rgb4 = $rgb(204,153,102) } elseif ($1 == 3) { %rgb1 = $rgb(102,102,102) %rgb2 = $rgb(42,54,207) } elseif ($1 == 4) { %rgb1 = $rgb(204,0,255) %rgb2 = $rgb(104,104,255) %rgb3 = $rgb(235,154,255) %rgb4 = $rgb(155,155,255) } elseif ($1 == 5) { %rgb1 = $rgb(255,184,217) %rgb2 = $rgb(180,180,180) } elseif ($1 == 6) { %rgb1 = $rgb(0,153,204) %rgb2 = $rgb(204,53,0) %rgb3 = $rgb(104,198,229) %rgb4 = $rgb(244,63,0) } elseif ($1 == 7) { %rgb1 = $rgb(187,85,255) %rgb2 = $rgb(85,85,255) %rgb3 = $rgb(235,154,255) %rgb4 = $rgb(125,125,255) } elseif ($1 == 8) { %rgb1 = $rgb(248,152,0) %rgb2 = $rgb(255,64,0) %rgb3 = $rgb(255,198,0) %rgb4 = $rgb(255,145,145) } elseif ($1 == 9) { %rgb1 = $rgb(153,0,255) %rgb2 = $rgb(0,153,255) %rgb3 = $rgb(187,85,255) %rgb4 = $rgb(85,187,255) } if (%rgb1) drawreplace -r @dbz.tmp.player2.sprites %rgb1 %rgb2 if (%rgb3) drawreplace -r @dbz.tmp.player2.sprites %rgb3 %rgb4 } alias -l mirror.sprites { if ($1 == 1) var %window = @dbz.tmp.player1.sprites else var %window = @dbz.tmp.player2.sprites var %target.window = %window $+ .mirror window -fhpB +d %target.window 214 0 204 203 drawrect -rf %target.window $rgb(255,255,255) 1 0 0 204 203 var %x = 0, %i = 0 while (%x <= 4) { %i = 0 while (%i <= 40) { drawcopy %window $calc(%i + %x * 41) 0 1 203 %target.window $calc((%x +1) * 41 - %i -2) 0 inc %i } inc %x } } alias -l charname { if ($1 == 1) return Vegeta elseif ($1 == 2) return Vegetto elseif ($1 == 3) return Trunks elseif ($1 == 4) return Freeza elseif ($1 == 5) return Buu elseif ($1 == 6) return Android 18 elseif ($1 == 7) return Gohan elseif ($1 == 8) return Goku SSJ3 elseif ($1 == 9) return Piccolo else return Son Goku } /* ============================================================= ====== ANIMATIONS =========================================== ============================================================= */ alias -l player.move.left { var %p = $1 var %p2 = $iif(%p == 1,2,1) if ($player(%p).x > 0) { var %dx = $2 if ($calc($player(%p).x - %dx) < 0) %dx = $player(%p).x hdec dragonball player $+ [ %p ] $+ . $+ x %dx } elseif ($hget(dragonball,stage.x) >= 0) && ($player(%p2).x <= 216) { var %dx = $2 if ($calc($hget(dragonball,stage.x) - %dx) < 0) %dx = $hget(dragonball,stage.x) if ($calc($player(%p2).x + %dx) > 216) %dx = $calc(216 - $player(%p2).x) hdec dragonball stage.x %dx hinc dragonball player $+ [ %p2 ] $+ . $+ x %dx } if ($player(%p).side == 1 && $inrect($player(%p).x,$calc($player(%p).y + 16),$player(%p2).x,$calc($player(%p2).y +10),20,40) || $inrect($player(%p).x,$calc($player(%p).y + 40),$player(%p2).x,$calc($player(%p2).y +10),20,40)) { player %p x $calc($player(%p2).x + 40 - $hget(dragonball,base.dis))) } } alias -l player.move.right { var %p = $1 var %p2 = $iif(%p == 1,2,1) if ($player(%p).x < 216) { var %dx = $2 if ($calc($player(%p).x + %dx) > 216) %dx = $calc(216 - $player(%p).x) hinc dragonball player $+ [ %p ] $+ . $+ x %dx } elseif ($hget(dragonball,stage.x) <= 242) && ($player(%p2).x >= 0) { var %dx = $2 if ($calc($hget(dragonball,stage.x) + %dx) > 242) %dx = $calc(242 - $hget(dragonball,stage.x)) if ($calc($player(%p2).x - %dx) < 0) %dx = $player(%p2).x hinc dragonball stage.x %dx hdec dragonball player $+ [ %p2 ] $+ . $+ x %dx } if ($player(%p).side == 0 && $inrect($calc($player(%p).x + 40),$calc($player(%p).y +16),$calc($player(%p2).x + $hget(dragonball,base.dis)),$calc($player(%p2).y + 10),30,40) || $inrect($calc($player(%p).x + 40),$calc($player(%p).y +40),$calc($player(%p2).x + $hget(dragonball,base.dis)),$calc($player(%p2).y + 10),30,40)) { player %p x $calc($player(%p2).x - $hget(dragonball,base.dis))) } } alias -l player.jump { var %p = $1 var %p2 = $iif(%p == 1,2,1) var %dx = $calc($2 *2) if ($player(%p).up == 1) { hinc dragonball player $+ [ %p ] $+ . $+ y $calc($hget(dragonball,dx) * 2) if ($player(%p).y >= $hget(dragonball,base.yl)) { player.stop %p } } else { if ($calc($player(%p).y - %dx) <= $hget(dragonball,base.yh)) { %dx = $calc($player(%p).y - $hget(dragonball,base.yh)) player %p up 1 } hdec dragonball player $+ [ %p ] $+ . $+ y %dx } } alias -l player.stop { if ($db(server) == 1) { if ($player($1).anim == 12) .timerdbz-end -o 1 3 end.match else broadcast_udp s $1 $player($1).x $player($iif($1 == 1,2,1)).x $hget(dragonball,stage.x) } var %p = $1 var %p2 = $iif(%p == 1,2,1) player %p anim-counter 0 player %p anim 0 player %p up 0 player %p hurt 0 player %p y $hget(dragonball,base.yl) if ($player(%p2).y == $hget(dragonball,base.yl)) { if ($player(%p).side == 0) && ($player(%p).x > $player(%p2).x) { player %p side 1 player %p2 side 0 } elseif ($player(%p).side == 1) && ($player(%p).x < $player(%p2).x) { player %p side 0 player %p2 side 1 } } if ($hget(dragonball,winner)) && ($hget(dragonball,final) != 1) && ($player(1).y == $hget(dragonball,base.yl)) && ($player(2).y == $hget(dragonball,base.yl)) { if ($player(2).nick == $hget(dragonball,winner)) player.play.anim 2 12 else player.play.anim 1 12 } } alias -l player { if ($isid) return $hget(dragonball, [ player $+ [ $1 ] $+ . $+ [ $prop ] ] ) else hadd dragonball player $+ [ $1 ] $+ . $+ [ $2 ] $3- } alias -l parse.anim { var %p = $1 var %p2 = $iif(%p == 1,2,1) if ($player(%p).anim == 1) { ;anim: moving forward player %p sprite 02 if ($player(%p).side == 0) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } ;===== elseif ($player(%p).anim == 2) { ;anim: moving backward player %p sprite 03 if ($player(%p).side == 0) { player.move.left %p $hget(dragonball,dx) } else { player.move.right %p $hget(dragonball,dx) } } ;===== elseif ($player(%p).anim == 3) { ;anim: punch player %p sprite 10 if ($player(%p).anim-counter == 1) player %p hurt 0 if ($calc($tick - $player(%p).anim-tick) >= 400) { player.stop %p } } elseif ($player(%p).anim == 4) { ;anim: kick player %p sprite 11 if ($player(%p).anim-counter == 1) player %p hurt 0 if ($calc($tick - $player(%p).anim-tick) >= 500) { player.stop %p } } elseif ($player(%p).anim == 5) { ;anim: highkick player %p sprite 12 if ($player(%p).anim-counter == 1) player %p hurt 0 if ($calc($tick - $player(%p).anim-tick) >= 600) { player.stop %p } } elseif ($player(%p).anim == 6) { ;anim: jump player %p sprite 04 player.jump %p $hget(dragonball,dx) } ;===== elseif ($player(%p).anim == 7) { ;anim: jump forward player %p sprite 04 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 0) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } ;===== elseif ($player(%p).anim == 8) { ;anim: jump backward player %p sprite 04 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 1) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } elseif ($player(%p).anim == 9) { ;anim: smallhurt player %p sprite 20 if ($player(%p).side == 0) { player.move.left %p $hget(dragonball,dx) } else { player.move.right %p $hget(dragonball,dx) } if ($calc($tick - $player(%p).anim-tick) >= 200) { player.stop %p } } elseif ($player(%p).anim == 10) { ;anim: big hurt player %p sprite 21 if ($player(%p).side == 0) { player.move.left %p $hget(dragonball,dx) } else { player.move.right %p $hget(dragonball,dx) } if ($calc($tick - $player(%p).anim-tick) >= 260) { player.stop %p } } elseif ($player(%p).anim == 11) { ;anim: blocking player %p sprite 24 } elseif ($player(%p).anim == 12) { ;anim: final attack player %p sprite 30 player %p2 anim 23 player %p2 sprite 23 if ($calc($tick - $player(%p).anim-tick) >= 4500) { player %p sprite 31 if ($player(%p).char == 0) || ($player(%p).char == 2) || ($player(%p).char == 7) || ($player(%p).char == 8) { if ($player(%p).side == 0) { if ($hget(dragonball,final) == 0) { drawcopy @dbz.tmp.special 0 65 65 63 @dbz.tmp.final 0 0 var %i = 65 while (%i <= 400) { drawcopy @dbz.tmp.special 66 65 22 63 @dbz.tmp.final %i 0 inc %i 22 } drawcopy @dbz.tmp.special 90 65 74 63 @dbz.tmp.final $calc($window(@dbz.tmp.final).w - 74) 0 db final.x $calc($player(%p).x + 150) db final 1 player %p2 display 0 player %p2 sprite 23 } drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(%p2).x 168 drawcopy -t $iif($player(%p2).side == 0,@dbz.tmp.player $+ %p2 $+ .sprites,@dbz.tmp.player $+ %p2 $+ .sprites.mirror) $rgb(192,192,192) $calc($mid($player(%p2).sprite,2,1) *41) $calc($mid($player(%p2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(%p2).x $player(%p2).y drawcopy -t @dbz.tmp.final $rgb(192,192,192) 0 0 65 63 @dbz.tmp.buffer $calc($player(%p).x + 40) 118 drawcopy -t @dbz.tmp.final $rgb(192,192,192) 65 0 $calc($hget(dragonball,final.x) - $player(%p).x -140) 63 @dbz.tmp.buffer $calc($player(%p).x + 104) 118 drawcopy -t @dbz.tmp.final $rgb(192,192,192) $calc($window(@dbz.tmp.final).w - 74) 0 74 63 @dbz.tmp.buffer $calc($hget(dragonball,final.x) - 74) 118 hinc dragonball final.x $calc($hget(dragonball,dx) * 2) if ($hget(dragonball,final.x) >= 510) { player.stop %p } } else { if ($hget(dragonball,final) == 0) { drawcopy @dbz.tmp.special.mirror 0 65 74 63 @dbz.tmp.final 0 0 var %i = 74 while (%i <= 450) { drawcopy @dbz.tmp.special 66 65 22 63 @dbz.tmp.final %i 0 inc %i 22 } drawcopy @dbz.tmp.special.mirror $calc($window(@dbz.tmp.special.mirror).w - 65) 65 65 63 @dbz.tmp.final $calc($window(@dbz.tmp.final).w - 65) 0 db final.x $calc($player(%p).x - 37) db final 1 player %p2 display 0 } drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(%p2).x 168 drawcopy -t $iif($player(%p2).side == 0,@dbz.tmp.player $+ %p2 $+ .sprites,@dbz.tmp.player $+ %p2 $+ .sprites.mirror) $rgb(192,192,192) $calc($mid($player(%p2).sprite,2,1) *41) $calc($mid($player(%p2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(%p2).x $player(%p2).y drawcopy -t @dbz.tmp.final $rgb(192,192,192) $calc($window(@dbz.tmp.final).w - 65) 0 65 63 @dbz.tmp.buffer $calc($player(%p).x - 65) 118 var %kame.width = $calc($player(%p).x - 37 - $hget(dragonball,final.x)) drawcopy -t @dbz.tmp.final $rgb(192,192,192) 74 0 %kame.width 63 @dbz.tmp.buffer $calc($player(%p).x - %kame.width -65) 118 drawcopy -t @dbz.tmp.final $rgb(192,192,192) 0 0 74 63 @dbz.tmp.buffer $calc($hget(dragonball,final.x) - 74) 118 hdec dragonball final.x $calc($hget(dragonball,dx) * 2) if ($hget(dragonball,final.x) <= -200) { player.stop %p } } } elseif ($player(%p).char == 1 || $player(%p).char == 5) || ($player(%p).char == 3) || ($player(%p).char == 9) { if ($hget(dragonball,final) == -1) hadd dragonball final 0 if ($player(%p).char == 5) var %tmp_y = 129 else var %tmp_y = 0 if ($player(%p).side == 0) { if ($hget(dragonball,final) == 0) { drawcopy @dbz.tmp.special 0 %tmp_y 59 64 @dbz.tmp.final 0 0 var %i = 59 while (%i <= 400) { drawcopy @dbz.tmp.special 60 %tmp_y 26 64 @dbz.tmp.final %i 0 inc %i 22 } drawcopy @dbz.tmp.special 87 %tmp_y 77 64 @dbz.tmp.final $calc($window(@dbz.tmp.final).w - 77) 0 db final.x $calc($player(%p).x + 150) db final 1 player %p2 display 0 player %p2 sprite 23 } drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(%p2).x 168 drawcopy -t $iif($player(%p2).side == 0,@dbz.tmp.player $+ %p2 $+ .sprites,@dbz.tmp.player $+ %p2 $+ .sprites.mirror) $rgb(192,192,192) $calc($mid($player(%p2).sprite,2,1) *41) $calc($mid($player(%p2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(%p2).x $player(%p2).y drawcopy -t @dbz.tmp.final $rgb(192,192,192) 0 0 59 64 @dbz.tmp.buffer $calc($player(%p).x + 36) 115 drawcopy -t @dbz.tmp.final $rgb(192,192,192) 59 0 $calc($hget(dragonball,final.x) - $player(%p).x -100) 64 @dbz.tmp.buffer $calc($player(%p).x + 95) 115 drawcopy -t @dbz.tmp.final $rgb(192,192,192) $calc($window(@dbz.tmp.final).w - 77) 0 77 64 @dbz.tmp.buffer $calc($hget(dragonball,final.x) - 74) 115 hinc dragonball final.x $calc($hget(dragonball,dx) * 2) if ($hget(dragonball,final.x) >= 440) { player.stop %p } } else { if ($hget(dragonball,final) == 0) { drawcopy @dbz.tmp.special.mirror 0 %tmp_y 77 64 @dbz.tmp.final 0 0 var %i = 77 while (%i <= 450) { drawcopy @dbz.tmp.special 64 %tmp_y 26 64 @dbz.tmp.final %i 0 inc %i 22 } drawcopy @dbz.tmp.special.mirror $calc($window(@dbz.tmp.special.mirror).w - 59) %tmp_y 59 64 @dbz.tmp.final $calc($window(@dbz.tmp.final).w - 59) 0 db final.x $calc($player(%p).x - 37) db final 1 player %p2 display 0 } drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(%p2).x 168 drawcopy -t $iif($player(%p2).side == 0,@dbz.tmp.player $+ %p2 $+ .sprites,@dbz.tmp.player $+ %p2 $+ .sprites.mirror) $rgb(192,192,192) $calc($mid($player(%p2).sprite,2,1) *41) $calc($mid($player(%p2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(%p2).x $player(%p2).y drawcopy -t @dbz.tmp.final $rgb(192,192,192) $calc($window(@dbz.tmp.final).w - 59) 0 59 64 @dbz.tmp.buffer $calc($player(%p).x - 56) 115 var %kame.width = $calc($player(%p).x - 20 - $hget(dragonball,final.x)) ;echo k %kame.width drawcopy -t @dbz.tmp.final $rgb(192,192,192) 77 0 %kame.width 64 @dbz.tmp.buffer $calc($player(%p).x - %kame.width -56) 115 drawcopy -t @dbz.tmp.final $rgb(192,192,192) 0 0 77 64 @dbz.tmp.buffer $calc($hget(dragonball,final.x) - 77) 115 hdec dragonball final.x $calc($hget(dragonball,dx) * 2) if ($hget(dragonball,final.x) <= -130) { player.stop %p } } } elseif ($player(%p).char == 6 || $player(%p).char == 4) { if ($player(%p).char == 4) drawcopy @dbz.tmp.special 74 194 39 12 @dbz.tmp.final 0 0 else drawcopy @dbz.tmp.special 34 194 39 12 @dbz.tmp.final 0 0 if ($hget(dragonball,final) == -1) hadd dragonball final 0 if ($player(%p).side == 0) { if ($hget(dragonball,final) == 0) { db final.x $calc($player(%p).x + 40) db final 1 player %p2 display 0 player %p2 sprite 01 } drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(%p2).x 168 drawcopy -t $iif($player(%p2).side == 0,@dbz.tmp.player $+ %p2 $+ .sprites,@dbz.tmp.player $+ %p2 $+ .sprites.mirror) $rgb(192,192,192) $calc($mid($player(%p2).sprite,2,1) *41) $calc($mid($player(%p2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(%p2).x $player(%p2).y drawcopy -t @dbz.tmp.final $rgb(192,192,192) 0 0 39 12 @dbz.tmp.buffer $hget(dragonball,final.x) 139 hinc dragonball final.x $calc($hget(dragonball,dx) * 2) if ($hget(dragonball,final.x) >= 440) { player.stop %p } } else { if ($hget(dragonball,final) == 0) { db final.x $calc($player(%p).x - 39) db final 1 player %p2 display 0 } drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(%p2).x 168 drawcopy -t $iif($player(%p2).side == 0,@dbz.tmp.player $+ %p2 $+ .sprites,@dbz.tmp.player $+ %p2 $+ .sprites.mirror) $rgb(192,192,192) $calc($mid($player(%p2).sprite,2,1) *41) $calc($mid($player(%p2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(%p2).x $player(%p2).y drawcopy -t @dbz.tmp.final $rgb(192,192,192) 0 0 39 12 @dbz.tmp.buffer $hget(dragonball,final.x) 139 hdec dragonball final.x $calc($hget(dragonball,dx) * 2) if ($hget(dragonball,final.x) <= -130) { player.stop %p } } } } elseif ($player(%p).x >= 20) && ($player(%p).side == 0) { player %p sprite 03 player.move.left %p $hget(dragonball,dx) } elseif ($player(%p).x <= 196) && ($player(%p).side == 1) { player %p sprite 03 player.move.right %p $hget(dragonball,dx) } else { if ($hget(dragonball,final) == -1) { if ($player(%p).char == 0) || ($player(%p).char == 2) || ($player(%p).char == 7) || ($player(%p).char == 8) playsound final2.wav elseif ($player(%p).char == 5) playsound final1.wav elseif ($player(%p).char == 3) playsound final3.wav elseif ($player(%p).char == 1) playsound final4.wav elseif ($player(%p).char == 9) playsound final5.wav hadd dragonball final 0 } elseif ($player(%p).char == 6) { if ($player(%p).side == 0) drawcopy -t @dbz.tmp.special $rgb(192,192,192) 34 194 39 12 @dbz.tmp.buffer $calc($player(%p).x - 9) $calc($player(%p).y - 8) else drawcopy -t @dbz.tmp.special $rgb(192,192,192) 34 194 39 12 @dbz.tmp.buffer $calc($player(%p).x + 9) $calc($player(%p).y - 8) } elseif ($player(%p).char == 4) { if ($player(%p).side == 0) drawcopy -t @dbz.tmp.special $rgb(192,192,192) 74 194 39 12 @dbz.tmp.buffer $calc($player(%p).x - 11) $calc($player(%p).y - 8) else drawcopy -t @dbz.tmp.special $rgb(192,192,192) 74 194 39 12 @dbz.tmp.buffer $calc($player(%p).x + 11) $calc($player(%p).y - 8) } } } elseif ($player(%p).anim == 13) { ;anim: ki blast player %p sprite 33 if ($player(%p).side == 0) { if ($player(%p).char == 4) || ($player(%p).char == 5) var %tmp_x = 17 else var %tmp_x 0 if ($player(%p).anim-counter == 0) player %p ki $calc($player(%p).x +30) if ($inrect($calc($player(%p).ki + 8),150,$player(%p2).x,$player(%p2).y,40,50)) { if ($hget(dragonball,server) == 1) player.hurt %p2 10 player %p ki 1000 } hinc dragonball player $+ [ %p ] $+ . $+ ki $calc($hget(dragonball,dx) *2) drawcopy -t @dbz.tmp.special $rgb(192,192,192) %tmp_x 194 16 12 @dbz.tmp.buffer $player(%p).ki 144 } else { if ($player(%p).char == 4) || ($player(%p).char == 5) var %tmp_x = 131 else var %tmp_x 148 if ($player(%p).anim-counter == 0) player %p ki $calc($player(%p).x -2) if ($inrect($calc($player(%p).ki + 8),150,$player(%p2).x,$player(%p2).y,40,50)) { if ($hget(dragonball,server) == 1) player.hurt %p2 10 player %p ki 1000 } hdec dragonball player $+ [ %p ] $+ . $+ ki $calc($hget(dragonball,dx) *2) drawcopy -t @dbz.tmp.special.mirror $rgb(192,192,192) %tmp_x 194 16 12 @dbz.tmp.buffer $player(%p).ki 144 } if ($calc($tick - $player(%p).anim-tick) >= 1300) player.stop %p } elseif ($player(%p).anim == 14) { ;anim: jump + kick player %p sprite 13 player.jump %p $hget(dragonball,dx) } ;===== elseif ($player(%p).anim == 15) { ;anim: jump forward + kick player %p sprite 13 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 0) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } ;===== elseif ($player(%p).anim == 16) { ;anim: jump backward + kick player %p sprite 13 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 1) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } ;==== elseif ($player(%p).anim == 17) { ;anim: jump + punch player %p sprite 14 player.jump %p $hget(dragonball,dx) } ;===== elseif ($player(%p).anim == 18) { ;anim: jump forward + punch player %p sprite 14 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 0) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } ;===== elseif ($player(%p).anim == 19) { ;anim: jump backward + punch player %p sprite 14 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 1) { player.move.right %p $hget(dragonball,dx) } else { player.move.left %p $hget(dragonball,dx) } } ;===== elseif ($player(%p).anim == 20) { ;anim: jump backward + hurt player %p sprite 22 player.jump %p $hget(dragonball,dx) if ($player(%p).side == 1) { player.move.right %p $hget(dragonball,dx) * 1 } else { player.move.left %p $hget(dragonball,dx) * 1 } } ;===== elseif ($player(%p).anim == 21) { ;anim: power up if ($calc($tick - $player(%p).anim-tick) >= 6000) { player %p sprite 01 player.stop %p if (%p == 2) && ($db(server)) hadd dragonball.server ui 1 } elseif ($calc($tick - $player(%p).anim-tick) >= 5000) { player %p sprite 01 if (%p != 1) drawpic -t @dbz.tmp.buffer $rgb(0) 56 50 0 66 151 32 $dbzdir(sprites/text.png) } elseif ($calc($tick - $player(%p).anim-tick) >= 4000) { player %p sprite 01 if (%p == 1) player.play.anim 2 21 } elseif ($calc($tick - $player(%p).anim-tick) >= 2000) { if ($player(%p).sprite != 32) playsound powerup.wav player %p sprite 32 var %tmp_y = 65 if ($player(%p).char == 6) || ($player(%p).char == 9) %tmp_y = 0 elseif ($player(%p).char == 4) || ($player(%p).char == 5) %tmp_y = 130 if ($calc($tick - $player(%p).nticks) < 100) { drawcopy -t @dbz.tmp.fx 0 %tmp_y 0 64 56 @dbz.tmp.buffer $calc($player(%p).x -12) $calc($player(%p).y - 8) } else { drawcopy -t @dbz.tmp.fx 0 %tmp_y 57 64 56 @dbz.tmp.buffer $calc($player(%p).x -12) $calc($player(%p).y - 8) if ($calc($tick - $player(%p).nticks) >= 200) player %p nticks $tick } } elseif ($calc($tick - $player(%p).anim-tick) >= 1000) { player %p sprite 34 } else player %p sprite 00 } elseif ($player(%p).anim == 22) { player %p sprite 00 } elseif ($player(%p).anim == 23) { player %p sprite 23 } ;===== else { player %p sprite 01 } } alias -l main.anim { var %ticks = $tick if ($hget(dragonball,server) == 1) { parse.keys } drawrect -rf @dbz.tmp.buffer $rgb(255,0,255) 1 0 0 256 190 parse.anim 1 parse.anim 2 drawcopy -t @dbz.tmp.topbar $rgb(192,192,192) 0 0 256 44 @dbz.tmp.buffer 0 0 if ($hget(dragonball.config,fps)) drawtext -nr @dbz.tmp.buffer 0 verdana -7 4 176 fps: $hget(dragonball,fps) if ($calc($tick - $hget(dragonball,fps.ticks)) >= 1000) { hadd dragonball fps $hget(dragonball,fps.counter) hadd dragonball fps.counter 0 hadd dragonball fps.ticks $tick } if ($player(2).display) drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(2).x 168 if ($player(1).display) drawcopy -t @dbz.tmp.special $rgb(192,192,192) 114 194 40 5 @dbz.tmp.buffer $player(1).x 168 if ($player(2).display) drawcopy -t $iif($player(2).side == 0,@dbz.tmp.player2.sprites,@dbz.tmp.player2.sprites.mirror) $rgb(192,192,192) $calc($mid($player(2).sprite,2,1) *41) $calc($mid($player(2).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(2).x $player(2).y if ($player(1).display) drawcopy -t $iif($player(1).side == 0,@dbz.tmp.player1.sprites,@dbz.tmp.player1.sprites.mirror) $rgb(192,192,192) $calc($mid($player(1).sprite,2,1) *41) $calc($mid($player(1).sprite,1,1) *51) 40 50 @dbz.tmp.buffer $player(1).x $player(1).y ; ----------------> end <------------------- if (!$timer(dbz-main)) return elseif (!$sock(dbz_connect)) { timerdbz-main off return } drawcopy -n @dbz.tmp.stage $hget(dragonball,stage.x) 0 256 190 @DragonBall 131 11 drawcopy -tn @dbz.tmp.buffer $rgb(255,0,255) 0 0 256 190 @DragonBall 131 11 if ($hget(dragonball,winner)) && ($hget(dragonball,final) == 1) && ($player(1).anim != 12) && ($player(2).anim != 12) { drawfont 60 $hget(dragonball,winner) drawfont 90 WINS } if ($hget(dragonball,score)) { draw.score } drawdot @DragonBall ; -----------------------------------> if ($hget(dragonball,player1.anim) > 0) hinc dragonball player1.anim-counter if ($hget(dragonball,player2.anim) > 0) hinc dragonball player2.anim-counter if ($hget(dragonball,server) == 1) { if ($r(1,2000) > 1000) { parse.hit 1 parse.hit 2 } else { parse.hit 2 parse.hit 1 } } hinc dragonball fps.counter var %loop_time = $calc($tick - $hget(dragonball,ticks)) var %dx = $round($calc(120/1000 * %loop_time),2) + $hget(dragonball,rest) hadd dragonball dx $calc(0 + $int(%dx)) hadd dragonball rest $calc(%dx - $int(%dx)) hadd dragonball ticks $tick } ;=============== alias -l draw.score { drawrect -nfr @dragonball $db(bgcolor2) 1 131 11 256 190 drawfont 18 ranking drawtext -nr @dragonball $db(color) verdana -7 140 42 Rank drawtext -nr @dragonball $db(color) verdana -7 214 42 Nick drawtext -nr @dragonball $db(color) verdana -7 300 42 Win drawtext -nr @dragonball $db(color) verdana -7 341 42 Lost drawline -nr @dragonball $db(color) 1 140 57 376 57 drawline -nr @dragonball $db(color) 1 168 57 168 192 drawline -nr @dragonball $db(color) 1 286 57 286 192 drawline -nr @dragonball $db(color) 1 332 57 332 192 var %i = 1, %color = $db(color), %y while (%i <= 8) { if ($dbzuser(%i).rank isnum 1-8) { if ($dbzuser(%i).nick == $db(me)) %color = $db(color2) else %color = $db(color) %y = $calc(50 + $dbzuser(%i).rank * 16) drawtext -nr @dragonball %color verdana -7 148 %y $dbzuser(%i).rank drawtext -cnr @dragonball %color verdana -7 180 %y 100 14 $dbzuser(%i).nick drawtext -nr @dragonball %color verdana -7 $calc(309 - $width($dbzuser(%i).win,verdana,-7) /2) %y $dbzuser(%i).win drawtext -nr @dragonball %color verdana -7 $calc(353 - $width($dbzuser(%i).lost,verdana,-7) /2) %y $dbzuser(%i).lost } inc %i } } alias -l parse.hit { var %ticks-save = $tick var %p = $1 var %p2 = $iif(%p == 1,2,1) if ($player(%p).hurt == 1) { if ($player(%p).anim == 3) || ($player(%p).anim == 4) { if ($player(%p).side == 0 && $inrect($calc($player(%p).x + 40),$calc($player(%p).y + 30),$calc($player(%p2).x + 14),$calc($player(%p2).y +10),26,40)) { player.hurt %p2 11 } elseif ($player(%p).side == 1 && $inrect($player(%p).x,$calc($player(%p).y + 30),$player(%p2).x,$calc($player(%p2).y +10),26,40)) { player.hurt %p2 11 } } elseif ($player(%p).anim == 5) { if ($player(%p).side == 0 && $inrect($calc($player(%p).x + 40),$calc($player(%p).y + 20),$calc($player(%p2).x + 14),$calc($player(%p2).y +10),26,40)) { player.hurt %p2 20 } elseif ($player(%p).side == 1 && $inrect($player(%p).x,$calc($player(%p).y + 20),$player(%p2).x,$calc($player(%p2).y +10),26,40)) { player.hurt %p2 20 } } elseif ($player(%p).anim == 14) || ($player(%p).anim == 15) || ($player(%p).anim == 16) { if ($player(%p).side == 0 && $inrect($calc($player(%p).x + 40),$calc($player(%p).y + 30),$calc($player(%p2).x + 14),$calc($player(%p2).y +10),26,40)) { player.hurt %p2 12 } elseif ($player(%p).side == 1 && $inrect($player(%p).x,$calc($player(%p).y + 30),$player(%p2).x,$calc($player(%p2).y +10),26,40)) { player.hurt %p2 12 } } elseif ($player(%p).anim == 17) || ($player(%p).anim == 18) || ($player(%p).anim == 19) { if ($player(%p).side == 0 && $inrect($calc($player(%p).x + 36),$calc($player(%p).y + 40),$calc($player(%p2).x + 14),$calc($player(%p2).y +10),26,40)) { player.hurt %p2 16 } elseif ($player(%p).side == 1 && $inrect($calc($player(%p).x + 4),$calc($player(%p).y + 40),$player(%p2).x,$calc($player(%p2).y +10),26,40)) { player.hurt %p2 16 } } } } alias -l player.hurt { var %nrj = $2 if ($player($1).anim == 11) { %nrj = 4 } else { if ($player($1).y != $hget(dragonball,base.yl)) { player.play.anim $1 20 } elseif ($2 >= 12) { player.play.anim $1 10 } else { player.play.anim $1 9 } } player $iif($1 == 1,2,1) hurt 0 hdec dragonball player $+ [ $1 ] $+ . $+ nrj %nrj if ($player($1).nrj < 0) player $1 nrj 0 broadcast_udp e $1 $player($1).nrj player.nrj if ($player($1).nrj == 0) { hadd dragonball.server ui 0 hadd dragonball.server winner $iif($1 == 1,2,1) broadcast END_FIGHT $iif($1 == 1,2,1) } } alias -l player.nrj { if ($player(1).nrj > 100) { drawrect -nrf @dbz.tmp.topbar $rgb(250,250,0) 1 10 17 100 8 drawrect -nrf @dbz.tmp.topbar $rgb(100,200,0) 1 10 17 $calc($player(1).nrj - 100) 8 } else { drawrect -nrf @dbz.tmp.topbar $rgb(250,80,0) 1 10 17 100 8 drawrect -nrf @dbz.tmp.topbar $rgb(250,250,0) 1 10 17 $player(1).nrj 8 } if ($player(2).nrj > 100) { drawrect -nrf @dbz.tmp.topbar $rgb(100,200,0) 1 146 17 100 8 drawrect -nrf @dbz.tmp.topbar $rgb(250,250,0) 1 146 17 $calc(200 - $player(2).nrj) 8 } else { drawrect -nrf @dbz.tmp.topbar $rgb(250,250,0) 1 146 17 100 8 drawrect -nrf @dbz.tmp.topbar $rgb(250,80,0) 1 146 17 $calc(100 - $player(2).nrj) 8 } drawdot @dbz.tmp.topbar } alias -l player.play.anim { if ($db(server) == 1) && ($2 != 12) { var %rep = 0 if (($2 == 1) || ($2 == 2) || ($2 == 11)) && ($hget(dragonball.server,p.anim $+ $1) == $2) %rep = 1 if (%rep == 0) { broadcast_udp p $1 $2 hadd dragonball.server p.anim $+ $1 $2 } } var %p = $1 if ($2 == 3) playsound punch.wav elseif ($2 == 9) || ($2 == 10) || ($2 == 20) playsound hit1.wav elseif ($2 == 4) playsound kick.wav elseif ($2 == 5) playsound hkick.wav elseif ($2 == 12) { db final -1 db final.x 0 } if ($2 == 20) player %p sy $player(%p).y elseif ($2 >= 13 && $2 <= 19) { if ($player(%p).char == 6) playsound jump1.wav elseif ($player(%p).char == 5) playsound jump5.wav elseif ($player(%p).char == 4) playsound jump4.wav elseif ($player(%p).char == 1) || ($player(%p).char == 9) playsound jump2.wav elseif ($player(%p).char == 7) playsound jump3.wav else playsound jump6.wav } if ($2 == 21) player %p nticks $tick player %p hurt 1 player %p up 0 player %p anim-counter 0 player %p anim-tick $tick player %p anim $2 } alias -l db { if ($isid) return $hget(dragonball,$1-) else hadd dragonball $1- } /* ============================================================= ====== SERVER =============================================== ============================================================= */ alias -l dbzer { if ($isid) return $hget(dragonball.server, [ user $+ [ $1 ] $+ . $+ [ $prop ] ] ) else hadd dragonball.server user $+ [ $1 ] $+ . $+ [ $2 ] $3- } alias -l init.server { if (!$portfree($hget(dragonball.config,serverport))) { db error Error: cannot listen on port $hget(dragonball.config,serverport) $+ , please choose another port msg.menu halt } if ($hget(dragonball.server)) hfree dragonball.server hmake dragonball.server 10 init.gui drawrect -rf @DragonBall $db(bgcolor2) 1 131 11 256 190 db server 1 hadd dragonball.server status 1 hadd dragonball.server ui 0 hadd dragonball.server total 0 hadd dragonball.server p.anim1 -1 hadd dragonball.server p.anim2 -2 socklisten dbz_server $hget(dragonball.config,serverport) sockudp -k dbz_input $hget(dragonball.config,serverport) print »»» server listening - ip: $ip port: $hget(dragonball.config,serverport) db list add sockopen dbz_listing picwin.mircscripts.org 80 .timerdbz-server -o 0 5 server.check .timerdbz-keepalive -o 0 180 keep.alive } alias -l keep.alive { db list alive sockopen dbz_listing picwin.mircscripts.org 80 } alias -l server.check { var %i = 1 while ($sock(dbz_tmp_user*,%i).name) { if ($sock(dbz_tmp_user*,%i).to >= 30) { print »»» connection timeout from $sock(dbz_tmp_user*,%i).ip (slot %i $+ ) sockclose $sock(dbz_tmp_user*,%i) } inc %i } if ($hget(dragonball.server,status) == 1) && ($player(1).id) && ($player(2).id) { broadcast_list hadd dragonball.server ui 0 hadd dragonball.server tick $tick hadd dragonball.server status 2 broadcast STATUS $hget(dragonball.server,status) } elseif ($hget(dragonball.server,status) == 2) && ($calc($tick - $hget(dragonball.server,tick)) >= 10000) { hadd dragonball.server status 3 hadd dragonball.server ui 1 hadd dragonball.server cursor1 0 hadd dragonball.server cursor2 4 broadcast CHOOSE $player(1).id $player(2).id } } alias -l end.match { hadd dragonball.server ui 0 var %win_id = $player($hget(dragonball.server,winner)).id var %los_id = $player($iif($hget(dragonball.server,winner) == 1,2,1)).id if (%win_id) hinc dragonball.server user $+ [ %win_id ] $+ . $+ win if (%los_id) hinc dragonball.server user $+ [ %los_id ] $+ . $+ lost var %p2_id, %i = 1, %last_id = $calc($get.new.order -1) while (%i <= 8) { if ($dbzer(%i).order) { ;echo -a old order of %i : $dbzer(%i).order if (%win_id) && (%i == %win_id) dbzer %i order 1 elseif (%los_id) && (%i == %los_id) dbzer %i order %last_id else hdec dragonball.server user $+ [ %i ] $+ . $+ order if ($dbzer(%i).order == 2) %p2_id = %i ;echo -a new order of %i : $dbzer(%i).order } inc %i } hdel -w dragonball player1* hdel -w dragonball player2* if (%win_id) add.player 1 %win_id if (%p2_id) add.player 2 %p2_id broadcast_list hadd dragonball.server tick $tick if ($hget(dragonball.server,total) < 2) { hadd dragonball.server status 1 } else { hadd dragonball.server status 2 } broadcast STATUS $hget(dragonball.server,status) } on *:udpread:dbz_input: { if ($sockerr > 0) return var %tmp sockread %tmp if ($db(debug)) echo @debug-udp (server get) $sock($sockname).saddr $sock($sockname).sport : %tmp if (%tmp == pr) { sockudp -tn dbz_listsend_ $+ $tick $sock($sockname).saddr $sock($sockname).sport $hget(dragonball.server,total) $+ / $+ $hget(dragonball.config,maxplayer) return } var %p = 0 if ($sock($sockname).saddr == $player(1).ip) && ($sock($sockname).sport == $player(1).udp) %p = 1 elseif ($sock($sockname).saddr == $player(2).ip) && ($sock($sockname).sport == $player(2).udp) %p = 2 tokenize 32 %tmp if (%p > 0 ) && ($1 == 1) || ($1 == 0) { player %p key_ $+ $2 $1 if ($hget(dragonball.server,status) == 3) { var %cur1 = $hget(dragonball.server,cursor1) , %cur2 = $hget(dragonball.server,cursor2) parse.keys if (%cur1 != $hget(dragonball.server,cursor1)) || (%cur2 != $hget(dragonball.server,cursor2)) broadcast_udp CURCHANGE $hget(dragonball.server,cursor1) $hget(dragonball.server,cursor2) } } elseif ($1 == L) && ($dbzer($2).ip == $sock($sockname).saddr) && (!$dbzer($2).udp) { dbzer $2 udp $sock($sockname).sport if ($player(1).id == $2) player 1 udp $sock($sockname).sport elseif ($player(2).id == $2) player 2 udp $sock($sockname).sport } } alias -l sockuser { return dbz_user $+ $1 } alias -l tmpsockuser { return dbz_tmp_user_ $+ $1 } on *:socklisten:dbz_server: { if ($sockerr > 0) return var %sockname = dbz_tmp_user_ $+ $tick $+ $r(1,1000) sockaccept %sockname print »»» connection attempt from $sock(%sockname).ip sockwrite -tn %sockname CONNECTED } on *:sockclose:dbz_user*: { remove.user $right($sockname,1) 0 } on *:sockread:dbz_tmp_user_*: { if ($sockerr > 0) return var %data sockread %data tokenize 30 %data if ($1 == INFOS) { if ($hget(dragonball.config,password)) && ($4 != $hget(dragonball.config,password)) { print »»» connection from $sock($sockname).ip refused, invalid password sockwrite -tn $sockname INVALID_PASSWORD .timer -mo 1 0 sockclose $sockname } elseif ($2 != $db(version)) { print »»» connection from $sock($sockname).ip refused, invalid version sockwrite -tn $sockname INVALID_VERSION $db(version) .timer -mo 1 0 sockclose $sockname } else { var %nick = $left($3,13) if (!%nick) %nick = DBZ Player var %i = 1 var %num = 0 while (%i <= 8) { if ($dbzer(%i).nick == %nick) { inc %num if (%num > 1) %nick = $left(%nick,$calc($len(%nick) -2)) %nick = %nick %num %i = 1 continue } inc %i } %i = 1 while ($dbzer(%i).ip) inc %i if (%i > $hget(dragonball.config,maxplayer)) { sockwrite -tn $sockname SERVER_FULL .timer -mo 1 0 sockclose $sockname } else { dbzer %i ip $sock($sockname).ip dbzer %i nick %nick dbzer %i win 0 dbzer %i lost 0 dbzer %i order $get.new.order sockrename $sockname $sockuser(%i) sockwrite -tn $sockname ACCEPTED %i %nick envoi_list %i sockwrite -tn $sockname STATUS $hget(dragonball.server,status) broadcast JOIN %i $dbzer(%i).order $dbzer(%i).nick if ($dbzer(%i).order == 1) || ($dbzer(%i).order == 2) add.player $dbzer(%i).order %i hinc dragonball.server total } } } } on *:sockread:dbz_user*: { if ($sockerr > 0) return var %data sockread %data if ($db(debug)) echo @debug-tcp (server get) from $sockname $+ : %data tokenize 32 $right($sockname,1) %data if ($2 == MSG) { var %test = $3- if ($3-) broadcast MSG $1 $strip($3-) } else return } alias -l broadcast { sockwrite -tn dbz_user* $1- } alias -l broadcast_list { var %i = 1 while (%i <= 8) { if ($dbzer(%i).ip) broadcast USER %i $dbzer(%i).order $dbzer(%i).win $dbzer(%i).lost $dbzer(%i).nick inc %i } broadcast USER_END } alias -l envoi_list { var %i = 1, %isplaying while (%i <= 8) { if ($dbzer(%i).ip) sockwrite -tn $sockuser($1) USER %i $dbzer(%i).order $dbzer(%i).win $dbzer(%i).lost $dbzer(%i).nick inc %i } sockwrite -tn $sockuser($1) USER_END } alias -l broadcast_udp { var %i = 1 while (%i <= 8) { if ($dbzer(%i).udp) sockudp -tn dbz_broadcast $dbzer(%i).ip $dbzer(%i).udp $1- inc %i } } alias -l add.player { hdel -w dragonball player $+ $1 $+ * player $1 id $2 player $1 nick $dbzer($2).nick player $1 ready 0 player $1 ip $dbzer($2).ip player $1 udp $dbzer($2).udp } alias -l get.new.order { var %i = 1, %order = 1 while (%i <= 8) { if ($dbzer(%i).order >= %order) %order = $dbzer(%i).order + 1 inc %i } return %order } alias -l kick.player { if ($db(server) != 1) { print »»» you must be the server to kick a player return } if ($db(me) == $1-) { print »»» you cannot kick yourself return } if (!$1) { print »»» kick: you must specify the nick of the player to kick return } var %i = 1 while (%i <= 8) { if ($dbzer(%i).nick == $1-) { remove.user %i 1 return } inc %i } if (%i >= 8) { print »»» kick: invalid player name return } } alias -l remove.user { if ($sock($sockuser($1))) { sockclose $sockuser($1) } hdec dragonball.server total var %p = 0, %order = $dbzer($1).order, %i = 1 if ($player(1).id == $1) %p = 1 elseif ($player(2).id == $1) %p = 2 hdel -w dragonball.server user $+ $1 $+ * hdel -w dragonball player $+ %p $+ * if (%p > 0) { hadd dragonball.server winner $iif(%p == 1,2,1) end.match } else { while (%i <= 8) { if ($dbzer(%i).order >= %order) hdec dragonball.server user $+ [ %i ] $+ . $+ order inc %i } } if ($2 == 1) broadcast KICK $1 else broadcast QUIT $1 } alias -l parse.keys { if ($hget(dragonball.server,ui) != 1) return var %p = 1 while (%p <= 2) { if ($hget(dragonball.server,status) == 3) && ($player(%p).char !isnum 0-9) { var %cursor = $hget(dragonball.server,cursor $+ %p) if ($player(%p).key_left == 1) { player %p key_left 0 if (%cursor != 0) && (%cursor != 5) hdec dragonball.server cursor $+ [ %p ] } elseif ($player(%p).key_right == 1) { player %p key_right 0 if (%cursor != 4) && (%cursor != 9) hinc dragonball.server cursor $+ [ %p ] } elseif ($player(%p).key_up == 1) { player %p key_up 0 if (%cursor > 4) hdec dragonball.server cursor $+ [ %p ] 5 } elseif ($player(%p).key_down == 1) { player %p key_down 0 if (%cursor <= 4) hinc dragonball.server cursor $+ [ %p ] 5 } elseif ($player(%p).key_enter == 1) { player %p key_enter 0 player %p char $int($hget(dragonball.server,cursor $+ %p)) broadcast SELECT %p $player(%p).char if ($player(1).char isnum 0-9) && ($player(2).char isnum 0-9) { hadd dragonball.server status 4 $player(1).char $player(2).char $rand(1,3) .timerdbz-startfight -o 1 2 broadcast STATUS $hget(dragonball.server,status) } } } elseif ($left($hget(dragonball.server,status),1) == 4) { if ($player(%p).key_punch == 1) { player %p key_punch 0 if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { player.play.anim %p 3 } elseif ($player(%p).anim == 6) player.play.anim %p 17 elseif ($player(%p).anim == 7) player.play.anim %p 18 elseif ($player(%p).anim == 8) player.play.anim %p 19 } elseif ($player(%p).key_kick == 1) { player %p key_kick 0 if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { player.play.anim %p 4 } elseif ($player(%p).anim == 6) player.play.anim %p 14 elseif ($player(%p).anim == 7) player.play.anim %p 15 elseif ($player(%p).anim == 8) player.play.anim %p 16 } elseif ($player(%p).key_highkick == 1) { player %p key_highkick 0 if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { player.play.anim %p 5 } elseif ($player(%p).anim == 6) player.play.anim %p 14 elseif ($player(%p).anim == 7) player.play.anim %p 15 elseif ($player(%p).anim == 8) player.play.anim %p 16 } elseif ($player(%p).key_up == 1) { if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { if ($player(%p).key_left == 1) { if ($player(%p).side == 1) player.play.anim %p 7 else player.play.anim %p 8 } elseif ($player(%p).key_right == 1) { if ($player(%p).side == 1) player.play.anim %p 8 else player.play.anim %p 7 } else player.play.anim %p 6 } } elseif ($player(%p).key_left == 1) { if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { if ($player(%p).side == 1) player.play.anim %p 1 else player.play.anim %p 2 } } elseif ($player(%p).key_right == 1) { if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { if ($player(%p).side == 1) player.play.anim %p 2 else player.play.anim %p 1 } } elseif ($player(%p).key_block == 1) { if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { player.play.anim %p 11 } } elseif ($player(%p).key_blast == 1) { if ($player(%p).anim == 0) || ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { player %p key_blast 0 player.play.anim %p 13 } } elseif ($player(%p).anim == 1) || ($player(%p).anim == 2) || ($player(%p).anim == 11) { player.stop %p } } inc %p } } /* ============================================================= ====== USER ================================================= ============================================================= */ alias -l dbzuser { if ($isid) return $hget(dragonball.users, [ user $+ [ $1 ] $+ . $+ [ $prop ] ] ) else hadd dragonball.users user $+ [ $1 ] $+ . $+ [ $2 ] $3- } on *:sockclose:dbz_connect: { if (!$db(error)) { db error Server disconnected msg.menu } } alias -l connect { db error db score db st connecting drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 93 connecting drawdot @DragonBall if ($1) { hadd dragonball.config ip $ip hadd dragonball.config port $hget(dragonball.config,serverport) hadd dragonball.config password $hget(dragonball.config,serverpassword) } sockopen dbz_connect $hget(dragonball.config,ip) $hget(dragonball.config,port) if ($hget(dragonball.users)) hfree dragonball.users hmake dragonball.users 10 db ms 0 } alias -l drawfont { if (!$2) return var %txt = $upper($2-), %i = 1, %pos = $int($calc(131 + (128 - $len($2-) *16 / 2))) while (%i <= $len($2-)) { if ($asc($mid(%txt,%i,1)) != 32) drawcopy -nt @dbz.tmp.font 0 $calc($fontnum($asc($mid(%txt,%i,1))) * 16) 0 16 16 @dragonball %pos $int($1) inc %i inc %pos 16 } } alias -l fontnum { if ($1 >= 65) && ($1 <= 90) return $calc($1 - 65) elseif ($1 == 40) || ($1 == 41) return $calc($1 - 14) elseif ($1 == 33) return 28 elseif ($1 == 45) return 30 elseif ($1 == 46) return 31 elseif ($1 == 58) return 32 elseif ($1 == 39) || ($1 == 34) || ($1 == 96) return 33 elseif ($1 == 44) return 34 else return 29 } on *:sockwrite:dbz_connect: { if ($sockerr > 0) { db error Server disconnected msg.menu } } on *:sockread:dbz_connect: { if ($sockerr > 0) { db error Server disconnected msg.menu return } var %data sockread %data tokenize 32 %data if ($db(debug)) echo @debug-tcp (get) $1- ( $+ ms $db(ms) $+ ) if ($1 == CONNECTED) { envoi INFOS $+ $chr(30) $+ $db(version) $+ $chr(30) $+ $hget(dragonball.config,nick) $+ $chr(30) $+ $hget(dragonball.config,password) } elseif ($1 == INVALID_VERSION) { db error Invalid version - This server is running with DBZ v $+ $2 msg.menu } elseif ($1 == INVALID_PASSWORD) { db error Invalid password msg.menu } elseif ($1 == ACCEPTED) { envoi_udp L $int($2) db me $3- } elseif ($1 == USER_END) { if ($db(ms) != 1) db ms 1 update.list } elseif ($1 == USER) { dbzuser $int($2) order $3 dbzuser $int($2) win $4 dbzuser $int($2) lost $5 if ($3 == 1) || ($3 == 2) player $3 nick $6- dbzuser $int($2) nick $6- } elseif ($1 == JOIN) { dbzuser $int($2) order $3 dbzuser $int($2) win 0 dbzuser $int($2) lost 0 if ($3 == 1) || ($3 == 2) player $2 nick $4- dbzuser $int($2) nick $4- update.list if ($db(me) != $4-) print »»» $4- joined the game else print »»» you joined the game } elseif ($1 == QUIT) { print »»» $dbzuser($2).nick left the game if ($player(1).nick == $dbzuser($2).nick) hdel -w dragonball player1* elseif ($player(2).nick == $dbzuser($2).nick) hdel -w dragonball player2* hdel -w dragonball.users user $+ $2 $+ * update.list } elseif ($1 == KICK) { print »»» $dbzuser($2).nick was kicked from the game if ($player(1).nick == $dbzuser($2).nick) hdel -w dragonball player1* elseif ($player(2).nick == $dbzuser($2).nick) hdel -w dragonball player2* hdel -w dragonball.users user $+ $2 $+ * update.list } elseif ($1 == SERVER_FULL) { db error The server is full, connection failed msg.menu } elseif ($1 == STATUS) && ($db(ms) == 1) { db st $2 if ($timer(dbz-main)) .timerdbz-main off if ($2 == 1) { if ($db(score)) return drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 68 waiting drawfont 98 for drawfont 128 players drawdot @DragonBall } elseif ($2 == 2) { if ($db(score)) return drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 38 next match: drawfont 98 $player(1).nick drawfont 128 VS drawfont 158 $player(2).nick drawdot @DragonBall } elseif ($2 == 3) { db cursor1 0 db cursor2 4 choose.fighter } elseif ($2 == 4) { player 1 char $int($3) player 2 char $int($4) hadd dragonball stage $int($5) start.match } } elseif ($1 == CHOOSE) { db st 3 db cursor1 0 db cursor2 4 player 1 char player 2 char choose.fighter } elseif ($1 == SELECT) { hadd dragonball choose_ok 1 db cursor $+ $int($2) $int($3) player $int($2) char $int($3) playsound ok.wav choose.fighter } elseif ($1 == END_FIGHT) { hadd dragonball winner $player($int($2)).nick } elseif ($1 == MSG) { if ($3-) print < $+ $dbzuser($2).nick $+ > $strip($3-) } } on *:sockopen:dbz_connect: { if ($sockerr) { db error Connection failed msg.menu } } on *:udpread:dbz_data: { if ($sockerr > 0) return var %tmp sockread %tmp tokenize 32 %tmp if ($db(debug)) { echo @debug-udp (get) $1- } if ($1 == p) { if ($db(server) != 1) player.play.anim $2 $3 } elseif ($1 == s) && ($db(server) != 1) { player $2 x $3 player $2 y 122 player.stop $2 player $iif($2 == 1,2,1) x $4 hadd dragonball stage.x $5 } elseif ($1 == e) && ($db(server) != 1) { player $int($2) nrj $int($3) player.nrj } elseif ($1 == CURCHANGE) { db cursor1 $int($2) db cursor2 $int($3) choose.fighter playsound menu } } alias -l envoi { sockwrite -tn dbz_connect $1- } alias -l envoi_udp { if ($hget(dragonball.config,ip)) sockudp -ktn dbz_data $hget(dragonball.config,ip) $hget(dragonball.config,port) $1- } alias -l choose.fighter { if ($db(score)) return drawrect -nrf @DragonBall $db(bgcolor2) 1 131 11 256 190 drawfont 20 select fighter drawcopy -nt @dbz.tmp.char $rgb(192,192,192) 0 0 200 50 @DragonBall 155 58 drawcopy -nt @dbz.tmp.char $rgb(192,192,192) 200 0 200 50 @DragonBall 155 128 var %color1, %color2 if ($player(1).char isnum 0-9) %color1 = $rgb(255,200,0) else %color1 = $rgb(0,0,255) if ($player(2).char isnum 0-9) %color2 = $rgb(255,200,0) else %color2 = $rgb(128,0,0) if ($db(cursor1) <= 4) { drawtext -cnr @dragonball $iif(%color1 != $rgb(255,200,0),$rgb(255,255,255),0) Verdana -7 $calc(155 + $db(cursor1) *40) 45 40 12 $player(1).nick drawtext -cnr @dragonball %color1 Verdana -7 $calc(154 + $db(cursor1) *40) 44 40 12 $player(1).nick drawrect -dnr @dragonball $iif(%color1 != $rgb(255,200,0),$rgb(255,255,255),0) 1 $calc(156 + $db(cursor1) *40) 59 40 50 10 10 drawrect -dnr @dragonball %color1 1 $calc(155 + $db(cursor1) *40) 58 40 50 10 10 } else { drawtext -cnr @dragonball $iif(%color1 != $rgb(255,200,0),$rgb(255,255,255),0) Verdana -7 $calc(155 + ($db(cursor1) -5) *40) 115 40 12 $player(1).nick drawtext -cnr @dragonball %color1 Verdana -7 $calc(154 + ($db(cursor1) -5) *40) 114 40 12 $player(1).nick drawrect -dnr @dragonball $iif(%color1 != $rgb(255,200,0),$rgb(255,255,255),0) 1 $calc(156 + ($db(cursor1) -5) *40) 129 40 50 10 10 drawrect -dnr @dragonball %color1 1 $calc(155 + ($db(cursor1) -5) *40) 128 40 50 10 10 } if ($db(cursor2) <= 4) { drawtext -cnr @dragonball $iif(%color2 != $rgb(255,200,0),$rgb(255,255,255),0) Verdana -7 $calc(155 + $db(cursor2) *40) 45 40 12 $player(2).nick drawtext -cnr @dragonball %color2 Verdana -7 $calc(154 + $db(cursor2) *40) 44 40 12 $player(2).nick drawrect -dnr @dragonball $iif(%color2 != $rgb(255,200,0),$rgb(255,255,255),0) 1 $calc(156 + $db(cursor2) *40) 59 40 50 10 10 drawrect -dnr @dragonball %color2 1 $calc(155 + $db(cursor2) *40) 58 40 50 10 10 } else { drawtext -cnr @dragonball $iif(%color2 != $rgb(255,200,0),$rgb(255,255,255),0) Verdana -7 $calc(155 + ($db(cursor2) -5) *40) 115 40 12 $player(2).nick drawtext -cnr @dragonball %color2 Verdana -7 $calc(154 + ($db(cursor2) -5) *40) 114 40 12 $player(2).nick drawrect -dnr @dragonball $iif(%color2 != $rgb(255,200,0),$rgb(255,255,255),0) 1 $calc(156 + ($db(cursor2) -5) *40) 129 40 50 10 10 drawrect -dnr @dragonball %color2 1 $calc(155 + ($db(cursor2) -5) *40) 128 40 50 10 10 } drawdot @DragonBall } alias -l update.list { drawrect -nrf @DragonBall $db(bgcolor2) 1 399 26 108 28 drawrect -nrf @DragonBall $db(bgcolor2) 1 399 101 108 100 if ($player(1).nick) drawtext -ncbr @DragonBall $iif($player(1).nick != $db(me),$db(color),$db(color2)) $db(bgcolor2) verdana -7 401 28 103 12 $player(1).nick if ($player(2).nick) drawtext -ncbr @DragonBall $iif($player(2).nick != $db(me),$db(color),$db(color2)) $db(bgcolor2) verdana -7 401 40 103 12 $player(2).nick var %i = 1 var %order, %j, %k, %me_id, %win while (%i <= 9) { if ($dbzuser(%i).order) { %order = %order $dbzuser(%i).order $+ %i %win = %win $dbzuser(%i).win $+ %i } inc %i } %order = $sorttok(%order,32,n) %win = $sorttok(%win,32,nr) var %y = 102 %i = 1 while (%i <= $numtok(%order,32)) { %j = $right($gettok(%order,%i,32),1) %k = $right($gettok(%win,%i,32),1) dbzuser %k rank %i if ($dbzuser(%j).nick != $player(1).nick) && ($dbzuser(%j).nick != $player(2).nick) { if ($dbzuser(%j).nick) drawtext -ncbr @DragonBall $iif($dbzuser(%j).nick != $db(me),$db(color),$db(color2)) $db(bgcolor2) verdana -7 401 %y 103 12 $dbzuser(%j).nick inc %y 12 } if ($dbzuser(%j).nick == $db(me)) %me_id = %j inc %i } drawrect -nrf @DragonBall $db(bgcolor2) 1 11 26 108 40 drawtext -ncbr @DragonBall $db(color) $db(bgcolor2) verdana -7 13 28 103 12 Rank: $dbzuser(%me_id).rank drawtext -ncbr @DragonBall $db(color) $db(bgcolor2) verdana -7 13 40 103 12 Win: $dbzuser(%me_id).win drawtext -ncbr @DragonBall $db(color) $db(bgcolor2) verdana -7 13 52 103 12 Lost: $dbzuser(%me_id).lost if (!$1) drawdot @DragonBall } alias -l keydown { envoi_udp 1 $1 } alias -l keyup { envoi_udp 0 $1 } on *:KEYDOWN:@Dragonball:*: { if (!$keyrpt) { if ($db(click) >= 1) { x-gui Set @dragonball > text $calc($db(click) +20) key $keyval db click config.menu return } if ($keyval == 13) { keydown enter } if ($keyval == $hget(dragonball.config,up)) { keydown up } elseif ($keyval == $hget(dragonball.config,down)) { keydown down } elseif ($keyval == $hget(dragonball.config,left)) { keydown left } elseif ($keyval == $hget(dragonball.config,right)) { keydown right } elseif ($keyval == $hget(dragonball.config,block)) { keydown block } elseif ($keyval == $hget(dragonball.config,punch)) { keydown punch } elseif ($keyval == $hget(dragonball.config,kick)) { keydown kick } elseif ($keyval == $hget(dragonball.config,highkick)) { keydown highkick } elseif ($keyval == $hget(dragonball.config,blast)) { keydown blast } } } on *:KEYUP:@Dragonball:*: { if ($keyval == 13) { keyup enter } if ($keyval == $hget(dragonball.config,up)) { keyup up } elseif ($keyval == $hget(dragonball.config,down)) { keyup down } elseif ($keyval == $hget(dragonball.config,left)) { keyup left } elseif ($keyval == $hget(dragonball.config,right)) { keyup right } elseif ($keyval == $hget(dragonball.config,block)) { keyup block } elseif ($keyval == $hget(dragonball.config,punch)) { keyup punch } elseif ($keyval == $hget(dragonball.config,kick)) { keyup kick } elseif ($keyval == $hget(dragonball.config,highkick)) { keyup highkick } elseif ($keyval == $hget(dragonball.config,blast)) { keyup blast } } ON *:SIGNAL:xGUI: { ;echo [x-gui signal] $1- if ($1 == @dragonball) { if ($2 == joystick) { ;process joystick events if ($3 == move) { if ($4 == -1) keydown right else if ($4 == 1) keydown left if ($5 == 1) keydown up elseif ($5 == -1) keydown down if ($4 == 0) { keyup right | keyup left } if ($5 == 0) { keyup up | keyup down } } else if ($3 == button) { if ($4) keydown punch else keyup punch if ($5) keydown kick else keyup kick if ($6) keydown highkick else keyup highkick if ($7) keydown blast else keyup blast } } elseif ($3 == 2) { if ($2 == enter) { tokenize 32 $x-gui(Editbox,@DragonBall > GetText 2) if (!$1) return if ($left($1,1) == /) { if ($1 == /kick) kick.player $2- else print »»» invalid command } else envoi MSG $x-gui(Editbox,@DragonBall > GetText 2) x-gui Set @DragonBall > text 2 } elseif ($2 == setfocus) { x-gui Set @DragonBall > color 2 $db(bgcolor3) $db(color) } elseif ($2 == killfocus) { x-gui Set @DragonBall > color 2 $db(bgcolor2) $db(color) } } elseif ($3 > 20) && ($3 < 30) && ($2 == setfocus) { x-gui Set @dragonball > nofocus 20 db click $calc($3 - 20) config.menu } elseif ($3 == 90) || ($3 == 91) && ($2 == setfocus) { x-gui Set @dragonball > nofocus 20 if ($x-gui(Get,@dragonball > text $3)) x-gui Set @dragonball > text $3 else x-gui Set @dragonball > text $3 $chr(149) } elseif ($3 == 42) && ($2 == sclick) x-gui Set @dragonball > nofocus 42 elseif ($3 == 42) && ($2 == dclick) { x-gui Set @dragonball > nofocus 42 servers.list.join } } } /* ===================== = That's all folks :) ===================== */