on *:start:{ set %binds $+(%botnick,_binds) set %botfile %binds $+ .db set %trig @ set %skin 2 if (!$hget(%binds)) .hmake %binds if ($exists(%botfile)) .hload -m %binds %botfile nick GlobalBot server irc.gamesurge.net -j #GlobalBot } on *:connect:{ if ($network == GameSurge) { mode $me +x | as auth name pass } } ;$skin(,,) alias skin { if ($1 == 1) { return 15,1[14,1«0,1»15,1 9 $+ $2 0,1«14,1»15,1]: 4,1 $+ $3- $+  } elseif ($1 == 2) { return  } elseif ($1 == 3) { return 7,1 $+ $2- $+  } else return $3- } on *!:join:#:{ if (%greeting) notice $nick $skin(%skin,Greeting,$($v1,2)) } on *:text:*:#:{ var %servers = @pub1 @pub2 @pub3 @pub4 @pub5 @pub6 @pub7 @pub8 @pub9 if ($1- == %trig $+ servers) { var %text = $skin(%skin,Servers,%servers) msg $chan %text } elseif ($1- == %trig $+ pub1) { hlserver IP PORT $chan Pub1 } elseif ($1- == %trig $+ pub2) { hlserver IP PORT $chan Pub2 } elseif ($1- == %trig $+ pub3) { hlserver IP PORT $chan Pub3} elseif ($1- == %trig $+ pub4) { hlserver IP PORT $chan Pub4 } elseif ($1- == %trig $+ pub5) { hlserver IP PORT $chan Pub5 } elseif ($1- == %trig $+ pub6) { hlserver IP PORT $chan Pub6 } elseif ($1- == %trig $+ pub7) { hlserver IP PORT $chan Pub7 } elseif ($1- == %trig $+ pub8) { hlserver IP PORT $chan Pub8 } elseif ($1- == %trig $+ pub9) { hlserver IP PORT $chan Pub9 } elseif ($1 == %trig $+ bind) { if ($nick !isop $chan) { notice $nick $skin(%skin,Error,You lack access to that command.) | halt } elseif (!$3) || ($4) { var %text = Invalid syntax, use like this $+(%trigger,bind) var %text = $skin(%skin,Bind,%text) notice $nick %text } elseif ($hget(%binds,$2)) { var %text = $skin(%skin,Bind,Sorry that bind already exists.) notice $nick %text } elseif ($regex($2,W)) { var %text = $skin(%skin,Bind,Please use valid characters for bind name.) notice $nick %text } else { if ($regex($2,^pub\d)) { var %text = $skin(%skin,Bind,You cannot bind to that.) notice $nick %text halt } hadd -m %binds $2 $3- var %text = $skin(%skin,Bind,Successfully bound $qt($2) to $qt($3-)) notice $nick %text .hsave %binds %botfile } } elseif ($1 == %trig $+ unbind) { if ($nick !isop $chan) { notice $nick $skin(%skin,Error,You lack access to that command.) | halt } elseif (!$2) || ($3) { var %text = Invalid syntax, use like this $+(%trigger,unbind) var %text = $skin(%skin,Unbind,%text) notice $nick %text } elseif (!$hget(%binds,$2)) { notice $nick $skin(%skin,Unbind,Sorry no bind by that name exists.) } else { if ($regex($2,^pub\d)) { notice $nick $skin(%skin,Unbind,You cannot unbind to that.) | halt } .hdel -sw %binds $2 notice $nick $skin(%skin,Unbind,Successfully unbound $qt($2)) .hsave %binds %botfile if ($lines(%botfile < 1)) { .remove %botfile } } } elseif ($1- == %trig $+ commands) || ($1- == %trig $+ help) { var %static-cmds @servers %servers var %text = Feel free to play in our pubs by #GlobalFrag if ($binds) { msg $chan $skin(%skin,Commands,$iif($v1,$v1 - %static-cmds,%static-cmds)) } else { msg $chan $skin(%skin,Commands,%static-cmds) } msg $chan $skin(3,%text) } elseif ($1 == %trig $+ set) { if ($nick !isop $chan) { notice $nick $skin(%skin,Error,You lack access to that command.) | halt } elseif (!$3) { var %text = Invalid syntax, use like this $+(%trigger,set) var %text = $skin(%skin,Set,%text) notice $nick %text } else { hadd -m %binds $2 $3- .hsave %binds %botfile if ($2 == Greeting) { if ($3 == *) unset greeting else set %greeting $1- notice $nick $skin(%skin,Set,Greeting has been set.) } } } ;Check if persons command is a bind. elseif $hget(%binds,$remove($1,%trig)) && (!$2) { var %text = $skin(%skin,$remove($1,@),$hget(%binds,$remove($1,%trig))) msg $chan %text return } } alias hlserver { set %hlserver.ip $$1 set %hlserver.port $$2 set %hlserver.signal $$2 set %hlserver.chan $$3 set %hlserver.cmd $$4 set %hlserver.spitchan $iif($3,$3,$active) if ($numtok($$1,58) == 1) { tokenize 32 %hlserver.ip $+ :27015 %hlserver.spitchan } sockudp -k hlchanserver $gettok($$1,1,58) $gettok($$1,2,58) ÿÿÿÿTSource Engine Query set %hlserver.ping $ticks .timertimeout 1 3 timeout } on *:udpread:hlchanserver:{ .timertimeout off var %hlserver.ping = $calc($ticks - %hlserver.ping) sockread &temp sockclose hlchanserver if ($bvar(&temp,5) == 73) { var %hlserver.source 1 var %i = 7 } elseif ($bvar(&temp,5) == 109) { var %i = $calc($bfind(&temp,1,0) + 1) } var %hlserver.port = %hlserver.port var %hlserver.name = $bvar(&temp,%i,100).text inc %i $len(%hlserver.name) inc %i var %hlserver.map = $bvar(&temp,%i,100).text inc %i $len(%hlserver.map) inc %i var %hlserver.shortmod = $bvar(&temp,%i,100).text inc %i $len(%hlserver.shortmod) inc %i var %hlserver.mod = $bvar(&temp,%i,100).text inc %i $len(%hlserver.mod) inc %i $iif(%hlserver.source == 1,3,1) var %hlserver.numplayers = $bvar(&temp,%i,1) inc %i var %hlserver.maxplayers = $bvar(&temp,%i,1) if (%hlserver.source == 1) { var %hlserver.bots = $bvar(&temp,$calc(%i + 1),1) } inc %i 4 var %hlserver.password = $bvar(&temp,%i,1) inc %i $len(%hlserver.password) if (%hlserver.source == 1) { inc %i } else { inc %i 2 var %i = $calc($bfind(&temp,%i,0) + 1) var %i = $calc($bfind(&temp,%i,0) + 1) var %i = $calc($bfind(&temp,%i,0) + 11) } var %hlserver.vac = $bvar(&temp,%i,1) if (%hlserver.source != 1) { var %hlserver.bots = $bvar(&temp,$calc(%i + 1),1) } var %text = NAME: %hlserver.name $chr(124) IP: $+(%hlserver.ip,:,%hlserver.port) $chr(124) MAP: %hlserver.map $chr(124) PLAYERS: $calc(%hlserver.numplayers - %hlserver.bots) $+ $iif(%hlserver.bots != 0,( $+ %hlserver.numplayers $+ )) $+ / $+ %hlserver.maxplayers $iif(%hlserver.vac == 1,$chr(124) SECURE: VAC)) msg %hlserver.chan $skin(%skin,%hlserver.cmd,%text) if (%hlserver.signal) { .signal hlserver %hlserver.signal } unset %hlserver.* } alias timeout { sockclose hlchanserver msg %hlserver.chan $skin(%skin,%hlserver.cmd,Not Responding) .signal hlserver %hlserver.signal unset %hlserver.* } alias binds { var %x 1 while $hfind(%binds,*,%x,w) { var %mybinds = %mybinds %trig $+ $v1 inc %x } return %mybinds }