Warsow-Race.net Maps — File Browser
Warsow-Race.netMapsv1.0 / Warsow-Race.netMapsv1.0 / wsw-maps / wsw-maps.mrc
wsw-maps.mrc — 30.08 KB — Download this file
;########################################
;### Warsow-Race.net Map v1.0 © by Flobse
;### MailTo: Scripter@Flobse.de
;### IRC: #Flobse @ Quakenet
;########################################
;###
;### To start type /racenet
;### You can also rename the racenet alias to use a other command to start it.
;### Remove the following semicolons if you want to start it by pressing F9 or if you want a entry in your mousemenu
; alias F9 { wsw.racenet }
; menu * {
; Racenet Maps : wsw.racenet
;}
alias racenet { wsw.racenet }
;### Do not change anything after that line!
;###########################################
;### Starting
on *:load: {
if (!$dcx(Version)) { .load -rs $qt($scriptdirdata\dcx_tools.mrc) }
elseif ($gettok($dcx(Version),4,32) != 1.4.0) { .timer 1 0 noop $!input(This script is optimized for DCX 1.4.0 or higher. $crlf $+ Your Version is $qt($gettok($dcx(Version),4,32)) $crlf $crlf $+ You can unload your current version and load \ $+ $remove($scriptdirdata\dcx_tools.mrc,$mircdir) to change your DCX version.,wo,Warsow-Race.net Maps © by Flobse) }
wsw.racenet
}
;### Global Aliases
alias wsw.color {
if ($1 == bg2) { return 6240581 }
elseif ($1 == bg) { return 5387326 }
elseif ($1 == txt) { return 12352115 }
elseif ($1 == border) { return 32993 }
}
alias wsw.path {
var %d wsw.dia.main
if ($dialog(%d)) { return $xdid(%d,1).mark $+ $iif($right($xdid(%d,1).mark,1) != \,\) $+ $1- }
if ($readini($wsw.ini,settings,compare)) { return $v1 $+ $iif($right($v1,1) != \,\) $+ $1- }
if ($exists($envar(appdata) $+ \Warsow\basewsw\)) { return $envar(appdata) $+ \Warsow\basewsw\ $+ $1- }
}
alias wsw.ini { return $qt($scriptdirdata\data.ini) }
alias wsw.encode { return $replace($regsubex($1-,/([^a-z0-9_\-\+\!\.]{1})/i,% $+ $base($asc(\1),10,16,2)),$chr(32),% $+ 20) }
alias wsw.decode { return $regsubex($1-,/\%([A-Z0-9]{2})/ig,$chr($base(\1,16,10))) }
alias envar {
var %wsh = wsh $+ $ticks, %tmp = $$1
.comopen %wsh wscript.shell
if ($isid) {
%tmp = $com(%wsh,expandenvironmentstrings,1,bstr*,% $+ $1%)
%tmp = $com(%wsh).result
}
else {
var %env = env $+ $ticks
%tmp = $com(%wsh,environment,2,bstr*,process,dispatch* %env)
%tmp = $iif($0 < 2,$com(%env,remove,1,bstr*,$1),$com(%env,item,4,bstr*,$1,bstr*,$2-))
}
:error
if ($com(%wsh)) .comclose %wsh
if ($com(%env)) .comclose %env
if ($isid) && ($+(%,$1,%) !iswm %tmp) return %tmp
}
;### Maindialog
alias wsw.racenet {
var %d wsw.dia.main
if (!$readini($wsw.ini,settings,compare)) || (!$readini($wsw.ini,settings,download)) { wsw.dia.settings | return }
if (!$dialog(%d)) { dialog -dm %d %d $+ _table }
else { dialog -v %d }
}
dialog wsw.dia.main_table {
title "Warsow-Race.net Maps © by Flobse"
size $iif($readini($wsw.ini,settings,mainpos),$v1,-1 -1) 520 295
}
on *:dialog:wsw.dia.main:*:*: {
if ($devent == init) {
dcx Mark $dname wsw.dia.main_cb
xdialog -b $dname +ty
xdialog -w $dname +a 0 $scriptdirdata\warsow.ico
xdialog -g $dname +b $wsw.color(bg2)
xdialog -c $dname 11 image 0 0 520 65 | xdid -i $dname 11 +h $scriptdir\data\racenet.jpg | xdid -J $dname 11 +r hand
xdialog -c $dname 1 text 15 70 200 20 | xdid -t $dname 1 New Maps (0 / 0)
xdid -C $dname 1 +b $wsw.color(bg2) | xdid -C $dname 1 +t $wsw.color(txt) | xdid -f $dname 1 +abi default 12 arial
xdialog -c $dname 13 text 270 75 55 15 right | xdid -t $dname 13 Ordering: | xdid -C $dname 13 +b $wsw.color(bg2) | xdid -C $dname 13 +t $wsw.color(txt) | xdid -f $dname 13 +ab default 9 arial
xdialog -c $dname 14 text 330 75 55 15 right | xdid -t $dname 14 Location | xdid -C $dname 14 +b $wsw.color(bg2) | xdid -C $dname 14 +t $wsw.color(border) | xdid -f $dname 14 +ab default 9 arial | xdid -J $dname 14 +r hand
xdialog -c $dname 15 text 390 75 35 15 right | xdid -t $dname 15 Maps | xdid -C $dname 15 +b $wsw.color(bg2) | xdid -C $dname 15 +t $wsw.color(border) | xdid -f $dname 15 +ab default 9 arial | xdid -J $dname 15 +r hand
xdialog -c $dname 16 text 430 75 35 15 right | xdid -t $dname 16 Date | xdid -C $dname 16 +b $wsw.color(bg2) | xdid -C $dname 16 +t $wsw.color(border) | xdid -f $dname 16 +ab default 9 arial | xdid -J $dname 16 +r hand
xdialog -c $dname 17 text 470 75 35 15 right | xdid -t $dname 17 Size | xdid -C $dname 17 +b $wsw.color(bg2) | xdid -C $dname 17 +t $wsw.color(border) | xdid -f $dname 17 +ab default 9 arial | xdid -J $dname 17 +r hand
xdialog -c $dname 12 image 15 93 490 3 | xdid -i $dname 12 +h $scriptdir\data\border.jpg
xdialog -c $dname 3 listview 15 100 490 160 report fullrow noheader
xdid -i $dname 3 +bk $wsw.color(bg) | xdid -f $dname 3 +ab default 9 arial
xdid -t $dname 3 +l 0 46 Location $chr(9) +l 0 295 Map $chr(9) +l 0 85 Last modified $chr(9) +l 0 42 Size
xdialog -c $dname 4 text 15 270 80 15 | xdid -t $dname 4 Download all | xdid -C $dname 4 +b $wsw.color(bg2) | xdid -C $dname 4 +t $wsw.color(border) | xdid -f $dname 4 +ab default 9 arial | xdid -J $dname 4 +r hand
xdialog -c $dname 5 text 120 270 115 15 | xdid -t $dname 5 Download selected | xdid -C $dname 5 +b $wsw.color(bg2) | xdid -C $dname 5 +t $wsw.color(border) | xdid -f $dname 5 +ab default 9 arial | xdid -J $dname 5 +r hand
xdialog -c $dname 7 text 260 270 95 15 | xdid -t $dname 7 Delete selected | xdid -C $dname 7 +b $wsw.color(bg2) | xdid -C $dname 7 +t $wsw.color(border) | xdid -f $dname 7 +ab default 9 arial | xdid -J $dname 7 +r hand
xdialog -c $dname 8 text 380 270 55 15 | xdid -t $dname 8 Explorer | xdid -C $dname 8 +b $wsw.color(bg2) | xdid -C $dname 8 +t $wsw.color(border) | xdid -f $dname 8 +ab default 9 arial | xdid -J $dname 8 +r hand
xdialog -c $dname 9 text 450 270 55 15 right | xdid -t $dname 9 Settings | xdid -C $dname 9 +b $wsw.color(bg2) | xdid -C $dname 9 +t $wsw.color(border) | xdid -f $dname 9 +ab default 9 arial | xdid -J $dname 9 +r hand
xdialog -c $dname 18 image 15 265 490 3 | xdid -i $dname 18 +h $scriptdir\data\border.jpg
xdid -M $dname 1 $readini($wsw.ini,settings,compare)
xdid -M $dname 3 $readini($wsw.ini,settings,download)
wsw.newmaps
}
}
alias wsw.dia.main_cb {
;if ($2 != mouse) { echo $color(info) -s */ wsw.dia.main_cb: $1- }
if ($2 == sclick) {
if ($3 == 11) { .url http://www.warsow-race.net/ }
elseif ($3 == 4) { wsw.download all }
elseif ($3 == 5) { wsw.download sel }
elseif ($3 == 7) { wsw.delmap }
elseif ($3 == 8) { .run $wsw.path }
elseif ($3 == 9) { wsw.dia.settings }
elseif ($3 == 14) { wsw.sort 1 }
elseif ($3 == 15) { wsw.sort 2 }
elseif ($3 == 16) { wsw.sort 3 }
elseif ($3 == 17) { wsw.sort 4 }
}
elseif ($2 == keydown) && ($3 == 3) && ($xdid($1,$3,1).sel) {
var %x 1, %c $calc($v1 +1)
while (%x <= $xdid($1,$3).num) {
if ($left($xdid($1,$3,%c,2).text,1) == $chr($4)) {
xdid -V $1 $3 %c | xdid -u $1 $3 | xdid -c $1 $3 %c | return
}
if (%c == $xdid($1,$3).num) { var %c 1 }
inc %c
inc %x
}
}
elseif ($2 == dclick) {
if ($3 == 3) && ($4 == 2) && ($exists($wsw.path($xdid($1,$3,$4,2).text $+ .pk3))) {
if ($readini($wsw.ini,settings,exe)) { .run $v1 map $xdid($1,$3,$4,2).text }
}
}
if ($2 == close) { writeini $wsw.ini settings mainpos $dialog($1).x $dialog($1).y }
}
alias wsw.sort {
var %d wsw.dia.main, %col $1
if ($dialog(%d)) {
if ($1 == last) { var %col $iif($readini($wsw.ini,settings,sortcol),$v1,2) }
var %sort $iif($readini($wsw.ini,settings,sorting) == a,+d,+a) $+ $iif(%col isnum 3-4,c)
if ($1 == last) { var %sort $replacex(%sort,a,d,d,a) }
xdid -z %d 3 %sort %col $iif(%col == 3,wsw.sort.date,$iif(%col == 4,wsw.sort.size))
writeini $wsw.ini settings sorting $iif(a isin %sort,a,d)
writeini $wsw.ini settings sortcol %col
}
}
alias wsw.markhash {
var %d wsw.dia.main
if ($dialog(%d)) {
if ($hget(wsw.temp)) { hfree $v1 }
var %x 1, %i 1
if ($1 == all) {
while ($xdid(%d,3,%x,2).text != $null) {
if ($xdid(%d,3,%x,1).text != hdd) { hadd -m wsw.temp %i $wsw.encode($xdid(%d,3,%x,2).text) $+ .pk3 | inc %i }
inc %x
} }
elseif ($1 == sel) {
while ($xdid(%d,3,$xdid(%d,3,%x,2).sel,2).text != $null) {
hadd -m wsw.temp %x $wsw.encode($v1) $+ .pk3
inc %x
} } } }
alias wsw.delmap {
var %d wsw.dia.main
if ($dialog(%d)) {
wsw.markhash sel
var %x 1, %i 0
while ($hget(wsw.temp,%x) != $null) {
var %f $wsw.path($wsw.decode($v1))
if ($exists(%f)) { .remove %f | inc %i }
inc %x
}
wsw.refreshlist
}
}
alias wsw.sort.date {
var %ctime1 $ctime($replace($1,-,$chr(32))), %ctime2 $ctime($replace($2,-,$chr(32)))
if (%ctime1 < %ctime2) { return -1 }
if (%ctime1 > %ctime2) { return 1 }
return 0
}
alias wsw.sort.size {
var %s1 $right($1,1), %s2 $right($2,1)
var %size1 $calc($left($1,-1) * $iif(%s1 == k,1024,$iif(%s1 == m,1048576,1)))
var %size2 $calc($left($2,-1) * $iif(%s2 == k,1024,$iif(%s2 == m,1048576,1)))
if (%size1 < %size2) { return -1 }
if (%size1 > %size2) { return 1 }
return 0
}
alias wsw.newmaps {
var %d wsw.dia.main
sockclose newmaps
if ($dialog(%d)) {
xdid -r %d 3
xdid -t %d 1 New Maps (Loading...)
xdid -C %d 1 +b $wsw.color(bg2) | xdid -C %d 1 +t $wsw.color(txt)
sockopen newmaps downloads.warsow-race.net 80
}
}
on *:sockopen:newmaps: {
if ($sockerr) { return }
sockwrite -n $sockname GET /warsow/data/racesow/ HTTP/1.1
sockwrite -n $sockname Host: $sock($sockname).addr
sockwrite -n $sockname Connection: close
sockwrite -n $sockname
}
on *:sockread:newmaps: {
var %t, %d wsw.dia.main | sockread %t
tokenize 32 $sock($sockname).mark
if ($regex(newmaps,%t,/<a href=".+?">(.+?).pk3</a>\s*([\S]+)\s*[\S]+\s*(.+?)\s*$/ig)) {
tokenize 47 $remove($xdid(%d,1).text,New Maps,$chr(40),$chr(41))
var %map $htmldecode($regml(newmaps,1))
if (!$exists($wsw.path(%map $+ .pk3))) { xdid -a %d 3 0 0 +c 0 0 0 0 $wsw.color(txt) 0 Server $chr(9) +c 0 0 $wsw.color(border) 0 %map $chr(9) +c 0 0 $wsw.color(txt) 0 $regml(newmaps,2) $chr(9) +c 0 0 $wsw.color(txt) 0 $regml(newmaps,3) $+ $iif($right($regml(newmaps,3),1) !isincs KM,B) }
else { xdid -a %d 3 0 0 +c 0 0 0 0 $wsw.color(txt) 0 Hdd $chr(9) +c 0 0 $wsw.color(border) 0 %map $chr(9) +c 0 0 $wsw.color(txt) 0 $regml(newmaps,2) $chr(9) +c 0 0 $wsw.color(txt) 0 $regml(newmaps,3) $+ $iif($right($regml(newmaps,3),1) !isincs KM,B) }
}
elseif (</html> isin %t) {
.timer 1 0 wsw.refreshlist
.timer 1 0 wsw.sort last
sockclose $sockname
}
}
alias -l htmldecode {
var %r $replacecs($1,",$chr(34),',$chr(39),&,$chr(38),<,$chr(60),>,$chr(62), ,$chr(160),¡,$chr(161),¤,$chr(164),¢,$chr(162),£,$chr(163), $&
¥,$chr(165),¦,$chr(166),§,$chr(167),¨,$chr(168),©,$chr(169),ª,$chr(170),«,$chr(171),¬,$chr(172),­,$chr(173),®,$chr(174), $&
™,$chr(8482),¯,$chr(175),°,$chr(176),±,$chr(177),²,$chr(178),³,$chr(179),´,$chr(180),µ,$chr(181),¶,$chr(182),ÿ,$chr(255), $&
·,$chr(183),¸,$chr(184),¹,$chr(185),º,$chr(186),»,$chr(187),¼,$chr(188),½,$chr(189),¾,$chr(190),¿,$chr(191), $&
×,$chr(215),÷,$chr(247),À,$chr(192),Á,$chr(193),by Flobse,by Flobse,Â,$chr(194),Ã,$chr(195),Ä,$chr(196),Å,$chr(197), $&
Ç,$chr(199),È,$chr(200),É,$chr(201),Ê,$chr(202),Ë,$chr(203),Ì,$chr(204),Í,$chr(205),Î,$chr(206),Ï,$chr(207), $&
Ð,$chr(208),Ñ,$chr(209),Ò,$chr(210),Ó,$chr(211),Ô,$chr(212),Õ,$chr(213),Ö,$chr(214),Ø,$chr(216),Ù,$chr(217), $&
Ú,$chr(218),Û,$chr(219),Ü,$chr(220),Ý,$chr(221),Þ,$chr(222),ß,$chr(223),à,$chr(224),á,$chr(225),â,$chr(226), $&
ã,$chr(227),ä,$chr(228),å,$chr(229),æ,$chr(230),ç,$chr(231),è,$chr(232),é,$chr(233),ê,$chr(234),ë,$chr(235), $&
ì,$chr(236),í,$chr(237),î,$chr(238),ï,$chr(239),ð,$chr(240),ñ,$chr(241),ò,$chr(242),ó,$chr(243),ô,$chr(244), $&
õ,$chr(245),ö,$chr(246),ø,$chr(248),ù,$chr(249),ú,$chr(250),û,$chr(251),ü,$chr(252),ý,$chr(253),þ,$chr(254), $&
•,$chr(149),„,",“,",–,-,Æ,$chr(198),Ü,Ü,ß,ß,Ö,Ö,ä,ä,ö,ö,Ã…,Ã…,ü,ü)
return $regsubex(%r,/&#(\d+);/g,$chr(\1))
}
alias wsw.refreshlist {
var %d wsw.dia.main
if ($dialog(%d)) {
var %x 1, %L 0, %g 0
while ($xdid(%d,3,%x,2).text != $null) {
var %map $v1 $+ .pk3
if ($exists($wsw.path $+ %map)) { xdid -v %d 3 %x 1 Hdd }
else {
xdid -v %d 3 %x 1 Server
inc %L
}
inc %g
inc %x
}
xdid -t %d 1 New Maps ( $+ %L / %g $+ )
xdid -C %d 1 +b $wsw.color(bg2) | xdid -C %d 1 +t $wsw.color(txt)
}
}
;### Download
alias wsw.download {
if ($dialog(wsw.dia.main)) {
if (!$readini($wsw.ini,settings,download)) || (!$exists($readini($wsw.ini,settings,download))) { wsw.dia.settings | return }
wsw.markhash $1
wsw.dia.dl
} }
alias wsw.dia.dl {
if ($dialog(wsw.dia.dl)) { dialog -c wsw.dia.dl }
if ($hget(wsw.temp,1)) {
dialog -dm wsw.dia.dl wsw.dia.dl_table
if ($dialog(wsw.dia.main)) { xdialog -h $v1 }
}
}
dialog wsw.dia.dl_table {
title "Warsow-Race.net Maps - Download © by Flobse"
size $iif($readini($wsw.ini,settings,dlpos),$v1,-1 -1) 390 220
}
on *:dialog:wsw.dia.dl:*:*: {
if ($devent == init) {
dcx Mark $dname wsw.dia.dl_cb
xdialog -b $dname +t
xdialog -w $dname +a 0 $scriptdirdata\warsow.ico
xdialog -g $dname +b $wsw.color(bg)
xdialog -c $dname 1 image 0 0 390 60 | xdid -i $dname 1 +h $scriptdir\data\racenet.jpg | xdid -J $dname 1 +r hand
xdialog -c $dname 2 panel 0 60 400 200 | xdid -C $dname 2 +b $wsw.color(bg)
xdid -c $dname 2 3 text 30 20 120 20 | xdid -t $dname 3 Download Map:
xdid -C $dname 3 +b $wsw.color(bg) | xdid -C $dname 3 +t $wsw.color(txt) | xdid -f $dname 3 +abi default 11 arial
xdid -c $dname 2 8 text 160 20 230 20 | xdid -t $dname 8 0 / 0
xdid -C $dname 8 +b $wsw.color(bg) | xdid -C $dname 8 +t $wsw.color(border) | xdid -f $dname 8 +abi default 9 arial
xdid -c $dname 2 4 text 30 43 80 20 | xdid -t $dname 4 Mapname:
xdid -C $dname 4 +b $wsw.color(bg) | xdid -C $dname 4 +t $wsw.color(txt) | xdid -f $dname 4 +abi default 11 arial
xdid -c $dname 2 9 text 120 43 230 20 | xdid -t $dname 9 ?.pk3
xdid -C $dname 9 +b $wsw.color(bg) | xdid -C $dname 9 +t $wsw.color(border) | xdid -f $dname 9 +abi default 9 arial
xdid -c $dname 2 7 text 30 65 120 20 | xdid -t $dname 7 Elapsed time:
xdid -C $dname 7 +b $wsw.color(bg) | xdid -C $dname 7 +t $wsw.color(txt) | xdid -f $dname 7 +abi default 11 arial
xdid -c $dname 2 10 text 160 65 230 20 | xdid -t $dname 10 00:00:00
xdid -M $dname 10 $ctime | .timerwsw.elapsedtime 0 1 wsw.dl.elapsed
xdid -C $dname 10 +b $wsw.color(bg) | xdid -C $dname 10 +t $wsw.color(border) | xdid -f $dname 10 +abi default 9 arial
xdid -c $dname 2 5 pbar 30 100 330 15 smooth notheme | xdid -r $dname 5 0 $hget(wsw.temp,0).item | xdid -v $dname 5 0
xdid -i $dname 5 % $+ d % $+ % | xdid -u $dname 5 1 | xdid -q $dname 5 $wsw.color(border) | xdid -f $dname 5 +ab default 9 arial
xdid -k $dname 5 $wsw.color(txt) | xdid -c $dname 5 $wsw.color(bg) | xdid -x $dname 5 +s
xdid -c $dname 2 11 pbar 30 90 330 7 smooth notheme | xdid -r $dname 11 0 100 | xdid -v $dname 11 0 | xdid -i $dname 11
xdid -k $dname 11 $wsw.color(txt) | xdid -c $dname 11 $wsw.color(bg) | xdid -x $dname 11 +s
xdid -c $dname 2 6 button 140 122 100 25 tabstop | xdid -t $dname 6 Cancel
wsw.getmap 1
}
}
alias wsw.dl.elapsed {
var %d wsw.dia.dl
if (!$dialog(%d)) { .timerwsw.elapsedtime off | return }
elseif ($xdid(%d,10).mark) {
xdid -t %d 10 $duration($calc($ctime - $v1),3)
xdid -C %d 10 +b $wsw.color(bg)
}
}
alias wsw.dia.dl_cb {
;if ($2 != mouse) { echo $color(info) -s */ wsw.dia.dl_cb: $1- }
if ($2 == sclick) && ($3 == 6) {
dialog -c $1
if ($dialog(wsw.dia.main)) { dialog -v $v1 }
.timer 1 0 wsw.refreshlist
}
if ($2 == close) {
if ($dialog(wsw.dia.main)) { .timer 1 0 xdialog -s $v1 }
writeini $wsw.ini settings dlpos $dialog($1).x $dialog($1).y
}
}
alias wsw.getmap {
var %d wsw.dia.dl
if (!$dialog(%d)) {
if ($hget(wsw.temp)) { hfree $v1 }
return
}
if (!$hget(wsw.temp,$1)) {
dialog -c %d
wsw.refreshlist
}
else {
xdid -t %d 8 $1 / $hget(wsw.temp,0).item
xdid -t %d 9 $wsw.decode($hget(wsw.temp,$1))
xdid -v %d 11 0
xdid -C %d 8 +b $wsw.color(bg)
xdid -C %d 9 +b $wsw.color(bg)
sockopen wsw.dlmap. $+ $1 downloads.warsow-race.net 80
sockmark wsw.dlmap. $+ $1
}
}
on *:sockopen:wsw.dlmap.*: {
if ($sockerr) { echo -s dl error | return }
sockwrite -n $sockname GET /warsow/data/racesow/ $+ $hget(wsw.temp,$gettok($sockname,3,46)) HTTP/1.1
sockwrite -n $sockname Host: $sock($sockname).addr
sockwrite -n $sockname Connection: close
sockwrite -n $sockname
}
on *:sockread:wsw.dlmap.*: {
var %t, %d wsw.dia.dl, %nr $gettok($sockname,3,46), %map $wsw.decode($hget(wsw.temp,%nr))
if ($sockerr) || (!$dialog(wsw.dia.dl)) {
if ($exists($xdid(wsw.dia.main,3).mark $+ %map)) && (%map) { .remove $qt($xdid(wsw.dia.main,3).mark $+ %map) }
if ($sockerr) {
hfree wsw.temp
wsw.refreshlist
}
sockclose wsw.dlmap.*
return
}
if ($sock($sockname).mark != $null) {
sockread &file
bwrite $qt($xdid(wsw.dia.main,3).mark $+ %map) -1 &file
xdid -v %d 11 $sock($sockname).rcvd
if ($sock($sockname).rcvd > $gettok($xdid(%d,11).range,2,32)) {
xdid -t wsw.dia.dl 5
sockclose wsw.dlmap.*
wsw.getmap $calc(%nr +1)
} }
else {
sockread -f %t
if (Content-length: * iswm %t) {
var %size $gettok($v2,2,32)
if (!%size) {
write $qt($xdid(wsw.dia.main,3).mark $+ %map) 1
write -d $qt($xdid(wsw.dia.main,3).mark $+ %map)
xdid -t wsw.dia.dl 5
sockclose wsw.dlmap.*
wsw.getmap $calc(%nr +1)
return
}
xdid -r %d 11 0 %size
}
if (!%t) { sockmark $sockname headerSkip }
}
:error
if ($error) && (%map) {
.timerwsw.error 1 1 noop $!input(An error occured. Can't download map: $crlf $+ $qt(%map) $crlf $crlf $+ Try it again or contact Flobse in #Flobse @ Quakenet.,wo,Warsow-Race.net Maps © by Flobse)
if ($exists($xdid(wsw.dia.main,3).mark $+ %map)) && (%map) { .remove $qt($xdid(wsw.dia.main,3).mark $+ %map) | .timerwsw.getmap 1 1 wsw.getmap %nr }
reseterror
sockclose wsw.dlmap.*
return
}
}
;### Settings
alias wsw.dia.settings {
var %d wsw.dia.settings
if ($dialog(%d)) { dialog -v %d }
else {
dialog -dm %d %d $+ _table
if ($dialog(wsw.dia.main)) { xdialog -h wsw.dia.main }
}
}
dialog wsw.dia.settings_table {
title "Warsow-Race.net Maps - Settings © by Flobse"
size $iif($readini($wsw.ini,settings,settingspos),$v1,-1 -1) 520 295
}
on *:dialog:wsw.dia.settings:*:*: {
if ($devent == init) {
dcx Mark $dname wsw.dia.settings_cb
xdialog -b $dname +ty
xdialog -w $dname +a 0 $scriptdirdata\warsow.ico
xdialog -g $dname +b $wsw.color(bg)
xdialog -c $dname 1 image 0 0 520 65 | xdid -i $dname 1 +h $scriptdirdata\racenet.jpg | xdid -J $dname 1 +r hand
xdialog -c $dname 2 panel 0 65 520 45 | xdid -J $dname 2 +r arrow
xdid -C $dname 2 +b $wsw.color(bg)
xdid -c $dname 2 5 image 15 35 490 3 | xdid -i $dname 5 + $scriptdirdata\border.jpg
xdid -c $dname 2 4 text 15 15 100 20 | xdid -t $dname 4 Settings
xdid -C $dname 4 +b $wsw.color(bg) | xdid -C $dname 4 +t $wsw.color(txt) | xdid -f $dname 4 +abi default 12 arial
xdid -c $dname 2 6 text 365 18 50 15 right | xdid -t $dname 6 Settings
xdid -C $dname 6 +b $wsw.color(bg) | xdid -C $dname 6 +t $wsw.color(border) | xdid -f $dname 6 +ab default 9 arial | xdid -J $dname 6 +r hand
xdid -c $dname 2 82 text 420 18 35 15 right | xdid -t $dname 82 Help
xdid -C $dname 82 +b $wsw.color(bg) | xdid -C $dname 82 +t $wsw.color(border) | xdid -f $dname 82 +ab default 9 arial | xdid -J $dname 82 +r hand
xdid -c $dname 2 7 text 465 18 40 15 right | xdid -t $dname 7 About
xdid -C $dname 7 +b $wsw.color(bg) | xdid -C $dname 7 +t $wsw.color(border) | xdid -f $dname 7 +ab default 9 arial | xdid -J $dname 7 +r hand
xdialog -c $dname 3 panel 0 110 520 180 | xdid -J $dname 3 +r arrow
xdid -C $dname 3 +b $wsw.color(bg)
xdid -c $dname 3 8 text 15 5 490 20 | xdid -t $dname 8 Compare maps with folder:
xdid -C $dname 8 +b $wsw.color(bg) | xdid -C $dname 8 +t $wsw.color(txt) | xdid -f $dname 8 +abi default 11 arial
xdid -c $dname 3 9 edit 15 25 430 18 endellipsis nowrap | xdid -ra $dname 9 $wsw.path | xdid -x $dname 9 +b
xdid -C $dname 9 +b $wsw.color(bg) | xdid -C $dname 9 +t $rgb(255,255,255) | xdid -f $dname 9 +ab default 9 arial
xdid -c $dname 3 10 text 455 25 50 20 right | xdid -t $dname 10 Change
xdid -C $dname 10 +b $wsw.color(bg) | xdid -C $dname 10 +t $wsw.color(border) | xdid -f $dname 10 +ab default 9 arial | xdid -J $dname 10 +r hand
xdid -c $dname 3 11 image 15 45 490 2 | xdid -i $dname 11 + $scriptdirdata\border.jpg
xdid -c $dname 3 12 text 15 60 490 20 | xdid -t $dname 12 Download maps in folder:
xdid -C $dname 12 +b $wsw.color(bg) | xdid -C $dname 12 +t $wsw.color(txt) | xdid -f $dname 12 +abi default 11 arial
xdid -c $dname 3 13 edit 15 80 430 18 | xdid -ra $dname 13 $iif($readini($wsw.ini,settings,download),$v1,$wsw.path) | xdid -x $dname 13 +b
xdid -C $dname 13 +b $wsw.color(bg) | xdid -C $dname 13 +t $rgb(255,255,255) | xdid -f $dname 13 +ab default 9 arial
xdid -c $dname 3 14 text 455 80 50 20 right | xdid -t $dname 14 Change
xdid -C $dname 14 +b $wsw.color(bg) | xdid -C $dname 14 +t $wsw.color(border) | xdid -f $dname 14 +ab default 9 arial | xdid -J $dname 14 +r hand
xdid -c $dname 3 16 image 15 100 490 2 | xdid -i $dname 16 + $scriptdirdata\border.jpg
xdid -c $dname 3 70 text 15 115 490 20 | xdid -t $dname 70 Warsow Executable:
xdid -C $dname 70 +b $wsw.color(bg) | xdid -C $dname 70 +t $wsw.color(txt) | xdid -f $dname 70 +abi default 11 arial
xdid -c $dname 3 71 edit 15 135 430 18 | xdid -ra $dname 71 $iif($readini($wsw.ini,settings,exe),$v1) | xdid -x $dname 71 +b
xdid -C $dname 71 +b $wsw.color(bg) | xdid -C $dname 71 +t $rgb(255,255,255) | xdid -f $dname 71 +ab default 9 arial
xdid -c $dname 3 72 text 455 135 50 20 right | xdid -t $dname 72 Change
xdid -C $dname 72 +b $wsw.color(bg) | xdid -C $dname 72 +t $wsw.color(border) | xdid -f $dname 72 +ab default 9 arial | xdid -J $dname 72 +r hand
xdid -c $dname 3 73 image 15 155 490 3 | xdid -i $dname 73 + $scriptdirdata\border.jpg
xdid -c $dname 3 90 text 465 160 40 20 right | xdid -t $dname 90 Close
xdid -C $dname 90 +b $wsw.color(bg) | xdid -C $dname 90 +t $wsw.color(border) | xdid -f $dname 90 +ab default 9 arial | xdid -J $dname 90 +r hand
xdialog -c $dname 17 panel 0 110 520 180 | xdid -J $dname 17 +r arrow
xdid -C $dname 17 +b $wsw.color(bg)
xdid -c $dname 17 18 text 15 5 400 20 | xdid -t $dname 18 Warsow-Race.net Maps v1.0 - Coded by Flobse
xdid -C $dname 18 +b $wsw.color(bg) | xdid -C $dname 18 +t $wsw.color(txt) | xdid -f $dname 18 +abi default 12 arial
xdid -c $dname 17 20 text 425 5 80 20 right | xdid -t $dname 20 July 2009
xdid -C $dname 20 +b $wsw.color(bg) | xdid -C $dname 20 +t $wsw.color(txt) | xdid -f $dname 20 +ab default 9 arial
xdid -c $dname 17 19 text 25 40 105 20 | xdid -t $dname 19 Warsow-Name:
xdid -C $dname 19 +b $wsw.color(bg) | xdid -C $dname 19 +t $wsw.color(txt) | xdid -f $dname 19 +abi default 10 arial
xdid -c $dname 17 21 text 140 40 120 20 | xdid -t $dname 21 Flobse
xdid -C $dname 21 +b $wsw.color(bg) | xdid -C $dname 21 +t $rgb(255,255,255) | xdid -f $dname 21 +ab default 9 arial
xdid -c $dname 17 22 text 25 60 40 20 | xdid -t $dname 22 UIN:
xdid -C $dname 22 +b $wsw.color(bg) | xdid -C $dname 22 +t $wsw.color(txt) | xdid -f $dname 22 +abi default 10 arial
xdid -c $dname 17 23 text 140 60 70 20 | xdid -t $dname 23 152759920
xdid -C $dname 23 +b $wsw.color(bg) | xdid -C $dname 23 +t $wsw.color(border) | xdid -f $dname 23 +ab default 9 arial | xdid -J $dname 23 +r hand
xdid -c $dname 17 24 text 25 80 50 20 | xdid -t $dname 24 E-Mail:
xdid -C $dname 24 +b $wsw.color(bg) | xdid -C $dname 24 +t $wsw.color(txt) | xdid -f $dname 24 +abi default 10 arial
xdid -c $dname 17 25 text 140 80 120 20 | xdid -t $dname 25 Scripter@Flobse.de
xdid -C $dname 25 +b $wsw.color(bg) | xdid -C $dname 25 +t $wsw.color(border) | xdid -f $dname 25 +ab default 9 arial | xdid -J $dname 25 +r hand
xdid -c $dname 17 26 text 25 100 50 20 | xdid -t $dname 26 IRC:
xdid -C $dname 26 +b $wsw.color(bg) | xdid -C $dname 26 +t $wsw.color(txt) | xdid -f $dname 26 +abi default 10 arial
xdid -c $dname 17 27 text 140 100 120 20 | xdid -t $dname 27 #Flobse @ Quakenet
xdid -C $dname 27 +b $wsw.color(bg) | xdid -C $dname 27 +t $wsw.color(border) | xdid -f $dname 27 +ab default 9 arial | xdid -J $dname 27 +r hand
xdid -c $dname 17 85 text 25 120 100 20 | xdid -t $dname 85 Location:
xdid -C $dname 85 +b $wsw.color(bg) | xdid -C $dname 85 +t $wsw.color(txt) | xdid -f $dname 85 +abi default 10 arial
xdid -c $dname 17 86 text 140 120 120 20 | xdid -t $dname 86 Germany
xdid -C $dname 86 +b $wsw.color(bg) | xdid -C $dname 86 +t $wsw.color(txt) | xdid -f $dname 86 +ab default 9 arial
xdid -c $dname 17 60 image 290 100 215 35 | xdid -i $dname 60 +h $scriptdirdata\warsow.jpg | xdid -J $dname 60 +r hand
xdid -c $dname 17 28 image 15 155 490 3 | xdid -i $dname 28 + $scriptdirdata\border.jpg
xdid -c $dname 17 91 text 465 160 40 20 right | xdid -t $dname 91 Close
xdid -C $dname 91 +b $wsw.color(bg) | xdid -C $dname 91 +t $wsw.color(border) | xdid -f $dname 91 +ab default 9 arial | xdid -J $dname 91 +r hand
xdialog -c $dname 100 panel 0 110 520 180 | xdid -J $dname 100 +r arrow
xdid -C $dname 100 +b $wsw.color(bg)
xdid -c $dname 100 104 richedit 15 0 490 150 multi readonly vsbar | xdid -t $dname 104 $scriptdirdata\readme-en.txt | xdid -x $dname 104 +b
xdid -k $dname 104 $wsw.color(txt) | xdid -C $dname 104 +t $wsw.color(txt) | xdid -f $dname 104 +a default 9 arial
xdid -c $dname 100 102 text 15 160 50 20 | xdid -t $dname 102 German
xdid -C $dname 102 +b $wsw.color(bg) | xdid -C $dname 102 +t $wsw.color(border) | xdid -f $dname 102 +ab default 9 arial | xdid -J $dname 102 +r hand
xdid -c $dname 100 103 text 70 160 50 20 | xdid -t $dname 103 English
xdid -C $dname 103 +b $wsw.color(bg) | xdid -C $dname 103 +t $wsw.color(border) | xdid -f $dname 103 +ab default 9 arial | xdid -J $dname 103 +r hand
xdid -c $dname 100 101 image 15 155 490 3 | xdid -i $dname 101 + $scriptdirdata\border.jpg
xdid -c $dname 100 92 text 465 160 40 20 right | xdid -t $dname 92 Close
xdid -C $dname 92 +b $wsw.color(bg) | xdid -C $dname 92 +t $wsw.color(border) | xdid -f $dname 92 +ab default 9 arial | xdid -J $dname 92 +r hand
xdid -h $dname 17,100
}
}
alias wsw.dia.settings_cb {
;if ($2 != mouse) { echo $color(info) -s */ wsw.dia.settings_cb: $1- }
if ($2 == sclick) {
if ($3 == 1) { .url http://www.warsow-race.net }
if ($3 == 7) {
xdid -h $1 3,100 +
xdid -s $1 17 +
xdid -t $1 4 About
xdid -C $1 4 +b $wsw.color(bg)
}
if ($3 == 6) {
xdid -h $1 17,100 +
xdid -s $1 3 +
xdid -t $1 4 Settings
xdid -C $1 4 +b $wsw.color(bg)
}
elseif ($3 == 82) {
xdid -h $1 3,17 +
xdid -s $1 100 +
xdid -t $1 4 Help
xdid -C $1 4 +b $wsw.color(bg)
}
elseif ($3 == 10) {
if ($dcx(BrowseDialog,newstyle title initfolder owner $dialog($1).hwnd edit $chr(9) $xdid($1,9).text $chr(9) Select your Basewsw folder: $crlf $+ Note: Mostly is the working Basewsw folder in $crlf $+ C:\...\Appdata\...)) { xdid -ra $1 9 $v1 }
}
elseif ($3 == 14) {
if ($dcx(BrowseDialog,newstyle title initfolder owner $dialog($1).hwnd edit $chr(9) $xdid($1,13).text $chr(9) Select your Basewsw folder: $crlf $+ Note: Mostly is the working Basewsw folder in $crlf $+ C:\...\Appdata\...)) { xdid -ra $1 13 $v1 }
}
elseif ($3 == 23) { .url http://www.icq.com/people/cmd.php?uin=152759920&action=add }
elseif ($3 == 25) { .run mailto:Scripter@Flobse.de?subject=Warsow-Race.net Maps }
elseif ($3 == 27) {
var %x 1
while ($scon(%x)) {
scon %x
if ($network == Quakenet) && ($chan(0) < 20) { .join #Flobse | return }
inc %x
}
scon -r
server -m irc.quakenet.org -j #Flobse
}
elseif ($3 == 60) { .url http://www.warsow.net }
elseif ($3 == 72) {
if ($dcx(BrowseDialog,newstyle title initfolder files owner $dialog($1).hwnd edit $chr(9) $xdid($1,71).text $chr(9) Select your Warsow.exe:)) { xdid -ra $1 71 $v1 }
}
elseif ($3 isnum 90-92) { dialog -c $1 }
elseif ($3 == 102) { xdid -t $1 104 $scriptdirdata\readme-de.txt }
elseif ($3 == 103) { xdid -t $1 104 $scriptdirdata\readme-en.txt }
}
elseif ($2 == close) {
if ($xdid($1,13).text) { writeini $wsw.ini settings download $v1 $+ $iif($right($v1,1) != \,\) }
if ($xdid($1,9).text) { writeini $wsw.ini settings compare $v1 $+ $iif($right($v1,1) != \,\) }
if ($xdid($1,71).text) { writeini $wsw.ini settings exe $v1 }
if ($dialog(wsw.dia.main)) {
.timer 1 0 xdialog -s wsw.dia.main
xdid -M wsw.dia.main 1 $xdid($1,9).text
wsw.refreshlist
}
else { .timer 1 0 wsw.racenet }
writeini $wsw.ini settings settingspos $dialog($1).x $dialog($1).y
}
}
;### Eof