alias findscrim { JOIN #calscrim JOIN #findscrim ECHO Finding scrim. TIMERcalscrim 0 30 MSG #calscrim 4,0[1 DGK 4·1 5v5 4·1 our 4·1 chi 4·1 de_any 4·1 CALm14/1p+ 4] TIMERfindscrim 0 30 MSG #findscrim 4,0[1 DGK 4·1 5v5 4·1 our 4·1 chi 4·1 de_any 4·1 CALm14/1p+ 4] } alias foundscrim { PART #calscrim PART #findscrim ECHO Scrim found. TIMERcalscrim off TIMERfindscrim off } alias findringer { JOIN #findringer ECHO Finding ringer. TIMERfindringer 0 60 MSG #invitecs 4,0[1 DGK 4·1 Need 1 chi CALm14/1p+ 4] TIMERteamDGK 0 120 MSG #teamDGK 4,0[1 DGK 4·1 Need 1 chi CALm14/1p+ 4] } alias foundringer { PART #findringer ECHO Scrim found. TIMERfindringer off TIMERteamDGK off } ; private DGK server bot ; by John "jayKAY" Kater @ #teamDGK (jayKAY20o6@yahoo.com) & (f1sh@live.com) ; ; - Allows users (ones with access) in-game to do RCON commands without using an RCON password ; -> Users with access have their steamids on seperate lines in rconaccess.txt where this file is. ; - Live server logs are displayed in the window @cs_bot on your mIRC. ; -> You can also issue RCON commands in @cs_bot by typing /rcon cmdhere ; Can't see logs? - "It doesn't work!" ; -> Either nothing is happening in the server, you have the wrong RCON password, ; or you need to open port 7131 UDP on your firewall/router. on *:load:{ if ($exists($scriptdirrconaccess.txt)) write -c $scriptdirrconaccess.txt write $scriptdirrconaccess.txt echo -a Counter-Strike Server Bot (v1.7) echo -a $str($chr(160),2) by bunkahumpa (bobby921@gmail.com) echo -a $chr(160) echo -a - Allows users (ones with access) in-game to do RCON commands without using an RCON password echo -a $str($chr(160),5) -> Users with access have their steamids on seperate lines in rconaccess.txt where this file is. echo -a - Live server logs are displayed in the window @cs_bot on your mIRC. echo -a $str($chr(160),5) -> You can also issue RCON commands in @cs_bot by typing /rcon cmdhere echo -a $chr(160) echo -a Can't see logs? - "It doesn't work!" echo -a $str($chr(160),5) -> Either nothing is happening in the server, you have the wrong RCON password, echo -a $str($chr(160),8) or you need to open port 7131 UDP on your firewall/router. echo -a $chr(160) echo -a $chr(160) echo -a To get started type /csbot or right-click and select "CS Server Bot" if (!$dialog(cs_bot)) dialog -m cs_bot cs_bot else dialog -v cs_bot } on *:unload:{ sockclose rconcmd sockclose csbot .timerchallenge off if ($window(@cs_bot)) window -c @cs_bot unset %csbot.* } menu status,channel,query { CS Server Bot .Open CS Server Bot:csbot .- .Saved Server Information:{ if (!$dialog(cs_bot)) dialog -m cs_bot cs_bot else dialog -v cs_bot } .RCON SteamID Access List:if ($exists($scriptdirrconaccess.txt)) run $scriptdirrconaccess.txt } dialog cs_bot { title "Server Information" size -1 -1 98 49 option dbu text "IP:", 1, 3 2 9 8 text "Port:", 2, 3 14 14 8 text "RCON:", 3, 3 26 18 8 edit %csbot.ip, 4, 33 1 63 10, autohs edit %csbot.port, 5, 33 13 29 10 edit %csbot.rcon, 6, 33 25 63 10, pass autohs button "Cancel", 7, 14 38 37 10, cancel button "Save", 8, 59 38 37 10 } on *:dialog:cs_bot:sclick:8:{ set %csbot.ip $did(cs_bot,4) set %csbot.port $did(cs_bot,5) set %csbot.rcon $did(cs_bot,6) dialog -x cs_bot } menu @cs_bot { Saved Server Information:{ if (!$dialog(cs_bot)) dialog -m cs_bot cs_bot else dialog -v cs_bot } RCON SteamID Access List:if ($exists($scriptdirrconaccess.txt)) run $scriptdirrconaccess.txt - Get RCON Status:rcon status - Restart Round (1s):rcon sv_restartround 1 Go live on 3 (lo3):liveonthree - Restart CS Server Bot:{ window -c @cs_bot csbot } Close CS Server Bot:{ sockclose rconcmd sockclose csbot .timerchallenge off window -c @cs_bot } - Clear Window:clear @cs_bot } alias csbot { if (!$window(@cs_bot)) { window -e @cs_bot if ($sock(rconcmd)) sockclose rconcmd if ($sock(csbot)) sockclose csbot if ((!%csbot.ip) || (!%csbot.port) || (!%csbot.rcon)) { echo @cs_bot Some required server information is missing. Please correct it in the saved server information dialog. if (!$dialog(cs_bot)) dialog -m cs_bot cs_bot else dialog -v cs_bot } else { if ($gettok($ipverify($+(%csbot.ip,:,%csbot.port)),1,32) == Valid) { set %csbot.first 1 challengetimer .timertimeout -o 1 10 timeout echo @cs_bot Assuming your RCON password is correct for the server you can issue rcon commands by typing /rcon cmdhere echo @cs_bot $chr(160) echo @cs_bot $asctime([HH:nn:ss]) --> Starting CS Server Bot on $+(%csbot.ip,:,%csbot.port,...) echo @cs_bot $chr(160) } else { echo @cs_bot That is not a correct IP/Port. Please correct it in the saved server information dialog. if (!$dialog(cs_bot)) dialog -m cs_bot cs_bot else dialog -v cs_bot } } } else window -a @cs_bot } alias -l ipverify { var %regex = /((?:\d{1,3}\.){3}\d{1,3})((?::|\s)\d{1,5})*$/ if ($regex(ip,$1,%regex)) { var %x = 1 while (%x <= $gettok($regml(ip,1),0,46)) { if ($gettok($regml(ip,1),%x,46) > 255) return Invalid inc %x } if ($prop == ip) return Valid - $regml(ip,1) if ($prop == port) { if ($regml(ip,2)) { if ($right($ifmatch,-1) <= 65535) return Valid - $ifmatch else return Invalid } } else return Valid - $iif($regml(ip,2),$regml(ip,1) $+ $regml(ip,2),$regml(ip,1)) } else return Invalid } alias -l timeout { if (!$sock(csbot).rcvd) { if ($window(@cs_bot)) { echo @cs_bot $asctime([HH:nn:ss]) --> Server timed out! Is your connection or the server down? echo @cs_bot $asctime([HH:nn:ss]) --> Close this window and try again later. } .timerchallenge off if ($sock(csbot)) sockclose csbot if ($sock(rconcmd)) sockclose rconcmd } } on *:exit:{ nologs %csbot.ip %csbot.port %csbot.challenge %csbot.rcon sockclose rconcmd sockclose csbot .timerchallenge off } on *:close:@cs_bot:{ nologs %csbot.ip %csbot.port %csbot.challenge %csbot.rcon sockclose rconcmd sockclose csbot .timerchallenge off } alias -l challengetimer { if ($timer(challenge)) .timerchallenge off else dochallenge .timerchallenge -o 0 300 dochallenge } alias -l dochallenge { challenge %csbot.ip %csbot.port .timerlogs 1 2 logs %csbot.ip %csbot.port %csbot.challenge %csbot.rcon } alias -l execcal { rcon exec cal.cfg } alias -l execserver { rcon exec server.cfg } alias -l liveonthree { execcal rcon say Live on three restarts .timerRS1 2 1 rcon sv_restartround 1 .timerRS3 1 4 rcon sv_restartround 3 .timerLIVE 1 8 rcon say LIVE! GL HF ; if you want to display each team's scores at the end of each round remove the semicolon below this comment ; it will keep the score for 15 rounds and then when teams switch it will switch the scores to stay accurate ; for the next 15 rounds. .timersetlive 1 8 csbotlive } alias -l csbotlive { set %csbot.live 1 if ($calc(%csbot.ct + %csbot.t) != 15) { set %csbot.ct 0 set %csbot.t 0 } else { var %t = %csbot.t, %ct = %csbot.ct set %csbot.t %ct set %csbot.ct %t rcon say CT: %csbot.ct T: %csbot.t } } alias -l challenge { if ($sock(csbot)) sockclose csbot sockudp -kn csbot 7131 $1 $2 ÿÿÿÿchallenge rcon } alias -l logs { var %ip = $1, %port = $2, %challenge = $3, %password = $4- ; remove your address from the server in case it's already there (prevents double sending) sockudp -kn csbot %ip %port ÿÿÿÿrcon %challenge " $+ %password $+ " logaddress_del $ip 7131 ; enable server log stuff sockudp -kn rconcmd %ip %port ÿÿÿÿrcon %challenge " $+ %password $+ " mp_logmessages 1 sockudp -kn rconcmd %ip %port ÿÿÿÿrcon %challenge " $+ %password $+ " mp_logfile 1 ; enable logging sockudp -kn rconcmd %ip %port ÿÿÿÿrcon %challenge " $+ %password $+ " log on ; set log address sockudp -kn csbot 7131 %ip %port ÿÿÿÿrcon %challenge " $+ %password $+ " logaddress_add $ip 7131 } alias -l nologs { var %ip = $1, %port = $2, %challenge = $3, %password = $4- sockudp -kn csbot %ip %port ÿÿÿÿrcon %challenge " $+ %password $+ " logaddress_del $ip 7131 sockclose rconcmd sockclose csbot .timerchallenge off } alias rcon { sockudp -kn rconcmd %csbot.ip %csbot.port ÿÿÿÿrcon %csbot.challenge " $+ %csbot.rcon $+ " $1- } on *:udpread:rconcmd:{ if ($sockerr > 0) return :nextread var %temp | sockread -f %temp if ($sockbr == 0) return if (%temp == $null) goto nextread else { if (ÿÿÿÿl isin %temp) var %temp = $right(%temp,-5) if (ÿÿÿÿ isin %temp) var %temp = $right(%temp,-4) if (%temp == ") var %temp = $null if (Log file isin %temp) var %temp = $null if (Server logging data to file isin %temp) var %temp = $null if (Logging disabled isin %temp) var %temp = $null if (Unable to open logfiles under isin %temp) var %temp = $null if (Bad challenge. isin %temp) var %temp = $null if (Server cvar isin %temp) var %temp = $gettok(%temp,7-,32) if (Server say isin %temp) var %temp = Server say $gettok(%temp,7-,32) if (%temp) { if ($window(@cs_bot)) aline -p @cs_bot $asctime([HH:nn:ss]) RCON: %temp } } goto nextread } on *:udpread:csbot:{ if ($sockerr > 0) return :nextread var %data | sockread -f %data if ($sockbr == 0) return if (%data == $null) goto nextread else { if ($sock(csbot).saddr != %csbot.ip) return if (%csbot.first) { echo @cs_bot $asctime([HH:nn:ss]) --> CS Server Bot started on $+(%csbot.ip,:,%csbot.port) echo @cs_bot $chr(160) .timertimeout off unset %csbot.first rcon status } if (*"*from*"*"* iswm %data) var %data = $null if ($gettok(%data,1,32) == ÿÿÿÿchallenge) { set %csbot.challenge $gettok(%data,3,32) logs %csbot.ip %csbot.port %csbot.challenge %csbot.rcon var %data = $null goto nextread } if (Bad challenge. isin %data) var %data = $null if (Couldn't find address in list isin %data) var %data = $null if (No addresses added yet isin %data) var %data = $null if (ÿÿÿÿldeleting: isin %data) var %data = $null if (current: isin %data) var %data = $null if (%data == ÿÿÿÿlBad rcon_password.) { var %data = $null sockclose csbot sockclose rconcmd .timerchallenge off if (%csbot.first) unset %csbot.first if ($window(@cs_bot)) aline -p @cs_bot $asctime([HH:nn:ss]) --> Bad RCON Password. } if ($gettok(%data,1,32) == ÿÿÿÿlog) var %data = $gettok(%data,6-,32) if (logaddress isin $gettok(%data,1,32)) var %data = $null if ($gettok(%data,1,32) == L) { if ($window(cs_bot)) aline -p @cs_bot $asctime([HH:nn:ss]) %data var %data = $null } if ($gettok(%data,1,32) == $+($chr(91),ADMIN,$chr(93))) var %data = $null if ($gettok(%data,1,32) == $+($chr(91),META,$chr(93))) var %data = $null if ($gettok(%data,1,32) == $+($chr(91),STATSME,$chr(93))) var %data = $null if ($gettok(%data,1,32) == ERROR:) var %data = $null if ($regex(%data,/"(.*?)(?:<[^>]+>){2}<([^>]*)>"/g)) { if ($regex(playernumber,%data,/"(.*?)(?:<[^>]+>){1}<([^>]*)>"/g)) var %playernumber = $left($gettok($regml(playernumber,1),-1,60),-1) var %csbot.player = $regml(1) var %csbot.team = $regml(2) if ($regex(logged,%data,/".*?<\d+><\w+>"/g)) { var %steamid = $regml(logged,1) var %say = $gettok(%data,3,34) if ($left(%say,1) == -) { var %x = 1 while (%x <= $lines($scriptdirrconaccess.txt)) { if (%steamid == $read($scriptdirrconaccess.txt,%x)) { if (%say == -commands) { rcon say -rs, -cal, -cevo, -server, -lo3, -notlive, -score, -say rcon say -findringer/-foundringer, -findscrim/-foundscrim, -pmcs/-pmvent rcon say -map , -time, -alltalk, $+($chr(91),1,$chr(124),0,$chr(93)) $+ , -footsteps $+($chr(91),1,$chr(124),0,$chr(93)) rcon say -info, -steamids, -kick <#userID/name>, -kickt, -kickct rcon say -pregame, -voice, -money } if (%say == -time) { if ($asctime(z) == -4) var %timezone = atlantic elseif ($asctime(z) == -5) var %timezone = eastern elseif ($asctime(z) == -6) var %timezone = central elseif ($asctime(z) == -7) var %timezone = mountain elseif ($asctime(z) == -8) var %timezone = pacific else var %timezone = other ( $+ $asctime(z) GMT) rcon say $asctime(dddd $+ $chr(44) mmmm doo $+ $chr(44) yyyy) - $asctime(h:nn:ssTT) %timezone time } if (%say == -findringer) { findringer rcon say Joining #findringer rcon say Timer started in #teamDGK rcon say Finding Ringer. } if (%say == -foundringer) { foundringer rcon say Parting #findringer rcon say Timer stopped in #teamDGK rcon say Found Ringer. } if (%say == -pm * iswm %say) msg $gettok(%say,2-,32) connect 216.246.49.50:27015;password scrimdgk if (%say == -alltalk 1) rcon sv_alltalk 1 if (%say == -alltalk 0) rcon sv_alltalk 0 if (%say == -findscrim) { findscrim rcon say Joining #findscrim rcon say Joining #calscrim rcon say Finding Scrim. } if (%say == -foundscrim) { foundscrim rcon say Parting #findscrim rcon say Parting #calscrim rcon say Found Scrim. } if (%say == -footsteps 1) rcon mp_footsteps 1 if (%say == -footsteps 0) rcon mp_footsteps 0 if (-money * iswm %say) rcon mp_startmoney $gettok(%say,2-,32) if (%say == -rs) rcon sv_restartround 1 if (%say == -cal) execcal if (%say == -cevo) rcon exec cevo.cfg if (%say == -voice) { rcon sv_voicecodec voice_speex rcon sv_voicequality 5 } if (%say == -server) execserver if (%say == -lo3) liveonthree if (%say == -steamids) steamiddotcom if (%say == -pregame) { rcon mp_maxrounds 0 rcon mp_startmoney 16000 rcon mp_footsteps 0 rcon mp_roundtime 60 rcon mp_freezetime 0 rcon sv_restartround 1 rcon say Pregame config executed } if (%say == -notlive) { if (%csbot.live) { unset %csbot.live unset %csbot.ct unset %csbot.t rcon say Not Live! Score - CT: 0 T: 0 } } if (%say == -score) { if (%csbot.live) rcon say CT: $iif(!%csbot.ct,0,%csbot.ct) T: $iif(!%csbot.t,0,%csbot.t) } if (%say == -info) { rcon say Digital Gaming Kings - #teamDGK - Idle and Support } if (-map * iswm %say) { rcon say Attempting to change map to $gettok(%say,2,32) $+ ... rcon changelevel $gettok(%say,2,32) } if (-say * iswm %say) rcon say $gettok(%say,2-,32) if (%say == -kickt) { var %y = 1 while (%y <= $gettok(%csbot.ts,0,255)) { rcon say Ts Kicked rcon kick $+($chr(35),$gettok(%csbot.ts,%y,255)) inc %y } unset %csbot.ts } if (%say == -kickct) { var %y = 1 while (%y <= $gettok(%csbot.cts,0,255)) { rcon say CTs Kicked rcon kick $+($chr(35),$gettok(%csbot.cts,%y,255)) inc %y } unset %csbot.cts } if (-kick * iswm %say) { rcon kick $+(",$gettok(%say,2-,32),") } } inc %x } } } if (($regml(3)) && ($regml(4))) { var %csbot.player2 = $regml(3) var %csbot.team2 = $regml(4) if (%csbot.team2 == CT) { var %csbot.player2 = 12 $+ %csbot.player2 var %csbot.team2 = 12CT } if (%csbot.team2 == TERRORIST) { var %csbot.player2 = 04 $+ %csbot.player2 var %csbot.team2 = 4T } } if (%csbot.team == CT) { var %csbot.player = 12 $+ %csbot.player var %csbot.team = 12CT } if (%csbot.team == TERRORIST) { var %csbot.player = 04 $+ %csbot.player var %csbot.team = 4T } else { var %csbot.player = 03 $+ %csbot.player var %csbot.team = 3 $+ %csbot.team } } } if (say_team isin $gettok(%data,2,34)) var %data = $iif($gettok(%data,$gettok(%data,0,32),32) == (dead),*DEAD*) %csbot.player $+ ( $+ %csbot.team $+ ) 3says (team): $gettok(%data,3,34) elseif (say isin $gettok(%data,2,34)) var %data = $iif($gettok(%data,$gettok(%data,0,32),32) == (dead),*DEAD*) %csbot.player $+ ( $+ %csbot.team $+ ) 3says: $gettok(%data,3,34) else { if (Rcon: "rcon* iswm %data) var %data = $null if (%data == ") var %data = $null if (Server cvar* iswm %data) var %data = $null if (Server say "* iswm %data) var %data = 3Server say: $iif($right($gettok(%data,3-,32),1) != ",$gettok(%data,3-,32) $+ ",$gettok(%data,3-,32)) if (Log file* iswm %data) var %data = $null if (*connected, address "*:*" iswm %data) var %data = %csbot.player 3connected if (*STEAM USERID validated iswm %data) var %data = $null if (*entered the game iswm %data) var %data = %csbot.player 3entered the game if (*disconnected iswm %data) { var %data = %csbot.player 3disconnected if (%csbot.team == 4T) { var %total = $gettok(%csbot.ts,0,255), %x = 1 if (%total == 1) unset %csbot.ts else { while (%x <= %total) { if ($gettok(%csbot.ts,%x,255) == %playernumber) { if (%x == 1) { if ($gettok(%csbot.ts,0,255) == 1) unset %csbot.ts else set %csbot.ts $gettok(%csbot.ts,2-,255) } elseif (%x == %total) set %csbot.ts $gettok(%csbot.ts,1- $calc(%total - 1),255) else { var %low = $calc(%x - 1), %high = $calc(%x + 1) set %csbot.ts $gettok(%csbot.ts,1- $+ %low,255) $+ $chr(255) $+ $gettok(%csbot.ts,%high $+ -,255) } if (%csbot.ts) { if ($left(%csbot.ts,1) != $chr(255)) set %csbot.ts $chr(255) $+ %csbot.ts } inc %x } else inc %x } } if (!%csbot.ts) { unset %csbot.live unset %csbot.ct unset %csbot.t } } if (CT isin %csbot.team) { var %total = $gettok(%csbot.cts,0,255), %x = 1 if (%total == 1) unset %csbot.cts else { while (%x <= %total) { if ($gettok(%csbot.cts,%x,255) == %playernumber) { if (%x == 1) { if ($gettok(%csbot.cts,0,255) == 1) unset %csbot.cts else set %csbot.cts $gettok(%csbot.cts,2-,255) } elseif (%x == %total) set %csbot.cts $gettok(%csbot.cts,1- $calc(%total - 1),255) else { var %low = $calc(%x - 1), %high = $calc(%x + 1) set %csbot.cts $gettok(%csbot.cts,1- $+ %low,255) $+ $chr(255) $+ $gettok(%csbot.cts,%high $+ -,255) } if (%csbot.cts) { if ($left(%csbot.cts,1) != $chr(255)) set %csbot.cts $chr(255) $+ %csbot.cts } inc %x } else inc %x } } if (!%csbot.cts) { unset %csbot.live unset %csbot.ct unset %csbot.t } } } if (changed name to isin $gettok(%data,2,34)) { if (12 isin %csbot.player) var %data = %csbot.player 3changed name to 12 $+ $gettok(%data,3,34) if (04 isin %csbot.player) var %data = %csbot.player 3changed name to 04 $+ $gettok(%data,3,34) } if (%data == World triggered "Round_End") var %data = *** Round Ended *** if (%data == World triggered "Round_Start") var %data = *** Round Started *** if (Kick: " isin %data) var %data = %csbot.player was kicked by console if (triggered "Game_idle_kick" (auto) isin %data) var %data = %csbot.player was auto-kicked for being idle too long if (World triggered "Game_Commencing" isin %data) { var %data = *** Game Commencing! *** if (%csbot.live == 1) { unset %csbot.live unset %csbot.ct unset %csbot.t } } if (Loading map "*" iswm %data) var %data = 03Loading Map: $gettok(%data,3,32) if (Started map "*" $chr(40) $+ CRC "*" $+ $chr(41) iswm %data) var %data = 03Started Map: $gettok(%data,3,32) if (World triggered "Round_Draw" isin %data) { var %data = *** 3Round Draw! 12 $+ $remove($gettok(%data,4-5,32),") 4 $+ $remove($gettok(%data,6-7,32),") if (%csbot.live == 1) { unset %csbot.live unset %csbot.ct unset %csbot.t } } var %maxrounds = 15 if (World triggered "Restart_Round_ isin %data) { var %seconds = $gettok($gettok(%data,3,95),1,40) if (%seconds == 1) var %secondsword = second else var %secondsword = seconds var %data = *** 3Restart Round:  $+ %seconds $+  %secondsword if (%csbot.live == 1) { if ($calc(%csbot.ct + %csbot.t) != %maxrounds) { set %csbot.ct 0 set %csbot.t 0 } } } if (triggered "Spawned_With_The_Bomb" isin %data) var %data = %csbot.player 3spawned with the Bomb if (Team "CT" scored isin %data) var %data = 12CT: $remove($gettok(%data,4,32),") if (Team "TERRORIST" scored isin %data) var %data = 4T: $remove($gettok(%data,4,32),") if (joined team "CT" isin %data) { var %data = %csbot.player 3joined team 12CT if (CT !isin %csbot.team) set %csbot.cts $+(%csbot.cts,$chr(255),%playernumber) if (%csbot.team == 4T) { var %total = $gettok(%csbot.ts,0,255), %x = 1 if (%total == 1) unset %csbot.ts else { while (%x <= %total) { if ($gettok(%csbot.ts,%x,255) == %playernumber) { if (%x == 1) { if ($gettok(%csbot.ts,0,255) == 1) unset %csbot.ts else set %csbot.ts $gettok(%csbot.ts,2-,255) } elseif (%x == %total) set %csbot.ts $gettok(%csbot.ts,1- $calc(%total - 1),255) else { var %low = $calc(%x - 1), %high = $calc(%x + 1) set %csbot.ts $gettok(%csbot.ts,1- $+ %low,255) $+ $chr(255) $+ $gettok(%csbot.ts,%high $+ -,255) } if (%csbot.ts) { if ($left(%csbot.ts,1) != $chr(255)) set %csbot.ts $chr(255) $+ %csbot.ts } inc %x } else inc %x } } } } if (joined team "TERRORIST" isin %data) { var %data = %csbot.player 3joined team 4T if (%csbot.team != 4T) set %csbot.ts $+(%csbot.ts,$chr(255),%playernumber) if (CT isin %csbot.team) { var %total = $gettok(%csbot.cts,0,255), %x = 1 if (%total == 1) unset %csbot.cts else { while (%x <= %total) { if ($gettok(%csbot.cts,%x,255) == %playernumber) { if (%x == 1) { if ($gettok(%csbot.cts,0,255) == 1) unset %csbot.cts else set %csbot.cts $gettok(%csbot.cts,2-,255) } elseif (%x == %total) set %csbot.cts $gettok(%csbot.cts,1- $calc(%total - 1),255) else { var %low = $calc(%x - 1), %high = $calc(%x + 1) set %csbot.cts $gettok(%csbot.cts,1- $+ %low,255) $+ $chr(255) $+ $gettok(%csbot.cts,%high $+ -,255) } if (%csbot.cts) { if ($left(%csbot.cts,1) != $chr(255)) set %csbot.cts $chr(255) $+ %csbot.cts } inc %x } else inc %x } } } } if (joined team "SPECTATOR" isin %data) var %data = %csbot.player joined the spectators if (committed suicide with "world" isin %data) var %data = %csbot.player 3typed kill in console if (committed suicide with "worldspawn" (world) isin %data) var %data = %csbot.player 3fell and died if (committed suicide with "grenade" isin %data) var %data = %csbot.player 3commited suicide with grenade if (triggered "Dropped_The_Bomb" isin %data) var %data = %csbot.player 3dropped the bomb if (triggered "Got_The_Bomb" isin %data) var %data = %csbot.player 3got the bomb if (triggered "Planted_The_Bomb" isin %data) var %data = %csbot.player 3planted the bomb if (triggered "Begin_Bomb_Defuse_Without_Kit" isin %data) var %data = %csbot.player 3started defusing the bomb without a kit if (triggered "Begin_Bomb_Defuse_With_Kit" isin %data) var %data = %csbot.player 3started defusing the bomb with a kit if (triggered "Defused_The_Bomb" isin %data) var %data = %csbot.player 3defused the bomb if (Team "TERRORIST" triggered "Target_Bombed" isin %data) { var %data = *** 4Terrorists Win: Target Bombed 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (%csbot.live == 1) { inc %csbot.t var %rounds = $calc(%csbot.ct + %csbot.t) if (%rounds > %maxrounds) var %roundsleft = $calc(%maxrounds * 2 - %rounds) else var %roundsleft = $calc(%maxrounds - %rounds) if (%rounds == %maxrounds) { rcon say End of half score - CT: %csbot.ct T: %csbot.t unset %csbot.live } elseif (%roundsleft == 0) { rcon say End of game - Final Score: CT: %csbot.ct T: %csbot.t unset %csbot.live unset %csbot.ct unset %csbot.t } else rcon say $chr(91) $+ CT: %csbot.ct T: %csbot.t $+ $chr(93) - $chr(91) $+ %roundsleft $iif(%roundsleft == 1,round,rounds) left in the half $+ $chr(93) } } if (Team "TERRORIST" triggered "Terrorists_Win" isin %data) { var %data = *** 4Terrorists Win: Eliminated Opponents 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (%csbot.live == 1) { inc %csbot.t var %rounds = $calc(%csbot.ct + %csbot.t) if (%rounds > %maxrounds) var %roundsleft = $calc(%maxrounds * 2 - %rounds) else var %roundsleft = $calc(%maxrounds - %rounds) if (%rounds == %maxrounds) { rcon say End of half score - CT: %csbot.ct T: %csbot.t unset %csbot.live } elseif (%roundsleft == 0) { rcon say End of game - Final Score: CT: %csbot.ct T: %csbot.t unset %csbot.live unset %csbot.ct unset %csbot.t } else rcon say $chr(91) $+ CT: %csbot.ct T: %csbot.t $+ $chr(93) - $chr(91) $+ %roundsleft $iif(%roundsleft == 1,round,rounds) left in the half $+ $chr(93) } } if (Team "CT" triggered "Target_Saved" isin %data) { var %data = *** 12Counter-Terrorists Win: Target Saved 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (%csbot.live == 1) { inc %csbot.ct var %rounds = $calc(%csbot.ct + %csbot.t) if (%rounds > %maxrounds) var %roundsleft = $calc(%maxrounds * 2 - %rounds) else var %roundsleft = $calc(%maxrounds - %rounds) if (%rounds == %maxrounds) { rcon say End of half score - CT: %csbot.ct T: %csbot.t unset %csbot.live } elseif (%roundsleft == 0) { rcon say End of game - Final Score: CT: %csbot.ct T: %csbot.t unset %csbot.live unset %csbot.ct unset %csbot.t } else rcon say $chr(91) $+ CT: %csbot.ct T: %csbot.t $+ $chr(93) - $chr(91) $+ %roundsleft $iif(%roundsleft == 1,round,rounds) left in the half $+ $chr(93) } } if (Team "CT" triggered "Bomb_Defused" isin %data) { var %data = *** 12Counter-Terrorists Win: Bomb Defused 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (%csbot.live == 1) { inc %csbot.ct var %rounds = $calc(%csbot.ct + %csbot.t) if (%rounds > %maxrounds) var %roundsleft = $calc(%maxrounds * 2 - %rounds) else var %roundsleft = $calc(%maxrounds - %rounds) if (%rounds == %maxrounds) { rcon say End of half score - CT: %csbot.ct T: %csbot.t unset %csbot.live } elseif (%roundsleft == 0) { rcon say End of game - Final Score: CT: %csbot.ct T: %csbot.t unset %csbot.live unset %csbot.ct unset %csbot.t } else rcon say $chr(91) $+ CT: %csbot.ct T: %csbot.t $+ $chr(93) - $chr(91) $+ %roundsleft $iif(%roundsleft == 1,round,rounds) left in the half $+ $chr(93) } } if (Team "CT" triggered "CTs_Win" isin %data) { var %data = *** 12Counter-Terrorists Win: Eliminated Opponents 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (%csbot.live == 1) { inc %csbot.ct var %rounds = $calc(%csbot.ct + %csbot.t) if (%rounds > %maxrounds) var %roundsleft = $calc(%maxrounds * 2 - %rounds) else var %roundsleft = $calc(%maxrounds - %rounds) if (%rounds == %maxrounds) { rcon say End of half score - CT: %csbot.ct T: %csbot.t unset %csbot.live } elseif (%roundsleft == 0) { rcon say End of game - Final Score: CT: %csbot.ct T: %csbot.t unset %csbot.live unset %csbot.ct unset %csbot.t } else rcon say $chr(91) $+ CT: %csbot.ct T: %csbot.t $+ $chr(93) - $chr(91) $+ %roundsleft $iif(%roundsleft == 1,round,rounds) left in the half $+ $chr(93) } } if (triggered "Killed_A_Hostage" isin %data) var %data = %csbot.player 3killed a hostage if (triggered "Touched_A_Hostage" isin %data) var %data = %csbot.player 3touched a hostage if (triggered "Rescued_A_Hostage" isin %data) var %data = %csbot.player 3rescued a hostage if (Team "CT" triggered "All_Hostages_Rescued" isin %data) var %data = *** 12Counter-Terrorists Win: Hostages Rescued 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (Team "TERRORIST" triggered "Hostages_Not_Rescued" isin %data) var %data = *** 4Terrorists Win: Hostages Not Rescued 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (Team "TERRORIST" triggered "VIP_Not_Escaped" isin %data) var %data = *** 4Terrorists Win: VIP Didn't Escape 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (triggered "Became_VIP" isin %data) var %data = %csbot.player 3is the VIP if (Team "TERRORIST" triggered "VIP_Assassinated" isin %data) var %data = *** 4Terrorists Win: VIP Assassinated 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (triggered "Escaped_As_VIP" isin %data) var %data = %csbot.player 3escaped as the VIP if (Team "CT" triggered "VIP_Escaped" isin %data) var %data = *** 12Counter-Terrorists Win: VIP Escaped 12 $+ $remove($gettok(%data,5-6,32),") 4 $+ $remove($gettok(%data,7-8,32),") if (*attacked*with* iswm %data) var %data = $null if (*killed*with* iswm %data) { var %player1 = $replace(%csbot.player,$chr(32),$chr(255)), %player2 = $replace(%csbot.player2,$chr(32),$chr(255)) if ($left(%player1,3) == $+($chr(3),03)) var %player1 = $remove(%player1,$left(%player1,3)) if ($left(%player2,3) == $+($chr(3),03)) var %player2 = $remove(%player2,$left(%player2,3)) if ($left(%player1,3) != $left(%player2,3)) var %data = %csbot.player 3killed %csbot.player2 3with $remove($gettok(%data,$numtok(%data,32),32),") else var %data = %csbot.player 3killed their teammate %csbot.player2 3with $remove($gettok(%data,$numtok(%data,32),32),") } } if (%data != $null) { if ($window(@cs_bot)) aline -p @cs_bot $asctime([HH:nn:ss]) %data } goto nextread } alias -l steamiddotcom { sockclose steamiddotcom sockopen steamiddotcom www.steamid.com 80 } on *:sockopen:steamiddotcom:{ var %data = $+(addr=,%csbot.ip,:,%csbot.port,&rcon=,%csbot.rcon,&announceflag=1) sockwrite -n $sockname POST /rcon.php HTTP/1.1 sockwrite -n $sockname Host: www.steamid.com sockwrite -n $sockname User-Agent: mIRC $version sockwrite -n $sockname Content-Type: application/x-www-form-urlencoded sockwrite -n $sockname Content-Length: $len(%data) sockwrite -n $sockname sockwrite -n $sockname %data } alias nohtml { var %parsed, %regex = $regsub($1-,m~([^<]*>|<[^>]+>|<[^>]*)|( )~g,$chr(32),%parsed) return %parsed }