; Knight Online (USKO) Server Status Checker By SCouNDReL
; thx to www.codehex.net
; Work with /knight command
alias -l sok { sockwrite -n $sockname $1- }
alias knight { close -@ @knight | kowin | unset %sjn.rdata | unset %sjn.data | unset %sjn.install | inc %sjn.install | sockclose knight* | sockopen $+(knight,$ticks) www.codehex.net 80 }
on *:SockOpen:knight*:{
if ($sockerr) { if ($window(@knight)) { drawrect -fr @knight $rgb(231,209,162) 17 20 643 300 17 | drawtext -r @knight 1 Tahoma 15 30 $calc(32 * 20) Error! Disconnected Try Again Later... } | echo -a deneme }
sok GET /uskoserver/ HTTP/1.1
sok host: www.codehex.net
sok $crlf
}
on *:SockRead:knight*:{
var %a
sockread %a
if (/tr isin %a) {
if (Login isin %sjn.rdata) { inc %sjn.install | writetowin Login & Game Update Server ¿ $remove($gettok($gettok(%sjn.rdata,15,32),3,$asc(>)),<,>,/i,/td,/font) ¿ $gettok($gettok($remove($gettok(%sjn.rdata,20,32),<i>),2,$asc(>)),1,$asc(<)) ¿ $replace($remove($gettok($gettok(%sjn.rdata,15,32),3,$asc(>)),<,>,/i,/td,/font),Online,$rgb(0,98,0),Offline,$rgb(255,0,0),InActive,$rgb(255,0,255),Error,$rgb(255,255,0)) }
if (XTrap isin %sjn.rdata) { inc %sjn.install | writetowin $gettok($gettok($gettok(%sjn.rdata,6-8,32),2,$asc(>)),1,$asc(<)) ¿ $remove($gettok($gettok(%sjn.rdata,13,32),3,$asc(>)),<,>,/i,/td,/font) ¿ $gettok($gettok($remove($gettok(%sjn.rdata,18,32),<i>),2,$asc(>)),1,$asc(<)) ¿ $replace($remove($gettok($gettok(%sjn.rdata,13,32),3,$asc(>)),<,>,/i,/td,/font),Online,$rgb(0,98,0),Offline,$rgb(255,0,0),InActive,$rgb(255,0,255),Error,$rgb(255,255,0)) }
if ($istok(Ares.Beramus.Dies.Xigenon.Manes.Edana.Cypher.Olympia.Patos,$gettok($gettok(%sjn.rdata,6,32),2,$asc(>)),46)) { inc %sjn.install | writetowin $gettok($gettok(%sjn.rdata,6,32),2,$asc(>)) $gettok($gettok(%sjn.rdata,7,32),1,$asc(<)) ¿ $remove($gettok($gettok(%sjn.rdata,12,32),3,$asc(>)),<,>,/i,/td,/font) ¿ $gettok($gettok($remove($gettok(%sjn.rdata,17,32),<i>),2,$asc(>)),1,$asc(<)) ¿ $replace($remove($gettok($gettok(%sjn.rdata,12,32),3,$asc(>)),<,>,/i,/td,/font),Online,$rgb(0,98,0),Offline,$rgb(255,0,0),InActive,$rgb(255,0,255),Error,$rgb(255,255,0)) }
if (Patos 3 isin %sjn.rdata) { if ($window(@knight)) { drawrect -fr @knight $rgb(231,209,162) 17 20 643 300 17 | drawtext -r @knight 1 Tahoma 15 30 $calc(32 * 20) Done. } }
unset %sjn.rdata
unset %sjn.data
}
if (%sjn.data) && (< isin %a) { if ($calc($len(%sjn.rdata) + $len(%a)) < 900) { set %sjn.rdata $+(%sjn.rdata,%a) } }
if (<tr isin %a) { set %sjn.data Ok }
}
alias kowin {
window -pxk[1] @knight
drawrect -fr @knight $rgb(182,114,51) 99999 1 1 99999 99999
drawrect -fr @knight $rgb(231,209,162) 401 10 20 401 641
drawrect -fr @knight 1 1 10 20 1 640
drawrect -fr @knight 1 1 250 20 1 620
drawrect -fr @knight 1 1 330 20 1 620
drawrect -fr @knight 1 1 410 20 1 640
var %i 1
while %i <= 33 {
drawrect -fr @knight 1 1 10 $calc(%i * 20) 400 1
inc %i
}
drawtext -r @knight 1 Tahoma 15 30 $calc(32 * 20) Loading...
drawtext -ro @knight 1 Tahoma 15 30 20 Server Name
drawtext -ro @knight 1 Tahoma 15 260 20 Status
drawtext -ro @knight 1 Tahoma 15 340 20 Latency
}
alias writetowin {
if ($window(@knight)) {
drawtext -r @knight 1 Tahoma 15 30 $calc(%sjn.install * 20) $gettok($1-,1,191)
drawtext -r @knight $gettok($1-,4,191) Tahoma 15 260 $calc(%sjn.install * 20) $gettok($1-,2,191)
drawtext -r @knight $iif(Error isin $gettok($1-,3,191),$rgb(255,0,0),1) Tahoma 15 340 $calc(%sjn.install * 20) $gettok($1-,3,191)
}
}
menu @knight {
Refresh:knight
-
Close:close -@ @knight
}