for #cyberFRAG
Posted by TrioN
Saturday, March 17, 2007
Description: timer that msged a channel every 30 minutes for 30 times and sends the channel information about their server.
<mirc>
on *:text:@timerCHI*:#cyberFRAG:{
if ($2 == on) { .set %serverr the Chicago server | .timerchi 30 1800 queryhlserver 70.42.65.230:27015 | set %queryhl.channel $chan | notice $nick Timer for chicago server is on. Will message $chan every 1800seconds/30 minutes for 30 times }
if ($2 == off) { .timerchi off | notice $nick Timer is off }
}
; HL Server
alias queryhlserver {
if (*.*.*.* !iswm $1) return $null
else {
if (($gettok($1,1,46) !isnum) || ($gettok($1,2,46) !isnum) || ($gettok($1,3,46) !isnum) || ($gettok($gettok($1,4,46),1,58) !isnum)) return $null
else {
if ($chr(58) isin $1) {
var %queryhl.ip = $replace($1,$chr(58),$chr(32))
if (($gettok(%queryhl.ip,2,32) !isnum) || ($gettok(%queryhl.ip,2,32) > 65535)) return $null
}
else {
if ($2) {
if ($2 <= 65535) var %queryhl.ip = $1 $2
else return $null
}
else var %queryhl.ip = $1 27015
}
set %queryhl.beginticks $ticks
.timerqueryhltimeout -o 1 2 queryhltimeout
if ($sock(queryhlserver)) sockclose queryhlserver
sockudp -k queryhlserver %queryhl.ip $str($chr(255),4) $+ TSource Engine Query
sockmark queryhlserver %queryhl.ip
}
}
}
alias queryhltimeout {
unset %queryhl.beginticks
msg %queryhl.channel [^B][^K]0,1[[^K]14,1«[^K]0][^B][^K]9,1•[^K][^K]4,1 Sorry, information has timed out for %serverr [^K]9,1•[^B][^K]0[[^K]14»[^K]0][^O]
sockclose queryhlserver
}
on *:udpread:queryhlserver:{
var %queryhl.ping = $calc($ticks - %queryhl.beginticks)
sockread &query
breplace &query 0 254 32 160
var %queryhl.return = $bvar(&query,1,$bvar(&query,0)).text, %x = 1
if (Counter-Strike: Source isin $gettok(%queryhl.return,4,254)) {
var %queryhl.hostname = $right($gettok(%queryhl.return,1,254),-6)
var %queryhl.map = $gettok(%queryhl.return,2,254)
var %queryhl.gamedir = $gettok(%queryhl.return,3,254)
var %queryhl.mod = $ifmatch
}
else {
var %queryhl.hostname = $gettok(%queryhl.return,2,254)
var %queryhl.map = $gettok(%queryhl.return,3,254)
var %queryhl.gamedir = $gettok(%queryhl.return,4,254)
var %queryhl.mod = $gettok(%queryhl.return,5,254)
}
var %position = $regex(position,%queryhl.hostname,/ $+ %queryhl.mode $+ */g)
if (!%position) var %position = 1
var %positionnumber = $pos(%queryhl.return,$gettok(%queryhl.return,5,254),%position)
var %gamechars = $len($gettok(%queryhl.return,5,254))
var %charcalc = $calc(%positionnumber + %gamechars)
var %players = $mid(%queryhl.return,%charcalc,3)
var %queryhl.players = $iif($asc($mid(%players,2,1)) == 254,0,$ifmatch)
var %queryhl.maxplayers = $asc($right(%players,1))
if (%queryhl.maxplayers == 160) var %queryhl.maxplayers = 32
var %2ndstring = $gettok(%queryhl.return,6,254)
var %queryhl.protocolnumber = $asc($mid(%2ndstring,$iif(%queryhl.players == 0,2,3),1))
if (!%queryhl.protocolnumber) var %queryhl.protocolnumber = 0
var %queryhl.servertype = $iif($mid(%2ndstring,$iif(%queryhl.players == 0,3,4),1) == d,dedicated,listen)
var %pwPos = $calc(%charcalc + $pos(%2ndstring,5,1) + 1)
var %queryhl.serveros = $iif($mid(%2ndstring,$iif(%queryhl.players == 0,4,5),1) == l,linux,windows)
if (%queryhl.mod == Counter-Strike: Source) {
var %sourcestring = $gettok(%queryhl.return,-2,254)
var %queryhl.servertype = $iif($mid(%sourcestring,-2,1) == d,dedicated,listen)
var %queryhl.serveros = $iif($right(%sourcestring,1) == l,linux,windows)
}
var %queryhl.password = $iif($right($mid(%queryhl.return,%pwPos,6),1) == $chr(254),No,Yes)
var %queryhl.secure = $iif($mid($calc($len(%queryhl.return) - 1),1) == $chr(254),No,Yes)
var %queryhl.bots = $iif($asc($right(%queryhl.return,1)) == 254,0,$ifmatch)
var %queryhl.ip = $sock($sockname).mark
tokenize 32 %queryhl.ip
msg %queryhl.channel [^B][^K]0,1[[^K]14«[^K]0][^B][^K]9•[^K]15 %queryhl.hostname $+($1,:,$2) on[^K]9,1[^B] %queryhl.map [^B][^K]15,1for[^B] %queryhl.mod [^B]Players:[^B][^K]9,1 %queryhl.players $+ / $+ %queryhl.maxplayers [^K][^B]Password Protected:[^B][^K]9,1 %queryhl.password [^K]9,1•[^B][^K]0[[^K]14»[^K]0][^O]
unset %queryhl.beginticks
sockclose queryhlserver
.timerqueryhltimeout off
}
<mirc>
<mirc>
on *:text:@timerCHI*:#cyberFRAG:{
if ($2 == on) { .set %serverr the Chicago server | .timerchi 30 1800 queryhlserver 70.42.65.230:27015 | set %queryhl.channel $chan | notice $nick Timer for chicago server is on. Will message $chan every 1800seconds/30 minutes for 30 times }
if ($2 == off) { .timerchi off | notice $nick Timer is off }
}
; HL Server
alias queryhlserver {
if (*.*.*.* !iswm $1) return $null
else {
if (($gettok($1,1,46) !isnum) || ($gettok($1,2,46) !isnum) || ($gettok($1,3,46) !isnum) || ($gettok($gettok($1,4,46),1,58) !isnum)) return $null
else {
if ($chr(58) isin $1) {
var %queryhl.ip = $replace($1,$chr(58),$chr(32))
if (($gettok(%queryhl.ip,2,32) !isnum) || ($gettok(%queryhl.ip,2,32) > 65535)) return $null
}
else {
if ($2) {
if ($2 <= 65535) var %queryhl.ip = $1 $2
else return $null
}
else var %queryhl.ip = $1 27015
}
set %queryhl.beginticks $ticks
.timerqueryhltimeout -o 1 2 queryhltimeout
if ($sock(queryhlserver)) sockclose queryhlserver
sockudp -k queryhlserver %queryhl.ip $str($chr(255),4) $+ TSource Engine Query
sockmark queryhlserver %queryhl.ip
}
}
}
alias queryhltimeout {
unset %queryhl.beginticks
msg %queryhl.channel [^B][^K]0,1[[^K]14,1«[^K]0][^B][^K]9,1•[^K][^K]4,1 Sorry, information has timed out for %serverr [^K]9,1•[^B][^K]0[[^K]14»[^K]0][^O]
sockclose queryhlserver
}
on *:udpread:queryhlserver:{
var %queryhl.ping = $calc($ticks - %queryhl.beginticks)
sockread &query
breplace &query 0 254 32 160
var %queryhl.return = $bvar(&query,1,$bvar(&query,0)).text, %x = 1
if (Counter-Strike: Source isin $gettok(%queryhl.return,4,254)) {
var %queryhl.hostname = $right($gettok(%queryhl.return,1,254),-6)
var %queryhl.map = $gettok(%queryhl.return,2,254)
var %queryhl.gamedir = $gettok(%queryhl.return,3,254)
var %queryhl.mod = $ifmatch
}
else {
var %queryhl.hostname = $gettok(%queryhl.return,2,254)
var %queryhl.map = $gettok(%queryhl.return,3,254)
var %queryhl.gamedir = $gettok(%queryhl.return,4,254)
var %queryhl.mod = $gettok(%queryhl.return,5,254)
}
var %position = $regex(position,%queryhl.hostname,/ $+ %queryhl.mode $+ */g)
if (!%position) var %position = 1
var %positionnumber = $pos(%queryhl.return,$gettok(%queryhl.return,5,254),%position)
var %gamechars = $len($gettok(%queryhl.return,5,254))
var %charcalc = $calc(%positionnumber + %gamechars)
var %players = $mid(%queryhl.return,%charcalc,3)
var %queryhl.players = $iif($asc($mid(%players,2,1)) == 254,0,$ifmatch)
var %queryhl.maxplayers = $asc($right(%players,1))
if (%queryhl.maxplayers == 160) var %queryhl.maxplayers = 32
var %2ndstring = $gettok(%queryhl.return,6,254)
var %queryhl.protocolnumber = $asc($mid(%2ndstring,$iif(%queryhl.players == 0,2,3),1))
if (!%queryhl.protocolnumber) var %queryhl.protocolnumber = 0
var %queryhl.servertype = $iif($mid(%2ndstring,$iif(%queryhl.players == 0,3,4),1) == d,dedicated,listen)
var %pwPos = $calc(%charcalc + $pos(%2ndstring,5,1) + 1)
var %queryhl.serveros = $iif($mid(%2ndstring,$iif(%queryhl.players == 0,4,5),1) == l,linux,windows)
if (%queryhl.mod == Counter-Strike: Source) {
var %sourcestring = $gettok(%queryhl.return,-2,254)
var %queryhl.servertype = $iif($mid(%sourcestring,-2,1) == d,dedicated,listen)
var %queryhl.serveros = $iif($right(%sourcestring,1) == l,linux,windows)
}
var %queryhl.password = $iif($right($mid(%queryhl.return,%pwPos,6),1) == $chr(254),No,Yes)
var %queryhl.secure = $iif($mid($calc($len(%queryhl.return) - 1),1) == $chr(254),No,Yes)
var %queryhl.bots = $iif($asc($right(%queryhl.return,1)) == 254,0,$ifmatch)
var %queryhl.ip = $sock($sockname).mark
tokenize 32 %queryhl.ip
msg %queryhl.channel [^B][^K]0,1[[^K]14«[^K]0][^B][^K]9•[^K]15 %queryhl.hostname $+($1,:,$2) on[^K]9,1[^B] %queryhl.map [^B][^K]15,1for[^B] %queryhl.mod [^B]Players:[^B][^K]9,1 %queryhl.players $+ / $+ %queryhl.maxplayers [^K][^B]Password Protected:[^B][^K]9,1 %queryhl.password [^K]9,1•[^B][^K]0[[^K]14»[^K]0][^O]
unset %queryhl.beginticks
sockclose queryhlserver
.timerqueryhltimeout off
}
<mirc>