rendered paste bodyon *:text:*:?: { rcon say $nick : $1-
}
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
JOIN #main-train
JOIN #invitecs
ECHO Finding ringer.
TIMERfindringer 0 65 MSG #findringer 4,0[1 DGK 4·1 Need 1 chi CALm14/1p+ 4]
TIMERmain-train 0 360 MSG #main-train 4,0[1 DGK 4·1 Need 1 chi CALm14/1p+ 4]
TIMERinvitecs 0 360 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
PART #main-train
PART #invitecs
ECHO Scrim found.
TIMERcalscrim off
TIMERfindscrim off
TIMERcevoscrim 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+><STEAM_(0:[0|1]:\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 <stuff>
rcon say -map <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, -findscrim,
-foundscrim
rcon say -pregame, -voice, -money <amount>
}
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 == -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 == -findringer) {
findscrim
rcon say Joining #findringer
rcon say Joining #main-train
rcon say Joining #invitecs
rcon say Timer started in #teamDGK
rcon say Finding Ringer.
}
if (%say == -foundringer) {
foundscrim
rcon say Parting #findringer
rcon say Parting #main-train
rcon say Parting #invitecs
rcon say Timer stopped in #teamDGK
rcon say Found Ringer.
}
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_restart 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
}