Guest User

Untitled

a guest
Aug 24th, 2017
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 232.90 KB | None | 0 0
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ;;;;;;;; ZxoR Gatherbot ;;;;;;;;
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  8. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
  9. ; ZxoR Gatherbot Version 2.7 ;
  10. ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~;
  11. ; Copyright (C) 2011 ZxoR
  12. ;
  13. ; This program is free software: you can redistribute it and/or modify
  14. ; it under the terms of the GNU General Public License as published by
  15. ; the Free Software Foundation, either version 3 of the License, or
  16. ; (at your option) any later version.
  17. ;
  18. ; This program is distributed in the hope that it will be useful,
  19. ; but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  21. ; GNU General Public License for more details.
  22. ; You can contact the developer via www.mIRCs.co.il (#mIRCs @ Quakenet).
  23.  
  24. on *:text:*:*: {
  25. if ($chan == %CS.chan) {
  26. if ($nick isreg #) && ($cancmd) {
  27. if (%t.f. [ $+ [ $nick ] ] >= 12) && (!%CS.Flood) {
  28. set -u60 %CS.Flood ByZxoR
  29. msg %CS.Chan $stl(?,Text flood has been detected $+ $chr(44) Gatherbot will be locked for ²1 minute¶ for ensure stability.)
  30. .return 1
  31. }
  32. elseif ($me isop #) { inc -u3 %t.f. [ $+ [ $nick ] ] 1 }
  33. }
  34. var %CS.temp.bnum = $bnumbsign($mid($1,1,1)),%cn = %CS.Temp.bnum,%usign = $mid($1,1,1)
  35. if ($1 == ?status) && (!%CS.Flood) {
  36. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0),%buffer,%cur2 = 1
  37. if (%max == 0) { msg %CS.Chan $stl(?,There are no gatherbots initialized right now.) | return 1 }
  38. while (%cur <= %max) {
  39. if (%cur2 == 4) { var %cur2 = 1 | ddecmd say %CS.Chan $stl(?,%buffer) | var %buffer }
  40. var %gname = $readini(%f,$ini(%f,%cur),Name),%ggn = $ini(%f,%cur),%gstatus = $readini(%f,$ini(%f,%cur),status),%buffer = %buffer ¶ $+ $iif(%cur2 > 1,$(|) $chr(32)) $+ ( $+ %Color [ $+ [ %ggn ] $+ .c2 ] $+ $NGet(%ggn,Sign) $+ ¶) $+ %gname ( $+ $iif($NGet(%ggn,Locked) == 0,$iif(%gstatus == OFF,4OFF,$iif(%gstatus == adding,² $+ $numtok(%CS [ $+ [ %ggn ] $+ .adding ],32) $+ ¶/² $+ $NGet(%ggn,MaxPlayers),3ON) $+ ¶ $+ $chr(211) $+ %Color [ $+ [ %ggn ] $+ .c2 ] $+ %CS [ $+ [ %ggn ] $+ .Map ]),4Locked¶) $+ ¶)
  41. inc %cur
  42. inc %cur2
  43. }
  44. ddecmd say # $stl(?,%buffer)
  45. set -u3 %CS.Flood ByZxoR
  46. }
  47. if (%usign == ?) && (!%CS.Flood) && ($cancmd) {
  48. if ($1 == ?club) && ($2 isnum) && ($2 <= $ini(Clubs.ini,0)) && ($2 >= 1) && (!%CS.Flood) {
  49. unset %CS.Club [ $+ [ $2 ] $+ .players ]
  50. set -u3 %CS.Flood ByZxoR
  51. if ($CGet($2,game) == CS) crcmd $2 users
  52. elseif ($CGet($2,game) == TF2) crcmd $2 status
  53. .timer -m 1 50 chl $2 full
  54. }
  55. elseif ($1 == ?clubs) && (!%CS.BigFlood) && (!%CS.Flood) {
  56. set -u10 %CS.BigFlood ByZxoR
  57. set -u4 %CS.Flood ByZxoR
  58. var %cur = 1,%tcur = 1,%max = $ini(clubs.ini,0)
  59. if (%max < 1) { msg %CS.Chan $stl(?,There are no clubs right now.) | return 1 }
  60. mode %CS.Chan m
  61. while (%cur <= %max) {
  62. .timer 1 %tcur /CHL %cur
  63. inc %cur
  64. inc %tcur 3
  65. }
  66. .timer 1 %tcur /mode %CS.Chan -m
  67. }
  68. elseif ($1 == ?cmds) || ($1 == ?commands) || ($1 == ?help) {
  69. set -u3 %CS.Flood ByZxoR
  70. msg %CS.Chan $stl(?,Gatherbot Commands: $+(²,%usign,¶status) $+(²,%usign,¶gathers) $+(²,%usign,¶clubs) $+(²,%usign,¶club <number>) $+(²,%usign,¶score) $+(²,%usign,¶server) $+(²,%usign,¶Vent/TeamSpeak))
  71. }
  72. elseif ($1 == ?gathers) || ($1 == ?today) {
  73. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0),%buffer,%cur2 = 1,%temp.total = 0
  74. if (%max == 0) { msg %CS.Chan $stl(?,There is no gatherbots right now.) | return 1 }
  75. while (%cur <= %max) {
  76. var %ggn = $ini(%f,%cur)
  77. inc %temp.total $NGET(%ggn,Today)
  78. inc %cur
  79. }
  80. msg # $stl(?,¶Total games for today:² %temp.total $+ ¶.)
  81. set -u3 %CS.Flood ByZxoR
  82. }
  83. elseif ($1 == ?score) {
  84. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0),%buffer,%cur2 = 1
  85. if (%max == 0) { msg %CS.Chan $stl(?,There is no gatherbots right now.) | return 1 }
  86. while (%cur <= %max) {
  87. if (%cur2 = 6) { ddecmd say %CS.Chan $stl(?,%buffer) | var %buffer,%cur2 = 1 }
  88. var %gname = $readini(%f,$ini(%f,%cur),Name)
  89. var %ggn = $ini(%f,%cur)
  90. var %gstatus = $readini(%f,$ini(%f,%cur),status)
  91. if ($NGet(%ggn,Game) == CS) {
  92. var %buffer = %buffer ¶ $+ $iif(%cur2 > 1,$(|) $chr(32)) $+ %gname ( $+ $iif($NGet(%ggn,Locked) == 0,$iif(%gstatus == OFF,4OFF,² $+ $iif( %CS [ $+ [ %ggn ] $+ .Half ] == NotYet,%Color [ $+ [ %ggn ] $+ .c2 ] $+ Not Live¶,$teamcolor(a,$teamscore(a,%cur),%cur) $+ ¶-² $+ $teamcolor(b,$teamscore(b,%cur),%cur))),4Locked¶) $+ ¶)
  93. }
  94. elseif ($NGet(%ggn,Game) == TF2) {
  95. var %buffer = %buffer ¶ $+ $iif(%cur2 > 1,$(|) $chr(32)) $+ %gname ( $+ $iif($NGet(%ggn,Locked) == 0,$iif(%gstatus == OFF,4OFF,² $+ $iif(!%CS [ $+ [ %ggn ] $+ .Live ],%Color [ $+ [ %ggn ] $+ .c2 ] $+ Not Live¶, $iif($Nget(%ggn,Type) == CTF,$+(04,%CS [ $+ [ %ggn ] $+ .red ],¶-12,%CS [ $+ [ %ggn ] $+ .blue ]),²N¶/²A))),4Locked¶) $+ ¶)
  96. }
  97. inc %cur
  98. inc %cur2
  99. }
  100. ddecmd say # $stl(?,%buffer)
  101. set -u3 %CS.Flood ByZxoR
  102. }
  103. elseif ($1 == ?server) || ($1 == ?servers) || ($1 == ?ip) {
  104. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0),%buffer,%cur2 = 1
  105. if (%max == 0) { msg %CS.Chan $stl(?,There is no gatherbots right now.) | return 1 }
  106. while (%cur <= %max) {
  107. if (%cur2 == 4) { ddecmd say # $stl(?,%buffer) | var %buffer,%cur2 = 1 }
  108. var %gname = $readini(%f,$ini(%f,%cur),Name)
  109. var %ggn = $ini(%f,%cur)
  110. var %gstatus = $readini(%f,$ini(%f,%cur),status)
  111. var %buffer = %buffer ¶ $+ $iif(%cur2 > 1,$(|) $chr(32)) $+ %Color [ $+ [ %ggn ] $+ .C2 ] $+ %gname (¶ $+ %Color [ $+ [ %ggn ] $+ .C1 ] $+ $iif($NGet(%ggn,Locked) == 0,$NGet(%ggn,IP),Locked) $+ %Color [ $+ [ %ggn ] $+ .C2 ] $+ )¶
  112. inc %cur
  113. inc %cur2
  114. }
  115. ddecmd say # $stl(?,%buffer)
  116. set -u3 %CS.Flood ByZxoR
  117. }
  118. elseif ($1 == ?vent) || ($1 == ?vents) || ($1 == ?ts) || ($1 == ?teamspeaks) || ($1 == ?teamspeak) {
  119. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0),%buffer,%cur2 = 1
  120. if (%max == 0) { msg %CS.Chan $stl(?,There is no gatherbots right now.) | return 1 }
  121. while (%cur <= %max) {
  122. if (%cur2 == 4) { msg # $stl(?,%buffer) | var %buffer,%cur2 = 1 }
  123. var %gname = $readini(%f,$ini(%f,%cur),Name)
  124. var %ggn = $ini(%f,%cur)
  125. var %gstatus = $readini(%f,$ini(%f,%cur),status)
  126. var %gtype = $iif($NGet(%ggn,TS-Selected),10TS¶,14VENT¶)
  127. var %buffer = %buffer ¶ $+ $iif(%cur2 > 1,$(|) $chr(32)) $+ %Color [ $+ [ %ggn ] $+ .C2 ] $+ %gname (¶ $+ %Color [ $+ [ %ggn ] $+ .C1 ] $+ $iif($NGet(%ggn,Locked) == 0,$iif($NGet(%ggn,TS-Selected),$NGet(%ggn,TS-Ip),$NGet(%ggn,V-Ip)) $+ $chr(91) $+  $+ %gtype $+  $+ $chr(93),Locked) $+ %Color [ $+ [ %ggn ] $+ .C2 ] $+ )¶
  128. inc %cur
  129. inc %cur2
  130. }
  131. msg # $stl(?,%buffer)
  132. set -u3 %CS.Flood ByZxoR
  133. }
  134. }
  135. if (%CS.Temp.bnum > 0) {
  136. tokenize 32 $remove($strip($mid($1-,2)),²,¶)
  137. if ($1 == Players) && (!%CS.Flood) { set -u3 %CS.Flood ByZxoR | csplayers %CS.Temp.bnum }
  138. elseif ($1 == status) && (!%CS.Flood) {
  139. if ($NGet(%CS.Temp.Bnum,Locked) == 1) { msg # $stl(%cn,$NGet(%CS.Temp.bnum,Name) is temporarily locked.) | return 1 }
  140. if ($NGet(%CS.Temp.bnum,status) == OFF) { msg # $stl(%cn,$NGet(%CS.Temp.bnum,Name) is offline. $iif($NGET(%cn,Number) > 0,The last gather (² $+ $ord($NGET(%cn,Number)) $+ ¶) was² $overtime($gettok($NGet(%cn,Last),1,32)) ago¶ $+ $chr(44) Agent:² $gettok($NGet(%cn,Last),2,32) $+ ¶ $+ $chr(44) Map:² $gettok($NGet(%cn,Last),3,32) $+ ¶.)) }
  141. elseif ($NGet(%CS.Temp.bnum,status) == Adding) { msg # $stl(%cn,$NGet(%CS.Temp.bnum,Name) looking for players already² $overtime(%CS [ $+ [ %CS.Temp.bnum ] $+ .ctime ]) $+ ¶.) }
  142. elseif ($NGet(%CS.Temp.bnum,status) == ON) {
  143. msg # $stl(%cn,$NGet(%CS.Temp.bnum,Name) is 3ON¶ since² $asctime(%CS [ $+ [ 1 ] $+ .ctime ],HH:nn:ss) ( $+ $overtime(%CS [ $+ [ %CS.Temp.bnum ] $+ .ctime ]) ago) $+ ¶ $+ $chr(44) Agent:² %CS [ $+ [ %CS.Temp.bnum ] $+ .Admin ] $+ ¶ $+ $chr(44) $iif($NGet(%cn,Game) != TF2,$iif(%CS [ $+ [ %CS.Temp.bnum ] $+ .Half ] == NotYet,Game isn't live yet,Score: ² $+ $teamscore(a,%cn) $+ ¶-² $+ $teamscore(b,%cn)),$iif(%CS [ $+ [ %cn ] $+ .Live ] == ON,Score: 04RED¶( $+ %CS [ $+ [ %cn ] $+ .RED ] $+ ) 12BLUE¶( $+ %CS [ $+ [ %cn ] $+ .Blue ] $+ ),Game isn't live yet)) $+ ¶.)
  144. if ($NGet(%cn,isHLTV) == 1) && ($nget(%cn,usetv)) { msg # $stl(%cn,$NGet(%cn,Name) HLTV Server:² $NGet(%cn,HLTV)) }
  145. elseif ($NGet(%cn,issourcetv) == 1) && ($nget(%cn,usetv)) { msg # $stl(%cn,$NGet(%cn,Name) SourceTV Server:² $NGet(%cn,sourceTV)) }
  146. }
  147. set -u3 %CS.Flood ByZxoR
  148. }
  149. elseif ($1 == help) || ($1 == commands) || ($1 == cmds) && (!%CS.Flood) {
  150. set -u3 %CS.Flood ByZxoR
  151. msg %CS.Chan $stl(%cn,² $+ $NGet(%cn,Name) ¶Commands: $+(²,%usign,¶status) $+(²,%usign,¶server) $+(²,%usign,¶,$iif($NGet(%cn,TS-Selected),teamspeak,vent)) $iif($Nget(%cn,usetv),$+(²,%usign,¶,$iif($Nget(%cn,isHLTV),HLTV,sourceTV))) $+(²,%usign,¶teams) $+(²,%usign,¶requestmap) $+(²,%usign,¶today) $+(²,%usign,¶rank) $+(²,%usign,¶agent) $+(²,%usign,¶top))
  152. }
  153. elseif ($1 == last) && (!%CS.Flood) && ($cancmd) && (!%CS [ $+ [ %cn ] $+ .live ]) {
  154. if ($NGET(%cn,Number) > 0) { msg # $stl(%cn,The last gather (² $+ $ord($NGET(%cn,Number)) $+ ¶) was² $overtime($gettok($NGet(%cn,Last),1,32)) ago¶ $+ $chr(44) Agent:² $gettok($NGet(%cn,Last),2,32) $+ ¶ $+ $chr(44) Map:² $gettok($NGet(%cn,Last),3,32) $+ ¶.) }
  155. else { msg # $stl(%cn,$NGet(%cn,Name) has never played before.) }
  156. set -u3 %CS.Flood ByZxoR
  157. }
  158. elseif ($1 == ban) && ($userbyhost($address($nick,2))) {
  159. if (!$secure($2-)) { return 1 }
  160. if ($3) {
  161. if ($issteam($2)) {
  162. if ($isban($2)) { msg # $stl(?,$2 is already banned.) | return 1 }
  163. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-ban)) { msg # $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  164. addban $2  $nick  $3  $4-
  165. }
  166. else {
  167. if ($steambynick($2)) { var %sid = $v1 }
  168. else { msg # $stl(?,Unknown steam $+ $chr(44) Use: %usign $+ $1 <Steam_ID> <time> [reason]) | return 1 }
  169. if ($isban(%sid)) { msg # $stl(?,%sid is already banned.) | return 1 }
  170. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-ban)) { msg # $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  171. addban %sid  $nick  $3  $4-
  172. }
  173. else { msg # $stl(?,Unknown steam, use $1 <Steam_ID> <duration> [reason]) }
  174. }
  175. else { msg # $stl(?,Ban syntax error. Use /msg $me !BanHelp) }
  176. }
  177. elseif ($1 == hltv) && (!%CS.Flood) {
  178. set -u3 %CS.Flood ByZxoR
  179. if ($NGet(%cn,locked)) { msg %CS.chan $stl(%cn,² $+ $Nget(%cn,Name) ¶is locked.) | return 1 }
  180. if ($NGet(%cn,isHLTV)) && ($nget(%cn,useTV)) { hltv %cn }
  181. elseif ($Nget(%cn,issourcetv)) { msg # $stl(%cn,$NGet(%cn,Name) is using sourceTV $+ $chr(44) Use: ² $+ %usign $+ srcTV¶.) }
  182. else { msg # $stl(%cn,$NGet(%cn,Name) HLTV Server is not available.) }
  183. }
  184. elseif ($1 == srctv) || ($1 == sourcetv) && (!%CS.Flood) {
  185. set -u3 %CS.Flood ByZxoR
  186. if ($NGet(%cn,locked)) { msg %CS.chan $stl(%cn,² $+ $Nget(%cn,Name) ¶is locked.) | return 1 }
  187. if ($NGet(%cn,issourcetv)) && ($nget(%cn,useTV)) { hltv %cn }
  188. elseif ($Nget(%cn,ishltv)) { msg # $stl(%cn,$NGet(%cn,Name) is using HLTV $+ $chr(44) Use: ² $+ %usign $+ HLTV¶.) }
  189. else { msg # $stl(%cn,$NGet(%cn,Name) SourceTV Server is not available.) }
  190. }
  191. elseif ($1 == unban) && ($userbyhost($address($nick,2))) {
  192. if ($regex($2,/STEAM_\d:\d:\d+/i)) {
  193. if (!$isban($2)) { msg # $stl(?,¶ $+ $2 is not banned.) | return 1 }
  194. delban $2
  195. }
  196. else {
  197. if ($steambynick($2)) { var %sid = $v1 }
  198. else { msg # $stl(?,Unknown steam, use $ServerSyntax(Unban) <Steam_ID>) | return 1 }
  199. if (!$isban(%sid)) { msg # $stl(?,%sid is not banned.) | return 1 }
  200. delban %sid
  201. }
  202. else { msg # $stl(?,Unknown steam, use $ServerSyntax(Unban) <Steam_ID>) }
  203. }
  204. elseif ($1 == version) && (!%CS.flood) {
  205. describe # is using Gatherbot version 2.7 [mIRC $version $+ ].
  206. set -u3 %CS.Flood ByZxoR
  207. }
  208. elseif (($1 == add) || ($1 == $+($chr(249),$chr(226),$chr(226)))) && (!%CS.AddFlood) {
  209. if ($NGet(%CS.Temp.bnum,status) == adding) {
  210. if ($istok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ],$nick,32)) { return 1 }
  211. set %CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ] $addtok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ],$nick,32)
  212. if ($numtok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ],32) >= $NGet(%CS.Temp.bnum,MaxPlayers)) && ($NGet(%cn,AutoMix) == 1) { mixing %CS.Temp.Bnum }
  213. elseif (!%CS.Flood2) { csplayers %cn | set -u15 %CS.Flood2 ByZxoR }
  214. }
  215. elseif (!%CS.Flood) { msg # $stl(%cn,$NGet(%CS.Temp.bnum,Name) is not looking for players right now.) | set -u5 %CS.Flood ByZxoR }
  216. }
  217. elseif ($1 == rstart) && ($NGet(%cn,AutoMix) == 0) && ($userbyhost($address($nick,2))) {
  218. if ($numtok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ],32) >= $NGet(%CS.Temp.bnum,MaxPlayers)) { mixing %CS.Temp.Bnum }
  219. }
  220. elseif ($1 == Teams) && ($cancmd) && (!%CS.Flood) {
  221. if ($NGet(%CS.Temp.BNum,Status) == ON) {
  222. if ($NGet(%cn,Game) == CS) {
  223. msg # $stl(%cn,² $+ $NGet(%cn,Name) ¶Team-A: $replace($fix32(%CS [ $+ [ %CS.Temp.Bnum ] $+ .TeamA ],%cn),²,¶) $+ .)
  224. msg # $stl(%cn,² $+ $NGet(%cn,Name) ¶Team-B: $replace($fix32(%CS [ $+ [ %CS.Temp.Bnum ] $+ .TeamB ],%cn),²,¶) $+ .)
  225. }
  226. elseif ($NGet(%cn,Game) == TF2) {
  227. msg # $stl(%cn,² $+ $NGet(%cn,Name) 04RED¶: $replace($fix32($remtok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .TeamA ],%CS [ $+ [ %CS.Temp.Bnum ] $+ .AMedic ],32),%cn),²,¶) $+ . 04MEDIC¶: %CS [ $+ [ %CS.Temp.Bnum ] $+ .AMedic ] $+ .)
  228. msg # $stl(%cn,² $+ $NGet(%cn,Name) 12BLUE¶: $replace($fix32($remtok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .TeamB ],%CS [ $+ [ %CS.Temp.Bnum ] $+ .BMedic ],32),%cn),²,¶) $+ . 12MEDIC¶: %CS [ $+ [ %CS.Temp.Bnum ] $+ .BMedic ] $+ .)
  229. }
  230. if (%CS [ $+ [ %CS.temp.bnum ] $+ .TeamSubs ]) { msg # $stl(%cn,² $+ $NGet(%cn,Name) ²Subs¶: $replace($fix32(%CS [ $+ [ %CS.Temp.Bnum ] $+ .TeamSUBS ],%cn),²,¶) $+ .) }
  231. set -u3 %CS.Flood ByZxoR
  232. return 1
  233. }
  234. msg # $stl(%cn,$NGet(%CS.Temp.BNum,Name) is offline.)
  235. }
  236. elseif ($1 == requestmap) && ($cancmd) && (!%CS.Flood) {
  237. set -u3 %CS.Flood ByZxoR
  238. if ($NGet(%cn,locked)) { msg %CS.chan $stl(%cn,² $+ $Nget(%cn,Name) ¶is locked.) | return 1 }
  239. if (!$2) {
  240. if (%CS.Temp.req. [ $+ [ $wildsite ] ]) { msg %CS.Chan $stl(%cn,The current² $NGet(%cn,Name) ¶requested map is: ² $+ $gettok(%CS.Temp.req. [ $+ [ $wildsite ] ],1,32) $+ ¶.) }
  241. else { msg %CS.Chan $stl(?,Syntax: %usign $+ requestmap <map> - With this command you can request map from the admins $+ $chr(44) you can do it once a while. When admin will run gather with random map $+ $chr(44) it will automaticly select your requested map.) }
  242. return 1
  243. }
  244. if (!$canrun(%cn)) { msg %CS.Chan $stl(%cn,You cannot request map right now.) | return 1 }
  245. if (%CS [ $+ [ %cn ] $+ .requestmap ]) { msg %CS.Chan $stl(%cn,You cannot request any map right now because theres another request available ( $+ $+ ).) | return 1 }
  246. if (%CS.Temp.req. [ $+ [ $wildsite ] ]) { msg %CS.Chan $stl(%cn,You have already request a map in² $gettok(%CS.Temp.req. [ $+ [ $wildsite ] ],2-,32) ¶(² $+ $gettok(%CS.Temp.req. [ $+ [ $wildsite ] ],1,32) $+ ¶).) | return 1 }
  247. if ($secure($2)) {
  248. set -u300 %CS [ $+ [ %cn ] $+ .requestmap ] $remove($lower($2),|,%,$)
  249. set -u300 %CS.Temp.req. [ $+ [ $wildsite ] ] $remove($lower($2),|,%,$) $Nget(%cn,name)
  250. msg %CS.Chan $stl(%cn,The map² $2 ¶requested by² $nick ¶and available as² $NGet(%cn,Name) ¶default map for ²5 minutes¶.)
  251. }
  252. }
  253. elseif ($1 == uptime) && (!%CS.Flood) { msg %CS.Chan $stl(%cn,My computer is on and I connected already from² $asctime($calc($ctime - $duration($uptime(system,2))),dd/mm/yyyy HH:nn:ss) ¶thats was² $expandtime($uptime(system,2)) ago¶.) | set -u3 %CS.Flood ByZxoR }
  254. elseif ($1 == today) && ($cancmd) && (!%CS.Flood) { msg %CS.Chan $stl(%cn,² $+ $NGet(%cn,Name) ¶Today's Gathers:² $NGET(%cn,Today) $+ ¶.) | set -u3 %CS.Flood ByZxoR }
  255. elseif ($1 == Server) || ($1 == IP) && ($cancmd) && (!%CS.Flood) { hl %CS.Temp.BNum | set -u4 %CS.Flood ByZxoR }
  256. elseif ($1 == Sub) && ($NGet(%cn,Status) == ON) {
  257. if (!$2) {
  258. if ($istok(%CS [ $+ [ %CS.temp.bnum ] $+ .TeamA ],$nick,32)) || ($istok(%CS [ $+ [ %CS.temp.bnum ] $+ .TeamB ],$nick,32)) || ($istok(%CS [ $+ [ %CS.temp.bnum ] $+ .TeamSubs ],$nick,32)) { return 1 }
  259. if (!%CS [ $+ [ %Cs.temp.bnum ] $+ .Sub ]) { msg # $stl(%cn,Substitute player for² $NGet(%cn,Name) ¶is not needed.) | set -u3 %CS.Flood ByZxoR | return 1 }
  260. msg # $stl(%cn,Substitute player For $iif($NGet(%cn,Game) != TF2,Team- $+ $upper(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]),$iif(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ] == A,the 04RED¶ team,the 12BLUE¶ team)) has been found:² $nick ¶- Details are now sent to you.)
  261. details %CS.Temp.bnum $nick %CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]
  262. ssay %cn Substitute player For $iif($NGet(%cn,Game) != TF2,Team- $+ $upper(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]),$iif(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ] == A,the RED team,the BLUE team)) has been found: $nick
  263. tsay %cn Substitute player For Team- $+ $upper(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]) has been found: $nick
  264. set %CS [ $+ [ %CS.temp.bnum ] $+ .TeamSubs ] $addtok(%CS [ $+ [ %CS.temp.bnum ] $+ .TeamSubs ],$nick,32)
  265. .timersubmsg [ $+ [ %CS.temp.bnum ] ] off
  266. unset %CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]
  267. }
  268. elseif ($2) && ($userbyhost($address($nick,2))) {
  269. if (($2 == A) || ($2 == B)) && ($NGet(%cn,Game) == CS) { subsearch %cn $2 }
  270. elseif (($2 == RED) || (Blu* iswm $2)) && ($NGet(%cn,Game) == TF2) { subsearch %cn $iif($2 == RED,A,B) }
  271. elseif ($2 == off) {
  272. if (!%CS [ $+ [ %Cs.temp.bnum ] $+ .Sub ]) { return 1 }
  273. msg # $stl(%cn,Substitute searching For $iif($NGet(%cn,Game) != TF2,Team- $+ $upper(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]),$iif(%CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ] == A,the 04RED¶ team,the 12BLUE¶ team)) has been canceled.)
  274. .timersubmsg [ $+ [ %CS.temp.bnum ] ] off
  275. unset %CS [ $+ [ %CS.Temp.bnum ] $+ .Sub ]
  276. }
  277. }
  278. }
  279. elseif ($1 == Rank) && ($cancmd) && (!%CS.Flood) {
  280. if (!$secure($2-)) { return 1 }
  281. set -u3 %CS.Flood ByZxoR
  282. var %usr $iif($mid($2,1,1) != $chr(35),$iif($fline(@Rank-Points,* $+ $iif($2,$2-,$nick) $+ *),$v1,-1),$iif($mid($2,2) isnum,$iif($$mid($2,2) <= $line(@Rank-Points,0),$iif($mid($2,2) > 0,$mid($2,2),1),$line(@Rank-Points,0)),-2))
  283. if (%usr == -1) { msg # $stl(?,' $+ $iif($2,$v1,$nick) $+ ' was not found on the ranking list.) | return 1 }
  284. if (%usr == -2) { msg # $stl(?,Error has occurred while rank checking.) | return 1 }
  285. var %rewards = $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),rewards),$v1,0)
  286. ddecmd say # $stl(?,² $+ $gettok($line(@Rank-Points,%usr),2,92) ¶(² $+ $gettok($line(@Rank-Points,%usr),1,92) $+ ¶)( $+ $accessbyseam($gettok($line(@Rank-Points,%usr),1,92)) $+ ) Rank:² $comparesign($gettok($line(@Rank-Points,%usr),1,92)) $+ %usr $+ / $+ $line(@Rank-Points,0) ¶Points:² $gettok($line(@Rank-Points,%usr),3,92) ¶MVPs:² $iif($readini(Stats.ini,$gettok($line(@Rank-Points,%usr),1,92),MVPs),$v1,0) ¶Rewards:² $+($round($calc((%rewards /40)*100),2),%) $+ $iif(%stats.state == 1,¶ Full Statistics:² $+(http://,%stats.site,/,%stats.pinfo,?uid=,$suserid($gettok($line(@Rank-Points,%usr),1,92)))) $+ ¶.)
  287. }
  288. elseif (($1 == rewards) || ($1 == achievements) || ($1 == stats)) && ($cancmd) && (!%CS.Flood) && ($NGet(%cn,Game) == CS) {
  289. if (!$secure($2-)) { return 1 }
  290. set -u5 %CS.Flood ByZxoR
  291. var %usr $iif($mid($2,1,1) != $chr(35),$iif($fline(@Rank-Points,* $+ $iif($2,$2-,$nick) $+ *),$v1,-1),$iif($mid($2,2) isnum,$iif($$mid($2,2) <= $line(@Rank-Points,0),$iif($mid($2,2) > 0,$mid($2,2),1),$line(@Rank-Points,0)),-2))
  292. if (%usr == -1) { msg # $stl(?,' $+ $iif($2,$v1,$nick) $+ ' was not found on the ranking list.) | return 1 }
  293. if (%usr == -2) { msg # $stl(?,Error has occurred while rank checking.) | return 1 }
  294. var %rewards = $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),rewards),$v1,0)
  295. ddecmd say %CS.Chan $stl(?,² $+ $gettok($line(@Rank-Points,%usr),2,92) ¶(² $+ $gettok($line(@Rank-Points,%usr),1,92) $+ ¶)( $+ $accessbyseam($gettok($line(@Rank-Points,%usr),1,92)) $+ ) ¶got² %rewards ¶achievements $+ $chr(44) which constitute² $+($round($calc((%rewards / 40)*100),2),%) ¶of total achievements.)
  296. ddecmd say %CS.Chan $stl(?,Kills:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),kills),$v1,0) ¶Deaths:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),deaths),$v1,0) ¶Rifles:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),aims),$v1,0) ¶Stabs:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),knife),$v1,0) ¶Grenades:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),grenade),$v1,0))
  297. ddecmd say %CS.Chan $stl(?,¶Shotguns:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),shotguns),$v1,0) ¶Plants:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),plants),$v1,0) ¶Defuses:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),defuses),$v1,0) ¶TKs:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),Tks),$v1,0) ¶Total games done:² $iif($readini(stats.ini,$gettok($line(@Rank-Points,%usr),1,92),gathers),$v1,0))
  298. }
  299. elseif (($1 == MVPs) || ($1 == MVP)) && ($cancmd) && (!%CS.Flood) {
  300. if (!$secure($2-)) { return 1 }
  301. set -u3 %CS.Flood ByZxoR
  302. var %usr $iif($mid($2,1,1) != $chr(35),$iif($fline(@Rank-MVPS,* $+ $iif($2,$2-,$nick) $+ *),$v1,-1),$iif($mid($2,2) isnum,$iif($$mid($2,2) <= $line(@Rank-MVPs,0),$iif($mid($2,2) > 0,$mid($2,2),1),$line(@Rank-MVPs,0)),-2))
  303. if (%usr == -1) { ddecmd say # $stl(?,$iif($2,$v1,$nick) is not in the MVPs list.) | return 1 }
  304. if (%usr == -2) { ddecmd say # $stl(?,Error has occurred while MVP checking.) | return 1 }
  305. ddecmd say # $stl(?,² $+ $gettok($line(@Rank-MVPs,%usr),2,92) ¶(² $+ $gettok($line(@Rank-MVPs,%usr),1,92) $+ ¶) ¶has accumulate²  $+ $gettok($line(@Rank-MVPs,%usr),3,92) $+ ¶ MVPs and ranked  $+ %usr $+ / $+ $line(@Rank-MVPs,0) $+  on the top MVPs list.)
  306. }
  307. elseif ($1 == Agent) && (!%CS.Flood) {
  308. set -u3 %CS.Flood ByZxoR
  309. if ($NGet(%CS.temp.bnum,Status) != OFF) {
  310. msg # $stl(%cn,$NGet(%CS.temp.bnum,Name) Agent:² %CS [ $+ [ %CS.Temp.bnum ] $+ .Admin ] $+ ¶.)
  311. }
  312. }
  313. elseif ($1 == Refresh) && (($userbyhost($address($nick,2)) == Owner) || ($userbyhost($address($nick,2)) == Master)) {
  314. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-refresh)) { msg # $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  315. if (!$2) { .timerrefresh 1 120 /unset %CS.Passkey $(|) msg # $stl(?,Gatherbot refreshing has been faild.) | set %CS.Passkey $r(a,z) $+ $r(A,Z) $+ $r(1,9) $+ $r(A,Z) $+ $r(1,88) $+ $r(a,z) | msg # $stl(?,Are you sure you want to refresh gatherbot? Use the generated passkey: $NGet(%cn,Sign) $+ $lower($1) %CS.Passkey) }
  316. else { if ($2 == %CS.Passkey) { set %CS.Flood REFRESHING | mode # m | msg # $stl(?,Please wait...) | retryrcons | updatelist quiet | msg # $stl(?,Gatherbot has been refreshed.) | unset %CS.Passkey | .timerrefresh off | mode # -m | .timerunsetfloodrefresh 1 3 /unset %CS.Flood } | elseif (%CS.Passkey) { msg # $stl(?,Wrong Passkey!) } }
  317. }
  318. elseif ($1 == top) && ($cancmd) && (!%CS.Flood) {
  319. set -u3 %CS.Flood ByZxoR
  320. if ($line(@Rank-Points,0) == 0) { msg %CS.Chan $stl(?,There is no enough players to use TOP command.) | return 1 }
  321. if ($2 == players) {
  322. if (%stats.state == 1) { msg # $stl(?,Top players List: $+(http://,%stats.site,/,%stats.plist,?sort=points&to=50)) | return 1 }
  323. var %cur = 1,%max = 5,%buffer
  324. ddecmd say %CS.Chan $stl(?,The² Top [ $+ [ %max ] $+ -Players ] ¶Out Of² $line(@Rank-Points,0) ¶known Players:)
  325. while (%cur <= %max) {
  326. if ($line(@Rank-Points,%cur)) {
  327. var %stid = $gettok($v1,1,92)
  328. .timer 1 %cur /ddecmd say %CS.Chan $stl(?, $+ $ord(%cur) $+ :² $gettok($v1,2,92) $+ ¶(² $+ %stid $+ ¶), Points:² $gettok($v1,3,92) $+ ¶, Kills:² $iif($readini(Stats.ini,$gettok($v1,1,92),Kills),$v1,0) $+ ¶, Deaths:² $iif($readini(Stats.ini,%stid, deaths ),$v1,0) $+ ¶.)
  329. }
  330. inc %cur
  331. }
  332. }
  333. elseif ($2 == Plants) {
  334. if ($NGet(%cn,Game) == TF2) { msg %CS.Chan $stl(?,Top Plants is not available for ²Team-Fortress¶.) | return 0 }
  335. var %cur = 1
  336. var %max = 5
  337. var %buffer
  338. ddecmd say %CS.Chan $stl(?,The² Top [ $+ [ %max ] $+ -Planters ] ¶Out Of² $line(@Rank-Plants,0) ¶known Planters:)
  339. while (%cur <= %max) {
  340. if ($line(@Rank-Plants,%cur)) {
  341. var %stid = $gettok($v1,1,92)
  342. var %vline = $line(@Rank-Plants,%cur)
  343. .timer 1 %cur /ddecmd say %CS.Chan $stl(?, $+ $ord(%cur) $+ :² $gettok($v1,2,92) $+ ¶(² $+ %stid $+ ¶) Plants:² $gettok(%vline,3,92) Points:² $iif($readini(Stats.ini,$gettok($v1,1,92),Points),$v1,0))
  344. }
  345. inc %cur
  346. }
  347. }
  348. elseif ($2 == mvps) {
  349. if (%stats.state == 1) { msg # $stl(?,Top MVPs players List: $+(http://,%stats.site,/,%stats.plist,?sort=mvps&to=10)) | return 1 }
  350. var %cur = 1
  351. var %max = 5
  352. var %buffer
  353. ddecmd say %CS.Chan $stl(?,The² Top [ $+ [ %max ] $+ -MVPs ] ¶Out Of² $line(@Rank-mvps,0) ¶known Players:)
  354. while (%cur <= %max) {
  355. if ($line(@Rank-mvps,%cur)) {
  356. var %stid = $gettok($v1,1,92)
  357. var %vline = $line(@Rank-mvps,%cur)
  358. .timer 1 %cur /ddecmd say %CS.Chan $stl(?, $+ $ord(%cur) $+ :² $gettok($v1,2,92) $+ ¶(² $+ %stid $+ ¶) MVPs:² $gettok(%vline,3,92) Points:² $iif($readini(Stats.ini,$gettok($v1,1,92),Points),$v1,0))
  359. }
  360. inc %cur
  361. }
  362. }
  363. elseif ($2 == Aces) {
  364. if ($NGet(%cn,Game) == TF2) { msg %CS.Chan $stl(?,Top ACEs is not available for ²Team-Fortress¶.) | return 0 }
  365. var %cur = 1
  366. var %max = 5
  367. var %buffer
  368. ddecmd say %CS.Chan $stl(?,The² Top [ $+ [ %max ] $+ -Aces ] ¶Out Of² $line(@Rank-aces,0) ¶known Acers:)
  369. while (%cur <= %max) {
  370. if ($line(@Rank-aces,%cur)) {
  371. var %stid = $gettok($v1,1,92)
  372. var %vline = $line(@Rank-aces,%cur)
  373. .timer 1 %cur /ddecmd say %CS.Chan $stl(?, $+ $ord(%cur) $+ :² $gettok($v1,2,92) $+ ¶(² $+ %stid $+ ¶) ACEs:² $gettok(%vline,3,92) Points:² $iif($readini(Stats.ini,$gettok($v1,1,92),Points),$v1,0))
  374. }
  375. inc %cur
  376. }
  377. }
  378. elseif ($2 == Kills) {
  379. if (%stats.state == 1) { msg # $stl(?,Top kills List: $+(http://,%stats.site,/,%stats.plist,?sort=nkills&to=10)) | return 1 }
  380. var %cur = 1
  381. var %max = 5
  382. var %buffer
  383. ddecmd say %CS.Chan $stl(?,The² Top [ $+ [ %max ] $+ -Kills ] ¶Out Of² $line(@Rank-kills,0) ¶known Killers:)
  384. while (%cur <= %max) {
  385. if ($line(@Rank-kills,%cur)) {
  386. var %stid = $gettok($v1,1,92)
  387. var %vline = $line(@Rank-kills,%cur)
  388. .timer 1 %cur /ddecmd say %CS.Chan $stl(?, $+ $ord(%cur) $+ :² $gettok($v1,2,92) $+ ¶(² $+ %stid $+ ¶) Kills:² $gettok(%vline,3,92) Points:² $iif($readini(Stats.ini,$gettok($v1,1,92),Points),$v1,0))
  389. }
  390. inc %cur
  391. }
  392. }
  393. elseif ($2 == Deaths) {
  394. if (%stats.state == 1) { msg # $stl(?,Top deaths List: $+(http://,%stats.site,/,%stats.plist,?sort=deaths&to=10)) | return 1 }
  395. var %cur = 1
  396. var %max = 5
  397. var %buffer
  398. ddecmd say %CS.Chan $stl(?,The² Top [ $+ [ %max ] $+ -Deaths ] ¶Out Of² $line(@Rank-deaths,0) ¶known noobs:)
  399. while (%cur <= %max) {
  400. if ($line(@Rank-Deaths,%cur)) {
  401. var %stid = $gettok($v1,1,92)
  402. var %vline = $line(@Rank-Deaths,%cur)
  403. .timer 1 %cur /ddecmd say %CS.Chan $stl(?, $+ $ord(%cur) $+ :² $gettok($v1,2,92) $+ ¶(² $+ %stid $+ ¶) Deaths:² $gettok(%vline,3,92) Points:² $iif($readini(Stats.ini,$gettok($v1,1,92),Points),$v1,0))
  404. }
  405. inc %cur
  406. }
  407. }
  408. else { msg # $stl(?,Use:² %usign $+ TOP <Players/Aces/Plants/Kills/Deaths/MVPs>) | if (%stats.state == 1) { msg # $stl(?,You can watch the full players list at:² $+(http://,%stats.site,/,%stats.plist) $+ ¶.) } }
  409. }
  410. elseif ($1 == Admins) && ($cancmd) && (!%CS.Flood) { returnlist Admins }
  411. elseif ($1 == Masters) && ($cancmd) && (!%CS.Flood) { returnlist Masters }
  412. elseif ($1 == Owners) && ($cancmd) && (!%CS.Flood) { returnlist Owners }
  413. elseif ($1 == score) && ($cancmd) && (!%CS.Flood) {
  414. set -u3 %CS.Flood ByZxoR
  415. if ($NGet(%CS.Temp.bnum,Status) == OFF) { msg # $stl(%cn,$NGet(%CS.Temp.bnum,name) is offline.) }
  416. elseif ($NGet(%CS.Temp.bnum,Status) == Adding) { return 1 }
  417. elseif ($NGet(%CS.Temp.bnum,Status) == On) {
  418. if ($NGet(%cn,Game) == CS) {
  419. if ($NGet(%cn,Type) != GG) { msg # $stl(%cn,² $+ $NGet(%CS.Temp.bnum,name) ¶ $+ $iif(%CS [ $+ [ %CS.Temp.bnum ] $+ .Half ] == NotYet,haven't started yet.,Score: Team-A(² $+ $teamcolor(a,$TeamScore(a,%CS.Temp.bnum),%CS.Temp.bnum) $+ ¶) Team-B(² $+ $teamcolor(b,$TeamScore(b,%CS.Temp.bnum),%CS.Temp.bnum) $+ ¶) Half(² $+ $iif($NGet(%cn,Type) == Regular,$iif($TeamScore(b,%CS.Temp.bnum) != Waiting,$+ %CS [ $+ [ %CS.Temp.bnum ] $+ .Half ],Not-live),DeathMatch) $+ ¶))) }
  420. else { msg %CS.Chan $stl(%cn,² $+ $NGet(%CS.Temp.bnum,name) ¶ $+ $iif(%CS [ $+ [ %CS.Temp.bnum ] $+ .Half ] == NotYet,haven't started yet.,Lead players: $iif($gg_sortusers(%cn),$v1,None.))) }
  421. }
  422. elseif ($NGet(%cn,Game) == TF2) {
  423. if ($NGET(%cn,Type) == CTF) { msg %CS.Chan $stl(%cn,² $+ $nget(%cn,name) $iif(%CS [ $+ [ %cn ] $+ .Live ] == ON,¶Score: 04RED(¶ $+ %CS [ $+ [ %cn ] $+ .RED ] $+ 04) 12BLUE(¶ $+ %CS [ $+ [ %cn ] $+ .blue ] $+ 12) ¶Game(² $+ $tf2.prefixtotype($NGet(%cn,type)) $+ ¶).,¶haven't started yet.)) }
  424. else { msg %CS.Chan $stl(%cn,² $+ $nget(%cn,name) ¶Live score is not available in² $tf2.prefixtotype($NGet(%cn,type)) ¶maps. Winners will be announced at the end of the gather.) }
  425. }
  426.  
  427. }
  428. }
  429. elseif ($1 == notice) || ($1 == N) && ($userbyhost($address($nick,2))) && (!%CS.Flood) {
  430. if (!$secure($2-)) { return 1 }
  431. if ($2) { set -u3 %CS.Flood ByZxoR | .mode # -N | .notice # $stl(?,$2-) | .Mode # +N }
  432. else { return 1 }
  433. }
  434. elseif (($1 == dban) || ($1 == reason)) && ($2) && ($cancmd) && (!%CS.Flood) {
  435. if (!$secure($2-)) { return 1 }
  436. set -u3 %CS.Flood ByZxoR
  437. if (!$issteam($2)) { msg # $stl(?,Error: Please input vaild banned steam.) | return 1 }
  438. if ($isban($2)) { msg %CS.chan $stl(?,² $+ $iif($issteam($2),$nickbysteam($2),$2) ¶Banned by:² $dban($2).by ¶Expire:² $expiredate($2) ¶Time left:² $timeleftbysteam($2) ¶For reason:² $dban($2).reason) }
  439. else { msg %CS.Chan $stl(?,²Nick\SteamID¶ is not banned.) }
  440. }
  441. elseif ($1 == gathers) && ($cancmd) && (!%CS.Flood) {
  442. if (!$secure($2-)) { return 1 }
  443. set -u3 %CS.Flood ByZxoR
  444. if ($2) {
  445. var %target = $iif($issteam($2),$2,$steambynick($2))
  446. if ($readini(Stats.ini,%target,Gathers)) { msg # $stl(%cn,² $+ $readini(Stats.ini,%target,Nick) $+ ¶(² $+ %target $+ ¶) has done² $readini(Stats.ini,%target,Gathers) ¶gathers so far.) }
  447. else { msg # $stl(%cn,'² $+ $2 $+ ¶' Not found) }
  448. }
  449. else {
  450. msg # $stl(%cn,² $+ $NGet(%CS.Temp.Bnum,Name) ¶was runned for² $numer($NGet(%CS.Temp.Bnum,number)) ¶gathers $+ $chr(44) The last gather was² $overtime($gettok($Nget(%cn,last),1,32)) ago¶.)
  451. return 1
  452. }
  453. }
  454. elseif (($1 == vent) || ($1 == ventrilo)) && (!%CS.Flood) {
  455. set -u3 %CS.Flood ByZxoR
  456. if ($NGet(%cn,TS-selected) == 1) { msg %CS.Chan $stl(%cn,² $+ $NGet(%cn,name) ¶is using Team-Speak instead of Ventrilo $+ $chr(44) Use² $Nget(%cn,Sign) $+ TeamSpeak¶ for more information.) | return 1 }
  457. if (3.0* iswm $NGET(%cn,V-Ver)) { msg # %CS [ $+ [ %cn ] $+ .V-Response ] }
  458. else { msg # $stl(%cn,Ventrilo Server: $NGET(%cn,V-IP) ( $+ $NGET(%cn,V-Ver) $+ )) }
  459. }
  460. elseif (($1 == ts) || ($1 == teamspeak)) && (!%CS.Flood) {
  461. set -u3 %CS.Flood ByZxoR
  462. if ($NGet(%cn,TS-selected) == 0) { msg %CS.Chan $stl(%cn,² $+ $NGet(%cn,name) ¶is using Ventrilo instead of Team-Speak $+ $chr(44) Use² $Nget(%cn,Sign) $+ Vent¶ for more information.) | return 1 }
  463. set %TS [ $+ [ %cn ] $+ .status ] Details
  464. TSRcon %cn serverlist
  465. }
  466. elseif ($1 == stop) && ($NGet(%CS.Temp.bnum,Status) != OFF) && ($userbyhost($address($nick,2))) {
  467. msg # $stl(%cn,² $+ $NGet(%CS.Temp.bnum,name) ¶Number² $numer(%CS [ $+ [ %CS.Temp.bnum ] $+ .number ]) ¶has just stopped by the agent² $nick $+ $iif($2,¶ $+ $chr(44) Reason:² $2-,¶.))
  468. Gather-END %CS.Temp.bnum
  469. set -u3 %CS.Flood ByZxoR
  470. }
  471. elseif ($1 == map) && (!%CS.Flood) {
  472. var %bnum = %CS.Temp.bnum
  473. set -u3 %CS.Flood ByZxoR
  474. if (!$2) {
  475. if ($NGet(%bnum,Status) == OFF) { msg # $stL(%cn,$NGet(%bnum,name) is offline.) | return 1 }
  476. elseif ($NGet(%bnum,Status) == Adding) || ($NGet(%bnum,Status) == ON) { msg # $stl(%cn,$NGet(%bnum,name) - Map is:² %CS [ $+ [ %bnum ] $+ .map ] $+ ¶.) | return 1 }
  477. }
  478. else {
  479. if ($userbyhost($wildsite)) && ($NGet(%bnum,Status) == Adding) {
  480. if (!$secure($2-)) { return 1 }
  481. if (ctf_* iswm $2) && ($Nget(%cn,Game) == TF2) { var %CType = CTF }
  482. elseif (cp_* iswm $2) && ($Nget(%cn,Game) == TF2) { var %ctype = CP }
  483. elseif (pl_* iswm $2) && ($Nget(%cn,Game) == TF2) { var %ctype = PL }
  484. elseif (plr_* iswm $2) && ($Nget(%cn,Game) == TF2) { var %ctype = PLR }
  485. elseif ($Nget(%cn,Game) == TF2) { msg %CS.Chan $stl(%cn,Unknown game type. Only: [cp/ctf/pl/plr] allowed.) | return 0 }
  486. if ($Nget(%cn,Game) == TF2) { NSet %cn Type %Ctype }
  487. msg # $stl(%cn,The map has been changed to² $lower($2) $iif($Nget(%cn,Game) == TF2,$+ ¶(² $+ $tf2.prefixtotype(%ctype) $+ ¶)) ¶by² $nick $+ ¶.)
  488. set %CS [ $+ [ %bnum ] $+ .map ] $lower($2)
  489. if ($Nget(%cn,Game) == CS) rcmd %cn changelevel $lower($2)
  490. elseif ($Nget(%cn,Game) == TF2) rcmd %cn map $lower($2)
  491. }
  492. }
  493. }
  494. elseif ($1 == start) && ($canrun(%CS.Temp.bnuM)) && ($userbyhost($address($nick,2))) && (!%CS.FLood) && ($secure($2-)) {
  495. if ($NGet(%cn,RandMap) == 0) && (!$2) && (!%CS [ $+ [ %cn ] $+ .Requestmap ]) { msg # $stl(?,$NGet(%cn,Name) cannot start gather with random map $+ $chr(44) Please specify map!) | return 1 }
  496. if ($NGet(%cn,connected) != ON) { msg # $stl(?,² $+ $NGet(%cn,name) ¶cannot be started because the server is not connected to the gatherbot ( $+ $NGet(%CS.Temp.bnum,Connected) $+ ).) | return 1 }
  497. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-Run)) { msg # $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  498. set %CS [ $+ [ %CS.Temp.bnum ] $+ .map ] $lower($iif($2,$2,$iif(%CS [ $+ [ %cn ] $+ .requestmap ],$v1,$iif($exists(Maplist [ $+ [ %cn ] $+ .txt ]),$read(Maplist [ $+ [ %cn ] $+ .txt ]),de_dust2))))
  499. if (ctf_* iswm %CS [ $+ [ %CS.Temp.bnum ] $+ .map ]) && ($Nget(%cn,Game) == TF2) { var %CType = CTF }
  500. elseif (cp_* iswm %CS [ $+ [ %CS.Temp.bnum ] $+ .map ]) && ($Nget(%cn,Game) == TF2) { var %ctype = CP }
  501. elseif (pl_* iswm %CS [ $+ [ %CS.Temp.bnum ] $+ .map ]) && ($Nget(%cn,Game) == TF2) { var %ctype = PL }
  502. elseif (plr_* iswm %CS [ $+ [ %CS.Temp.bnum ] $+ .map ]) && ($Nget(%cn,Game) == TF2) { var %ctype = PLR }
  503. elseif ($Nget(%cn,Game) == TF2) { msg %CS.Chan $stl(?,Unknown game type. Only: [cp/ctf/pl/plr] allowed.) | return 0 }
  504. if ($Nget(%cn,Game) == TF2) { NSet %cn Type %Ctype }
  505. set %CS [ $+ [ %CS.Temp.bnum ] $+ .pass ] $r(100,999)
  506. NSet %CS.Temp.bnum Status Adding
  507. .timer 1 10 mode # -m
  508. set -u10 %CS.AddFlood WAITING FOR -m
  509. rcon %cn
  510. set %CS [ $+ [ %CS.Temp.bnum ] $+ .adding ] $nick
  511. set %CS [ $+ [ %CS.Temp.bnum ] $+ .adminfile ] $isacc($usernamebyhost($address($nick,2)))
  512. set %CS [ $+ [ %CS.Temp.bnum ] $+ .adminacc ] $usernamebyhost($address($nick,2))
  513. writeini $isacc($usernamebyhost($address($nick,2))) $usernamebyhost($address($nick,2)) LastGather $date $time
  514. set %CS [ $+ [ %CS.Temp.bnum ] $+ .Admin ] $nick
  515. set %CS [ $+ [ %CS.Temp.bnum ] $+ .ctime ] $ctime($date $time)
  516. set %CS [ $+ [ %CS.Temp.bnum ] $+ .number ] $calc($NGet(%CS.Temp.bnum,number) +1)
  517. set %CS [ $+ [ %CS.Temp.bnum ] $+ .VentA ] $r(100,999)
  518. set %CS [ $+ [ %CS.Temp.bnum ] $+ .VentB ] $r(100,999)
  519. if ($NGet(%cn,TS-Selected) == 0) {
  520. .write -c ventcmd.txt /subchan $qt($NGet(%CS.Temp.bnum,V-Chan)) $qt($NGet(%CS.Temp.bnum,Name) is waiting) $qt(ZxoR Gatherbot) $qt($r(1,9999)) $qt($r(1,9999)) $qt(Do $NGet(%CS.Temp.bnum,sign) $+ add)
  521. .run -hide ventrcon.exe -f ventcmd.txt -n $qt(ZxoRGatherbot) -a $NGet(%CS.Temp.bnum,V-Rcon) $NGet(%CS.Temp.bnum,V-IP)
  522. }
  523. if ($Nget(%cn,Game) == CS) {
  524. .timer 1 1 rcmd %CS.Temp.bnum admin_command admin_execall echo "Gather is starting on this server."
  525. .timer 1 1 rcmd %CS.Temp.bnum admin_command admin_execall disconnect
  526. .timer 1 1 rcmd %CS.Temp.bnum admin_command admin_execall disconnect
  527. .timer 1 2 rcmd %CS.Temp.bnum admin_command admin_rcon csdm_active 0
  528. .timer 1 2 rcmd %CS.Temp.bnum admin_command admin_rcon csdm_disable
  529. .timer 1 2 rcmd %CS.Temp.bnum amx_gungame 0
  530. .timer 1 2 rcmd %CS.Temp.bnum gg_enabled 0
  531. .timer 1 2 rates %CS.Temp.bnum
  532. .msg $nick $stl(%cn,²Gather agent¶: Server-IP:² $NGet(%cn,IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet(%cn,TS-Selected),TeamSpeak,Ventrilo) $+ -IP:² $NGet(%cn,V-IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet(%cn,TS-Selected),TeamSpeak,Ventrilo) $+ -Password:² Team-B:( $+ %CS [ $+ [ %cn ] $+ .VentA ] $+ ) Team-B:( $+ %CS [ $+ [ %cn ] $+ .VentB ] $+ ) $+ ¶ $+ $chr(44) Server-Password:² %CS [ $+ [ %cn ] $+ .Pass ] $+ ¶.)
  533. }
  534. elseif ($NGet(%cn,Game) == TF2) {
  535. .timer 1 2 rcmd %CS.Temp.bnum writeid
  536. .timer 1 2 rcmd %CS.Temp.bnum writeip
  537. .timer 1 2 rcmd %CS.Temp.bnum log on
  538. .timer 1 2 rcmd %CS.Temp.bnum sv_log_onefile 0
  539. .timer 1 2 rcmd %CS.Temp.bnum sv_logfile 1
  540. .timer 1 2 rcmd %CS.Temp.bnum sv_logbans 1
  541. .timer 1 2 rcmd %CS.Temp.bnum sv_logecho 1
  542. .timer 1 2 rcmd %CS.Temp.bnum sv_allowdownload 1
  543. .timer 1 2 rcmd %CS.Temp.bnum sv_allowupload 1
  544. .timer 1 2 rcmd %CS.Temp.bnum mp_autoteambalance 0
  545. .timer 1 2 rcmd %CS.Temp.bnum mp_allowspectators 0
  546. .timer 1 18 rcmd %CS.Temp.bnum mp_tournament 0
  547. .timer 1 18 rcmd %CS.Temp.bnum mp_friendlyfire 1
  548. .timer 1 18 rcmd %CS.Temp.bnum sv_alltalk 0
  549. .timer 1 18 rcmd %CS.Temp.bnum mp_scrambleteams 0
  550. .timer 1 18 rcmd %CS.Temp.bnum mp_tournament_restart 3
  551. .msg $nick $stl(%cn,²Gather agent¶: Server-IP:² $NGet(%cn,IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet(%cn,TS-Selected),TeamSpeak,Ventrilo) $+ -IP:² $NGet(%cn,V-IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet(%cn,TS-Selected),TeamSpeak,Ventrilo) $+ -Password:² RED:( $+ %CS [ $+ [ %cn ] $+ .VentA ] $+ ) BLUE:( $+ %CS [ $+ [ %cn ] $+ .VentB ] $+ ) $+ ¶ $+ $chr(44) Server-Password:² %CS [ $+ [ %cn ] $+ .Pass ] $+ ¶.)
  552. }
  553. .timer 1 3 rcmd %CS.Temp.bnum sv_password %CS [ $+ [ %CS.Temp.bnum ] $+ .pass ]
  554. .timer 1 5 rcmd %CS.Temp.bnum sv_password %CS [ $+ [ %CS.Temp.bnum ] $+ .pass ]
  555. .timer 1 1 msg # $stl(%cn,² $+ $NGet(%CS.Temp.bnum,Name) ¶number² $numer(%CS [ $+ [ %CS.Temp.bnum ] $+ .number ]) ¶started now!)
  556. .timer 1 2 msg # $stl(%cn,Map:² %CS [ $+ [ %CS.Temp.bnum ] $+ .map ] $+ ¶ $+ $chr(44) Agent:² $nick $+ ¶ $+ $chr(44) To add yourself write:² %usign $+ add¶.)
  557. if (!$NGet(%cn,Rank)) .timer 1 3 msg # $stl(%cn,Please note that² $NGet(%cn,name) ¶does not keep statistics of games played in it.)
  558. .timer 1 8 rcmd %CS.Temp.bnum map %CS [ $+ [ %CS.Temp.bnum ] $+ .map ]
  559. mode # +m
  560. if ($exists(MVPs [ $+ [ %cn ] $+ .ini ])) { .remove MVPs [ $+ [ %cn ] $+ .ini ] }
  561. }
  562. elseif ($1 == del) || ($1 == rem) || ($1 == delete) || ($1 == remove) {
  563. if ($NGet(%CS.Temp.bnum,status) == adding) {
  564. if ($istok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ],$nick,32)) {
  565. if ($nick == %CS [ $+ [ %CS.Temp.bnum ] $+ .Admin ]) { return 1 }
  566. set %CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ] $remtok(%CS [ $+ [ %CS.Temp.Bnum ] $+ .adding ],$nick,32)
  567. if (!%CS.Flood2) { csplayers %cn | set -u5 %CS.Flood2 ByZxoR }
  568. }
  569. else { return 1 }
  570. }
  571. }
  572. }
  573. }
  574. elseif ($chan !ischan) {
  575. if ($1 == !add) && ($userbyhost($wildsite)) {
  576. if (!$secure($2-)) { return 1 }
  577. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-addremove)) { msg $nick $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  578. if ($2 == owner) && ($userbyhost($address($nick,2)) == Owner) {
  579. if ($5) {
  580. if ($isacc($3)) { msg $nick $stl(?,Username $qt($3) already exists as $remove($v1,s.ini) $+ .) | return 1 }
  581. writeini owners.ini $$3 Password $md5($$4)
  582. writeini owners.ini $$3 Logged 0
  583. writeini owners.ini $$3 Steam $$5
  584. writeini owners.ini $$3 Gathers 0
  585. writeini owners.ini $$3 admins 0
  586. writeini owners.ini $$3 masters 0
  587. writeini owners.ini $$3 owners 0
  588. incini $isacc($usernamebyhost($wildsite)) $usernamebyhost($wildsite) owners 1
  589. autoupt $$5
  590. msg $nick $stl(?,The owner $qt($3) has been added to OWNERS list.)
  591. }
  592. else { msg $nick $stl(?,Syntax error. User: $1-2 <Username> <Password> <SteamID>) }
  593. }
  594. elseif ($2 == master) && ($userbyhost($address($nick,2)) == Owner) {
  595. if ($5) {
  596. if ($isacc($3)) { msg $nick $stl(?,Username $qt($3) already exists as $remove($v1,s.ini) $+ .) | return 1 }
  597. writeini masters.ini $$3 Password $md5($$4)
  598. writeini masters.ini $$3 Logged 0
  599. writeini masters.ini $$3 Steam $$5
  600. writeini masters.ini $$3 Gathers 0
  601. writeini masters.ini $$3 admins 0
  602. writeini masters.ini $$3 masters 0
  603. writeini masters.ini $$3 owners 0
  604. incini $isacc($usernamebyhost($wildsite)) $usernamebyhost($wildsite) masters 1
  605. autoupt $$5
  606. msg $nick $stl(?,The master $qt($3) has been added to MASTERS list.)
  607. }
  608. else { msg $nick $stl(?,Syntax error. User: $1-2 <Username> <Password> <SteamID>) }
  609. }
  610. elseif ($2 == admin) && (($userbyhost($address($nick,2)) == Owner) || ($userbyhost($address($nick,2)) == Master)) {
  611. if ($5) {
  612. if ($isacc($3)) { msg $nick $stl(?,Username $qt($3) already exists as $remove($v1,s.ini) $+ .) | return 1 }
  613. writeini admins.ini $$3 Password $md5($$4)
  614. writeini admins.ini $$3 Logged 0
  615. writeini admins.ini $$3 Steam $$5
  616. writeini admins.ini $$3 Gathers 0
  617. writeini admins.ini $$3 admins 0
  618. writeini admins.ini $$3 masters 0
  619. writeini admins.ini $$3 owners 0
  620. incini $isacc($usernamebyhost($wildsite)) $usernamebyhost($wildsite) admins 1
  621. autoupt $$5
  622. msg $nick $stl(?,The admin $qt($3) has been added to ADMINS list.)
  623. }
  624. else { msg $nick $stl(?,Syntax error. User: $1-2 <Username> <Password> <SteamID>) }
  625. }
  626. else { msg $nick $stl(?,Error: !ADD <owner/master/admin> <username> <password> <steamid>) }
  627. }
  628. elseif ($1 == !info) || ($1 == !details) || ($1 == !whois) || ($1 == !who) && ($userbyhost($wildsite)) {
  629. if (!$2) { msg $nick $stl(?,Error: $1 <Username>) | return 1 }
  630. if (!$isacc($2)) { msg $nick $stl(?,Error: Username not found) | return 1 }
  631. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-info)) { msg $nick $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  632. msg $nick $stl(?,¶The user² $qt($2) ¶is² $remove($isacc($2),s.ini) $+ ¶ $+ $chr(44) Last logged at:² $iif($readini($isacc($2),$2,LastLogged),$v1,Never) $+ ¶ $+ $chr(44) Last run was:² $iif($readini($isacc($2),$2,LastGather),$v1,Never) $+ ¶.)
  633. msg $nick $stl(?,$qt($2) appointed $iif($readini($isacc($2),$2,owners),$v1,0) owners $+ $chr(44) $iif($readini($isacc($2),$2,masters),$v1,0) masters and $iif($readini($isacc($2),$2,admins),$v1,0) admins.)
  634. }
  635. elseif ($1 == !BanHelp) && ($userbyhost($wildsite)) && (!%CS.PMFlood) {
  636. set -u5 %CS.PMFlood ByZxoR
  637. msg $nick $stl(?,Syntax: !ban <steamID> [duration] [reason])
  638. .timer 1 1 msg $nick $stl(?,Duration - $chr(224) $+ $chr(229) $+ $chr(248) $+ $chr(234) $+ $chr(32) $+ $chr(228) $+ $chr(225) $+ $chr(224) $+ $chr(239))
  639. .timer 1 2 msg $nick $stl(?,²!ban STEAM_0:0:000000 7d Cheater¶ - $chr(224) $+ $chr(237) $+ $chr(32) $+ $chr(250) $+ $chr(248) $+ $chr(246) $+ $chr(228) $+ $chr(32) $+ $chr(236) $+ $chr(250) $+ $chr(250) $+ $chr(32) $+ $chr(225) $+ $chr(224) $+ $chr(239) $+ $chr(32) $+ $chr(236) $+ $chr(238) $+ $chr(249) $+ $chr(234) $+ $chr(32) $+ $chr(249) $+ $chr(225) $+ $chr(229) $+ $chr(242) $+ $chr(44) $+ $chr(32) $+ $chr(228) $+ $chr(230) $+ $chr(239) $+ $chr(32) $+ $chr(224) $+ $chr(250) $+ $chr(32) $+ $chr(228) $+ $chr(230) $+ $chr(238) $+ $chr(239) $+ $chr(32) $+ $chr(228) $+ $chr(225) $+ $chr(224))
  640. .timer 1 3 msg $nick $stl(?,²!ban STEAM_0:0:000000 7d2h25m Cheater¶ - $chr(224) $+ $chr(237) $+ $chr(32) $+ $chr(250) $+ $chr(248) $+ $chr(246) $+ $chr(228) $+ $chr(32) $+ $chr(236) $+ $chr(250) $+ $chr(250) $+ $chr(32) $+ $chr(225) $+ $chr(224) $+ $chr(239) $+ $chr(32) $+ $chr(236) $+ $chr(238) $+ $chr(249) $+ $chr(234) $+ $chr(32) $+ $chr(249) $+ $chr(225) $+ $chr(229) $+ $chr(242) $+ $chr(32) $+ $chr(249) $+ $chr(242) $+ $chr(250) $+ $chr(233) $+ $chr(233) $+ $chr(237) $+ $chr(32) $+ $chr(229) $+ $chr(50) $+ $chr(53) $+ $chr(32) $+ $chr(227) $+ $chr(247) $+ $chr(229) $+ $chr(250) $+ $chr(44) $+ $chr(32) $+ $chr(228) $+ $chr(230) $+ $chr(239) $+ $chr(32) $+ $chr(224) $+ $chr(250) $+ $chr(32) $+ $chr(228) $+ $chr(230) $+ $chr(238) $+ $chr(239) $+ $chr(32) $+ $chr(228) $+ $chr(225) $+ $chr(224))
  641. }
  642. elseif ($1 == !del) || ($1 == !delete) || ($1 == !remove) || ($1 == !rem) && ($userbyhost($wildsite)) {
  643. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-addremove)) { msg $nick $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  644. if ($2 == owner) && ($userbyhost($address($nick,2)) == Owner) {
  645. if ($3) {
  646. if ($isacc($3) != owners.ini) { msg $nick $stl(?,Username $qt($3) is not in owners list.) | return 1 }
  647. var %sid = $readini(owners.ini,$3,steam)
  648. remini owners.ini $3
  649. msg $nick $stl(?,The owner $3 removed from OWNERS list.)
  650. }
  651. autoupt %sid
  652. else { msg $nick $stl(?,Syntax error. Use: $1 owner <Username>) }
  653. }
  654. elseif ($2 == master) && ($userbyhost($address($nick,2)) == Owner) {
  655. if ($3) {
  656. if ($isacc($3) != masters.ini) { msg $nick $stl(?,Username $qt($3) is not in masters list.) | return 1 }
  657. var %sid = $readini(masters.ini,$3,steam)
  658. remini masters.ini $3
  659. msg $nick $stl(?,The master $3 removed from MASTERS list.)
  660. autoupt %sid
  661. }
  662. else { msg $nick $stl(?,Syntax error. Use: !del master <Username>) }
  663. }
  664. elseif ($2 == admin) && ($userbyhost($address($nick,2)) == Owner) || ($userbyhost($address($nick,2)) == Master) {
  665. if ($3) {
  666. if ($isacc($3) != admins.ini) { msg $nick $stl(?,Username $qt($3) is not in admins list.) | return 1 }
  667. var %sid = $readini(admins.ini,$3,steam)
  668. remini admins.ini $3
  669. msg $nick $stl(?,The admin $3 removed from ADMINS list.)
  670. autoupt %sid
  671. }
  672. else { msg $nick $stl(?,Syntax error. Use: !del admin <Username>) }
  673. }
  674. else { msg $nick $stl(?,Error: !DEL <owner/master/admin> <username>) }
  675. }
  676. elseif ($1 == !set) && ($userbyhost($wildsite)) && ($userbyhost($address($nick,2)) == Owner) {
  677. if (!$secure($2-)) { return 1 }
  678. if ($readini($userbyhost($wildsite) $+ s.ini,$usernamebyhost($wildsite),Cant-set)) { msg $nick $stl(?,Sorry $nick $+ $chr(44) You dont have access to use this command.) | return 1 }
  679. if ($2 == channel) { part %CS.Chan | set %CS.Chan $$3 | msg $nick $stl(?,Channel Seted to: $$3) | join %CS.Chan | ddecmd channel %CS.Chan }
  680. else { msg $nick $stl(?,!set <Channel> <#Chan>) }
  681. }
  682. elseif ($1 == !help) || ($1 == !commands) && ($userbyhost($wildsite)) { msg $nick $stl(?,!set channel <#channel> / !add <owner/master/admin> <username> <password> <steamid>) }
  683. elseif ($1 == !login) {
  684. if ($readini(admins.ini,$2,Password) == $md5($3)) || ($readini(masters.ini,$2,Password) == $md5($3)) || ($readini(owners.ini,$2,Password) == $md5($3)) {
  685. if ($readini($isacc($2),$2,Logged) == 0) || ($readini($isacc($2),$2,Address) != $address($nick,2)) {
  686. writeini $isacc($2) $2 Logged 1
  687. writeini $isacc($2) $2 LastLogged $date $time
  688. writeini $isacc($2) $2 Address $wildsite
  689. msg $nick $stl(?,You were successfully logged in.)
  690. if ($nick isreg %CS.Chan) mode %CS.Chan +v $nick
  691. }
  692. }
  693. }
  694. }
  695. return 1
  696. }
  697. alias NGet {
  698. if (!$1) { return $ini(Settings.ini,0) }
  699. return $readini(Settings.ini,$1,$$2)
  700. }
  701. alias CGet {
  702. if (!$1) { return $ini(clubs.ini,0) }
  703. return $readini(clubs.ini,$1,$$2)
  704. }
  705. alias NSet {
  706. writeini Settings.ini $1 $2 $$3-
  707. }
  708. alias CSet {
  709. writeini clubs.ini $1 $2 $$3-
  710. }
  711. alias mixing {
  712. mode %CS.Chan +m
  713. .timer 1 20 mode %CS.Chan -m
  714. set -u19 %CS.Flood ByZxoR
  715. var %gnum = $1
  716. tokenize 32 %CS [ $+ [ %gnum ] $+ .adding ]
  717. var %max = $NGet(%gnum,MaxPlayers),%evt = $calc((%max /2) -1),%ev = $calc(%max /2)
  718. set %CS [ $+ [ %gnum ] $+ .half ] NotYet
  719. if ($NGet(%gnum,Mixing) == 1) {
  720. var %cur = 1
  721. :randab
  722. var %random = $r(1,$0)
  723. if ($istok(%randab,%random,32)) { goto randab }
  724. var %player = $ [ $+ [ %random ] ]
  725. set %CS [ $+ [ %gnum ] $+ .Players ] $addtok(%CS [ $+ [ %gnum ] $+ .Players ],%player,32)
  726. if ($numtok(%CS [ $+ [ %gnum ] $+ .Players ],32) < $0) { goto randab }
  727. if ($NGet(%gnum,AutoMix) != 1) { set %CS [ $+ [ %gnum ] $+ .Players ] %CS [ $+ [ %gnum ] $+ .Admin ] $remtok(%CS [ $+ [ %gnum ] $+ .Players ],%CS [ $+ [ %gnum ] $+ .Admin ],32) }
  728. }
  729. else { set %CS [ $+ [ %gnum ] $+ .players ] %CS [ $+ [ %gnum ] $+ .adding ] }
  730. var %mta = 1- $+ $calc($NGet(%gnum,MaxPlayers) / 2),%mtb = $calc(($NGet(%gnum,MaxPlayers) / 2) + 1) $+ - $+ $NGet(%gnum,MaxPlayers)
  731. set %CS [ $+ [ %gnum ] $+ .TeamA ] $gettok(%CS [ $+ [ %gnum ] $+ .players ],%mta,32)
  732. set %CS [ $+ [ %gnum ] $+ .TeamB ] $gettok(%CS [ $+ [ %gnum ] $+ .players ],%mtb,32)
  733. set %CS [ $+ [ %gnum ] $+ .ctime ] $ctime($date $time)
  734. set %CS [ $+ [ %gnum ] $+ .Half ] NotYet
  735. unset %CS [ $+ [ %gnum ] $+ .players ]
  736. unset %CS [ $+ [ %gnum ] $+ .adding ]
  737. msg %CS.Chan $stl(%gnum,Mixing Teams and sending details $+ $chr(44) Please wait...)
  738. if ($NGet(%gnum,game) == CS) {
  739. .timer 1 2 msg %CS.Chan $stl(%gnum,Team-A:² $fix32(%CS [ $+ [ %gnum ] $+ .TeamA ],%gnum) $+ ¶.)
  740. .timer 1 3 msg %CS.Chan $stl(%gnum,Team-B:² $fix32(%CS [ $+ [ %gnum ] $+ .TeamB ],%gnum) $+ ¶.)
  741. }
  742. elseif ($NGet(%gnum,Game) == TF2) {
  743. set %CS [ $+ [ %gnum ] $+ .AMedic ] $gettok(%CS [ $+ [ %gnum ] $+ .TeamA ],%ev,32)
  744. set %CS [ $+ [ %gnum ] $+ .BMedic ] $gettok(%CS [ $+ [ %gnum ] $+ .TeamB ],%ev,32)
  745. .timer 1 2 msg %CS.Chan $stl(%gnum,04RED:² $fix32($gettok(%CS [ $+ [ %gnum ] $+ .TeamA ],1- [ $+ [ %evt ] ],32),%gnum) $+ ¶ $+ $chr(44) ¶MEDIC:² $fix32($gettok(%CS [ $+ [ %gnum ] $+ .TeamA ],%ev,32),%gnum) $+ ¶.)
  746. .timer 1 3 msg %CS.Chan $stl(%gnum,12BLUE:² $fix32($gettok(%CS [ $+ [ %gnum ] $+ .TeamB ],1- [ $+ [ %evt ] ],32),%gnum) $+ ¶ $+ $chr(44) ¶MEDIC:² $fix32($gettok(%CS [ $+ [ %gnum ] $+ .TeamB ],%ev,32),%gnum) $+ ¶.)
  747. }
  748. .timer 1 4 msg %CS.Chan $stl(%gnum,Please wait until you get the information $+ $chr(44) and then connect the server and to the $iif($NGet(%gnum,TS-Selected),TeamSpeak,Ventrilo) quickly $+ $chr(44) enjoy!)
  749. NSet %gnum Status ON
  750. .timer 1 3 .ddecmd say $replace(%CS [ $+ [ %gnum ] $+ .TeamA ],$chr(32),$chr(44)) $details(%gnum,GLOBAL,a).return
  751. .timer 1 6 .ddecmd say $replace(%CS [ $+ [ %gnum ] $+ .TeamB ],$chr(32),$chr(44)) $details(%gnum,GLOBAL,b).return
  752. cchan %gnum
  753. }
  754. alias SetMvps {
  755. if ($ini(Mvps [ $+ [ $1 ] $+ .ini ],0) == 0) { GOTO END }
  756. .close -@ @Mvps [ $+ [ $1 ] ] | .window @Mvps [ $+ [ $1 ] ] | var %x 1, %o 1
  757. while ($ini(Mvps [ $+ [ $1 ] $+ .ini ],%x)) { echo @Mvps [ $+ [ $1 ] ] $ini(Mvps [ $+ [ $1 ] $+ .ini ],%x) $calc($readini(Mvps [ $+ [ $1 ] $+ .ini ],$ini(Mvps [ $+ [ $1 ] $+ .ini ],%x),Points) +0) $iif($readini(Stats.ini,$ini(Mvps [ $+ [ $1 ] $+ .ini ],%x),Nick),$ifmatch,No such nick) | inc %x }
  758. filter -cwwteu 2 32 @Mvps [ $+ [ $1 ] ] @Mvps [ $+ [ $1 ] ]
  759. var %1st = $gettok($line(@Mvps [ $+ [ $1 ] ],1),1,32),%2nd = $gettok($line(@Mvps [ $+ [ $1 ] ],2),1,32),%3rd = $gettok($line(@Mvps [ $+ [ $1 ] ],3),1,32)
  760. if (%1st) { .writeini -n Stats.ini %1st Mvps $calc($readini(Stats.ini,%1st,Mvps) +3) | msg %CS.Chan $stl($1,² $+ $NGet($1,Name) $+ ¶'s MVPs are:¶ 1st.² $gettok($line(@Mvps [ $+ [ $1 ] ],1),3-,32) $iif(%2nd,¶2nd.² $gettok($line(@Mvps [ $+ [ $1 ] ],2),3-,32)) $iif(%3rd,¶3rd.² $gettok($line(@Mvps [ $+ [ $1 ] ],3),3-,32))) }
  761. if (%2nd) { .writeini -n Stats.ini %2nd Mvps $calc($readini(Stats.ini,%2nd,Mvps) +2) }
  762. if (%3rd) { .writeini -n Stats.ini %3rd Mvps $calc($readini(Stats.ini,%3rd,Mvps) +1) }
  763. :END
  764. if ($exists(Mvps [ $+ [ $1 ] $+ .ini ])) { .timer 1 1 .remove Mvps [ $+ [ $1 ] $+ .ini ] }
  765. window -c @MVps [ $+ [ $1 ] ]
  766. }
  767. alias SetGGMvps {
  768. if ($ini(Mvps [ $+ [ $1 ] $+ .ini ],0) == 0) { GOTO END }
  769. .close -@ @Mvps [ $+ [ $1 ] ] | .window @Mvps [ $+ [ $1 ] ] | var %x 1, %o 1
  770. while ($ini(Mvps [ $+ [ $1 ] $+ .ini ],%x)) { echo @Mvps [ $+ [ $1 ] ] $ini(Mvps [ $+ [ $1 ] $+ .ini ],%x) $calc($readini(Mvps [ $+ [ $1 ] $+ .ini ],$ini(Mvps [ $+ [ $1 ] $+ .ini ],%x),Points) +0) $iif($readini(Stats.ini,$ini(Mvps [ $+ [ $1 ] $+ .ini ],%x),Nick),$ifmatch,No such nick) | inc %x }
  771. filter -cwwteu 2 32 @Mvps [ $+ [ $1 ] ] @Mvps [ $+ [ $1 ] ]
  772. var %1st = $gettok($line(@Mvps [ $+ [ $1 ] ],1),1,32) | var %2nd = $gettok($line(@Mvps [ $+ [ $1 ] ],2),1,32) | var %3rd = $gettok($line(@Mvps [ $+ [ $1 ] ],3),1,32)
  773. if (%1st) { .writeini -n Stats.ini %1st Mvps $calc($readini(Stats.ini,%1st,Mvps) +3) | msg %CS.Chan $stl($1,MVPs of² $NGet($1,Name) ¶are:¶ 1st.² $gettok($line(@Mvps [ $+ [ $1 ] ],1),3-,32) $iif(%2nd,¶2nd.² $gettok($line(@Mvps [ $+ [ $1 ] ],2),3-,32)) $iif(%3rd,¶3rd.² $gettok($line(@Mvps [ $+ [ $1 ] ],3),3-,32))) }
  774. if (%2nd) { .writeini -n Stats.ini %2nd Mvps $calc($readini(Stats.ini,%2nd,Mvps) +2) }
  775. if (%3rd) { .writeini -n Stats.ini %3rd Mvps $calc($readini(Stats.ini,%3rd,Mvps) +1) }
  776. :END
  777. if ($exists(Mvps [ $+ [ $1 ] $+ .ini ])) { .timer 1 1 .remove Mvps [ $+ [ $1 ] $+ .ini ] }
  778. window -c @MVps [ $+ [ $1 ] ]
  779. }
  780. alias bnumbsign {
  781. var %max = $ini(Settings.ini,0)
  782. var %cur = 1
  783. while (%cur <= %max) {
  784. if ($readini(Settings.ini,$ini(Settings.ini,%cur),Sign) == $1) { return $ini(Settings.ini,%cur) }
  785. inc %cur
  786. }
  787. return 0
  788. }
  789. alias csplayers {
  790. if ($NGet($1,Status) == ON) { msg %CS.chan $stl($1,² $+ $NGet($1,Name) ¶Team A:² $replace(%CS [ $+ [ $1 ] $+ .TeamA ],$chr(32),$chr(32) $+ ¶-² $+ $chr(32)) $+ ¶, Team B:² $replace(%CS [ $+ [ $1 ] $+ .TeamB ],$chr(32),$chr(32) $+ ¶-² $+ $chr(32)) $+ ¶.) }
  791. elseif ($NGet($1,Status) == Adding) { msg %CS.chan $stl($1,$NGet($1,Name) Players ¶(² $+ $numtok(%CS [ $+ [ $1 ] $+ .adding ],32) $+ ¶/² $+ $NGet($1,MaxPlayers) $+ ¶):² $fix32(%CS [ $+ [ $1 ] $+ .Adding ],$1) $+ $iif($numtok(%CS [ $+ [ $1 ] $+ .adding ],32) < $NGet($1,MaxPlayers),$str(¶ $+ $chr(44) $+ $chr(32) $+ 14-,$calc($NGet($1,MaxPlayers) - $numtok(%CS [ $+ [ $1 ] $+ .adding ],32)))) $+ ¶.) }
  792. elseif ($NGet($1,Status) == OFF) { msg %CS.chan $stl($1,$NGet($1,Name) is offline.) }
  793. else { return 0 }
  794. set -u3 %CS.Flood ByZxoR
  795. }
  796. alias incini {
  797. if ($4) {
  798. writeini -n $1 $2 $3 $iif($readini($1,$2,$3),$calc($v1 + $4),$4)
  799. }
  800. else { echo -s 2* Syntax Error: INCINI }
  801. }
  802. alias decini {
  803. if ($4) {
  804. writeini -n $1 $2 $3 $iif($readini($1,$2,$3),$calc($v1 - $4),$calc(0 - $4))
  805. }
  806. else { echo -s 2* Syntax Error: DECINI }
  807. }
  808. alias RCONstart { var %x 1, %y 1 | while ($ini(Settings.ini,%x)) { .timerRCONSTART [ $+ [ %x ] ] 1 %y RCON %x $(|) TSRCon %x | .timerRCONKEEP [ $+ [ %x ] ] 0 600 RCON %x | inc %x | inc %y 10 } }
  809. alias RCONclose { .timerRCON $+ $1 Off | .timerECHO $+ $1 Off | rcmd $1 logaddress_del $ip $readini(Settings.ini,$ini(Settings.ini,$1),Port) | .remini -n Settings.ini $ini(CServers,$1) challenge | .writeini -n Settings.ini $ini(CS_bot.ini,$1) Connected OFF | sockclose rcon $+ $1 * }
  810. alias RconLOG {
  811. set -u3 %CS [ $+ [ $1 ] $+ .logaddress ] 1
  812. rcmd $1 logaddress_del
  813. rcmd $1 nochn logaddress_del $ip $readini(Settings.ini,$ini(Settings.ini,$1),Port)
  814. rcmd $1 nochn logaddress_del $ip $readini(Settings.ini,$ini(Settings.ini,$1),Port)
  815. .timer -m 1 230 rcmd $1 nochn mp_logfile 1
  816. .timer -m 1 260 rcmd $1 nochn mp_logdetail 2
  817. .timer -m 1 290 rcmd $1 nochn sv_rcon_banpenalty 1
  818. .timer -m 1 320 rcmd $1 nochn sv_rcon_maxfailures 20
  819. .timer -m 1 350 rcmd $1 nochn sv_rcon_minfailures 20
  820. .timer -m 1 380 rcmd $1 nochn sv_rcon_minfailuretime 1
  821. .timer -m 1 420 rcmd $1 nochn log on
  822. .timer -m 1 450 rcmd $1 nochn admin_ignore_immunity 1
  823. .timer -m 1 480 rcmd $1 nochn logaddress_add $ip $readini(Settings.ini,$ini(Settings.ini,$1),Port)
  824. }
  825. alias CRCONstart { var %x 1, %y 1 | while ($ini(Clubs.ini,%x)) { .timerCRCONSTART [ $+ [ %x ] ] 1 %y CRCON %x | .timerCRCONKEEP [ $+ [ %x ] ] 1 600 CRCON %x | inc %x | inc %y 10 } }
  826. alias CRCONclose { .timerCRCON $+ $1 Off | .timerCECHO $+ $1 Off | crcmd $1 logaddress_del $ip $readini(clubs.ini,$ini(clubs.ini,$1),Port) | .remini -n clubs.ini $ini(Clubs.ini,$1) challenge | .writeini -n clubs.ini $ini(clubs.ini,$1) Connected OFF | sockclose club $+ $1 * }
  827. alias CRconLOG {
  828. crcmd $1 nochn logaddress_del $ip $readini(clubs.ini,$ini(clubs.ini,$1),Port)
  829. crcmd $1 nochn logaddress_del $ip $readini(clubs.ini,$ini(clubs.ini,$1),Port)
  830. .timer -m 1 230 crcmd $1 nochn mp_logfile 1
  831. .timer -m 1 260 crcmd $1 nochn mp_logdetail 2
  832. .timer -m 1 290 crcmd $1 nochn sv_rcon_banpenalty 1
  833. .timer -m 1 320 crcmd $1 nochn sv_rcon_maxfailures 20
  834. .timer -m 1 350 crcmd $1 nochn sv_rcon_minfailures 20
  835. .timer -m 1 380 crcmd $1 nochn sv_rcon_minfailuretime 1
  836. .timer -m 1 420 crcmd $1 nochn log on
  837. .timer -m 1 450 crcmd $1 nochn admin_ignore_immunity 1
  838. .timer -m 1 480 crcmd $1 nochn logaddress_add $ip $readini(clubs.ini,$ini(clubs.ini,$1),Port)
  839. }
  840. alias RCON {
  841. if ($ip) {
  842. NSet $1 Connected Connecting
  843. reloadrcon
  844. if ($NGet($1,Game) == CS) {
  845. GETchallenge $1
  846. .sockudp -k rcon $+ $1 $+ LOG $readini(Settings.ini,$ini(Settings.ini,$1),Port) $replace($readini(Settings.ini,$ini(Settings.ini,$1),IP),$chr(58),$chr(32)) $str($chr(255),4)
  847. .timerLOG -m 1 750 RconLOG $1
  848. ctrlsys 2Attempting to connect to server number $1 $+ .
  849. .timerTIMEDOUT [ $+ [ $1 ] ] 1 60 NSet $1 Connected TimedOut $(|) reloadrcon
  850. }
  851. elseif ($NGet($1,Game) == TF2) {
  852. source $1
  853. .timerTIMEDOUT [ $+ [ $1 ] ] 1 60 NSet $1 Connected TimedOut $(|) reloadrcon
  854. }
  855. }
  856. else { ctrlsys 4The bot looks like he not connected to the IRC Server so well. Cannot starting sockets! If it false, try to change the gatherbot settings. }
  857. }
  858. alias GETchallenge {
  859. .sockclose rcon $+ $1 $+ Challenge
  860. .sockudp -k rcon $+ $1 $+ Challenge $replace($readini(Settings.ini,$ini(Settings.ini,$1),IP),$chr(58),$chr(32)) $str($chr(255),4) $+ challenge rcon
  861. }
  862. on *:udpread:rcon*Challenge: { var %RCON-challenge | sockread %RCON-challenge | if ($gettok(%RCON-challenge,3,32) isnum) { var %n = $remove($sockname,rcon,Challenge) | .writeini -n Settings.ini $ini(Settings.ini,%n) challenge $gettok(%RCON-challenge,3,32) } | elseif ($gettok(%RCON-challenge,3,32) !isnum) && ($readini(Settings.ini,$ini(Settings.ini,%n),Connected) != Banned) { .writeini -n Settings.ini $ini(Settings.ini,%n) Connected Banned | RCONclose %n } }
  863. alias rcmd {
  864. if ($NGet($1,Game) == CS) {
  865. if ($2 != nochn) GETchallenge $1
  866. .sockudp -k rcon $+ $$1 $+ CMD $replace($readini(Settings.ini,$ini(Settings.ini,$1),IP),$chr(58),$chr(32)) $str($chr(255),4) $+ rcon $readini(Settings.ini,$ini(Settings.ini,$1),challenge) " $+ $readini(Settings.ini,$ini(Settings.ini,$1),RCONpass) $+ " $iif($$2 == nochn,$$3-,$$2-)
  867. }
  868. elseif ($NGet($1,Game) == TF2) {
  869. source.cmd $1 $$2-
  870. }
  871. }
  872. on *:udpread:rcon*LOG:{
  873. var %LOG
  874. var %n = $remove($sockname,rcon,log)
  875. sockread -f %LOG
  876. while ($sockbr) {
  877. if (%LOG) && (echo -- !isin %LOG) {
  878. if ($gettok(%LOG,6-,32) != %CS [ $+ [ %n ] $+ .rconlastlog ]) { set -u1 %CS [ $+ [ %n ] $+ .rconlastlog ] $gettok(%LOG,6-,32) | RCON.DATA %n $gettok(%LOG,6-,32) }
  879. }
  880. sockread -f %LOG
  881. }
  882. reloadrcon
  883. }
  884. on *:udpread:rcon*CMD: {
  885. var %CMD
  886. var %n = $remove($sockname,rcon,cmd)
  887. sockread -f %CMD
  888. while ($sockbr) {
  889. if ($mid(%CMD,1,5) == $+($str($chr(255),4),l)) tokenize 32 $mid(%CMD,6-)
  890. else tokenize 32 %CMD
  891. if (!$window(@Server- [ $+ [ %n ] ])) && ($1- != $null) /window -e @Server- [ $+ [ %n ] ]
  892. if (echo -- !isin $1-) RCON.DATA %n $1-
  893. set -u1 %CS [ $+ [ %n ] $+ .rconlastlog ] $1-
  894. sockread -f %CMD
  895. }
  896. }
  897. alias crcon {
  898. if ($ip) {
  899. if ($CGet($1,Game) == CS) {
  900. .sockclose club $+ $1 $+ LOG
  901. writeini clubs.ini $1 Connected Connecting
  902. .CLUBchallenge $1
  903. .sockudp -k club $+ $1 $+ LOG $readini(clubs.ini,$ini(clubs.ini,$1),Port) $replace($readini(clubs.ini,$ini(clubs.ini,$1),IP),$chr(58),$chr(32)) $str($chr(255),4)
  904. .timerLOG -m 1 750 CRconLOG $1
  905. ctrlsys 2Connection try sent to club - $+ $1 $+ -
  906. .timerTIMEDOUTC [ $+ [ $1 ] ] 1 60 writeini clubs.ini $1 Connected TimedOut
  907. }
  908. elseif ($CGet($1,Game) == TF2) {
  909. csource $1
  910. }
  911. }
  912. else { ctrlsys 4The bot looks like he not connected to the IRC Server so well. Cannot starting sockets! }
  913. }
  914. alias CLUBchallenge {
  915. sockclose club $+ $1 $+ Challenge
  916. .sockudp -k club $+ $1 $+ Challenge $replace($readini(clubs.ini,$ini(clubs.ini,$1),IP),$chr(58),$chr(32)) $str($chr(255),4) $+ challenge rcon
  917. }
  918. on *:udpread:club*Challenge: { var %RCON-challenge | sockread %RCON-challenge | if ($gettok(%RCON-challenge,3,32) isnum) { var %n = $remove($sockname,club,Challenge) | .writeini -n clubs.ini $ini(clubs.ini,%n) challenge $gettok(%RCON-challenge,3,32) } | elseif ($gettok(%RCON-challenge,3,32) !isnum) && ($readini(clubs.ini,$ini(clubs.ini,%n),Connected) != Banned) { .writeini -n clubs.ini $ini(clubs.ini,%n) Connected Banned | CRCONclose %n } }
  919. alias crcmd {
  920. if ($CGet($1,Game) == CS) {
  921. if ($2 != nochn) CLUBchallenge $1
  922. .sockudp -k club $+ $$1 $+ CMD $replace($readini(clubs.ini,$ini(clubs.ini,$1),IP),$chr(58),$chr(32)) $str($chr(255),4) $+ rcon $readini(clubs.ini,$ini(clubs.ini,$1),challenge) " $+ $readini(clubs.ini,$ini(clubs.ini,$1),RCONpass) $+ " $iif($$2 == nochn,$$3-,$$2-)
  923. }
  924. elseif ($CGet($1,game) == TF2) {
  925. csource.cmd $1 $$2-
  926. }
  927. }
  928. on *:udpread:club*LOG:{
  929. var %LOG
  930. var %n = $remove($sockname,club,log)
  931. sockread -f %LOG
  932. while ($sockbr) {
  933. if (%LOG) && (echo -- !isin %LOG) {
  934. if ($gettok(%LOG,6-,32) != %CS [ $+ [ %n ] $+ .crconlastlog ]) { set -u1 %CS [ $+ [ %n ] $+ .crconlastlog ] $gettok(%LOG,6-,32) | CLUB.DATA %n $gettok(%LOG,6-,32) }
  935. }
  936. sockread -f %LOG
  937. }
  938. }
  939. on *:udpread:club*CMD: {
  940. var %CMD
  941. var %n = $remove($sockname,club,cmd)
  942. sockread -f %CMD
  943. while ($sockbr) {
  944. if ($mid(%CMD,1,5) == $+($str($chr(255),4),l)) tokenize 32 $mid(%CMD,6-)
  945. else tokenize 32 %CMD
  946. if (!$window(@Club- [ $+ [ %n ] ])) && ($1- != $null) /window -e @Club- [ $+ [ %n ] ]
  947. if (echo -- !isin $1-) CLUB.DATA %n $1-
  948. set -u1 %CS [ $+ [ %n ] $+ .crconlastlog ] $1-
  949. sockread -f %CMD
  950. }
  951. }
  952. alias clr {
  953. var %CLR.TEMP = $strip($gettok($1,1,34))
  954. if ($prop == Steam) return $gettok($gettok(%CLR.TEMP,$calc($numtok(%CLR.TEMP,60) -1) $+ - $+ $numtok(%CLR.TEMP,60),60),1,62)
  955. elseif ($prop == Steam2) return $gettok($gettok($gettok($gettok($1,3,34),1,34),$calc($numtok($gettok($gettok($1,3,34),1,34),60) -1) $+ - $+ $numtok($gettok($gettok($1,3,34),1,34),60),60),1,62)
  956. elseif ($prop == Nick) return $remove(%CLR.TEMP,$right(%CLR.TEMP,$calc($len($remove($gettok($gettok(%CLR.TEMP,$calc($numtok(%CLR.TEMP,60) -1) $+ - $+ $numtok(%CLR.TEMP,60),60),2,62),<)) + $len($gettok($gettok(%CLR.TEMP,$calc($numtok(%CLR.TEMP,60) -1) $+ - $+ $numtok(%CLR.TEMP,60),60),1,62)) + $len($gettok($gettok(%CLR.TEMP,$calc($numtok(%CLR.TEMP,60) -2) $+ - $+ $numtok(%CLR.TEMP,60),60),1,62)) + 6)))
  957. elseif ($prop == Said) return $strip($gettok($1,3,34))
  958. elseif ($Prop == Nick2) Return $remove($gettok($1,3,34),$right($gettok($1,3,34),$calc($len($remove($gettok($gettok($gettok($1,3,34),$calc($numtok($gettok($1,3,34),60) -1) $+ - $+ $numtok($gettok($1,3,34),60),60),2,62),<)) + $len($gettok($gettok($gettok($1,3,34),$calc($numtok($gettok($1,3,34),60) -1) $+ - $+ $numtok($gettok($1,3,34),60),60),1,62)) + $len($gettok($gettok($gettok($1,3,34),$calc($numtok($gettok($1,3,34),60) -2) $+ - $+ $numtok($gettok($1,3,34),60),60),1,62)) + 6)))
  959. elseif ($prop == Team) return $remove($gettok($gettok(%CLR.TEMP,$calc($numtok(%CLR.TEMP,60) -1) $+ - $+ $numtok(%CLR.TEMP,60),60),2,62),<)
  960. elseif ($prop == Team2) return $remove($gettok($gettok($gettok($1,3,34),$calc($numtok($gettok($1,3,34),60) -1) $+ - $+ $numtok($gettok($1,3,34),60),60),2,62),<)
  961. elseif ($prop == num) || ($prop == vote) || ($prop == votenum) return $gettok($gettok(%CLR.TEMP,$calc($numtok(%CLR.TEMP,60) -2) $+ - $+ $numtok(%CLR.TEMP,60),60),1,62)
  962. elseif ($prop == Weapon) || ($prop == Gun) return $gettok($1,5,34)
  963. Return $gettok($1,2,34)
  964. }
  965. alias CLUB.DATA {
  966. if (!$window(@Club- $+ $1)) .window -e @Club- $+ $1
  967. var %rcon.dat = $2- , %rcon.said = $clr($2-).said , %rcon.id = $1 , %rcon.nick = $replace($clr($2-).nick,$chr(124),$chr(124)) , %rcon.nick2 = $replace($clr($2-).nick2,$chr(124),$chr(124)) , %rcon.steam = $clr($2-).steam , %rcon.steam2 = $clr($2-).steam2 , %rcon.num = $clr($2-).num , %r = rconCMD , %rcon.weapon = $clr($2-).weapon , %rcon.team = $clr($2-).team , %rcon.team2 = $clr($2-).team2
  968. if ($CGet(%rcon.id,Game) == CS) {
  969. echo @Club- $+ $1 < $+ $time $+ > <Counter-Strike Club> $$2-
  970. if (*Bad rcon_password.* iswm $2-) && ($readini(Clubs.ini,$ini(Clubs.ini,$1),Connected) != BadRcon) { .writeini -n Clubs.ini $1 Connected BadRcon | ctrlsys 4Club number $1 got bad rcon password. }
  971. if ((Server shutdown isin $2-) || (FATAL ERROR (shutting down)* iswm $2-)) && ($readini(clubs.ini,$ini(clubs.ini,%rcon.id),Connected) == ON) {
  972. .writeini -n Clubs.ini $1 Connected OFF
  973. ctrlsys 4Club $1 reported on sock closing (Shutdown/Fatal Error).
  974. .timer 5 60 club $1
  975. }
  976. if ($regex($2-,\d+ : STEAM_0:\d:\d+ : .+)) {
  977. set %CS.Club [ $+ [ %rcon.id ] $+ .players ] $iif($steamisadmin($4),$addtok(%CS.Club [ $+ [ %rcon.id ] $+ .players ],4 $+ $6-,44),$addtok(%CS.Club [ $+ [ %rcon.id ] $+ .players ],$6-,44))
  978. }
  979. if ($CGet(%rcon.id,Connected) != ON) && (Bad Rcon !isin $2-) { .writeini -n Clubs.ini $1 Connected ON | crcmd $1 allow_client_exec 1 | .timerCECHO $+ $1 0 10 crcmd $1 echo --ZxoR Gatherbot Connection Check-- | ctrlsys 3Club $1 is connected to CS Server! | .timerCTIMEDOUT [ $+ [ $1 ] ] OFF }
  980. if (*STEAM USERID validated* iswm $clr($2-)) {
  981. if ($isban(%rcon.steam)) { crcmd %rcon.id admin_command admin_kick %rcon.nick | crcmd %rcon.id admin_command admin_ssay $split(%rcon.nick) $+ ( $+ %rcon.steam $+ ) is banned from the server and cannot join the club. }
  982. else {
  983. crcmd %rcon.id admin_command admin_ssay $split(%rcon.nick) has vaildated and connected seccsusfully.
  984. crcmd %rcon.id allow_client_exec 1
  985. }
  986. }
  987. if (Bad Rcon: "rcon* iswm %rcon.dat) { .writeini -n Clubs.ini $1 Connected BadRcon }
  988. if ($clr($2-) == say) || ($clr($2-) == say_team) && ($steamisadmin(%RCON.Steam)) {
  989. tokenize 32 $Rescuechar($clr($2-).said)
  990. if ($1 == $ServerSyntax(rr)) { crcmd %rcon.id sv_restart 1 }
  991. elseif ($1 == $ServerSyntax(map)) && ($2) { crcmd %rcon.id changelevel $lower($2) }
  992. elseif ($1 == @) || ($1 == !) { crcmd %rcon.id admin_command admin_tsay $split(%rcon.nick) $+ : $2- | cspeak %rcon.id fvox/blip }
  993. elseif ($1 == $ServerSyntax(kick)) { crcmd %rcon.id admin_command admin_kick $2- | cspeak %rcon.id fvox/blip }
  994. elseif ($1- == $ServerSyntax(prac)) { cspeak %rcon.id fvox/blip | CPRAC %rcon.id }
  995. elseif ($1- == $ServerSyntax(MR15)) { cspeak %rcon.id fvox/blip | CMR15 %rcon.id }
  996. elseif ($1 == $ServerSyntax(hook)) {
  997. if ($2 == 1) || ($2 == on) { crcmd %rcon.id amx_hook on | cspeak %rcon.id fvox/blip }
  998. elseif ($2 == $chr(48)) || ($2 == off) { crcmd %rcon.id amx_hook on | cspeak %rcon.id fvox/blip }
  999. else { cspeak %rcon.id fvox/buzz | return 1 }
  1000. }
  1001. elseif ($1 == $ServerSyntax(hs)) || ($1 == $ServerSyntax(headshot)) {
  1002. if ($2 == 1) || ($2 == on) { crcmd %rcon.id hs_mode 1 | cspeak %rcon.id fvox/blip }
  1003. elseif ($2 == $chr(48)) || ($2 == off) { crcmd %rcon.id hs_mode 0 | cspeak %rcon.id fvox/blip }
  1004. else { cspeak %rcon.id fvox/buzz | return 1 }
  1005. }
  1006. elseif ($1 == $ServerSyntax(Ban)) {
  1007. if ($3) {
  1008. if ($issteam($2)) {
  1009. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1010. addban $2  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-))
  1011. cspeak %rcon.id fvox/blip
  1012. }
  1013. else {
  1014. if ($steambynick($2)) { var %sid = $v1 }
  1015. else { cspeak %rcon.id fvox/buzz | crcmd %rcon.id admin_command admin_ssay You must enter SteamID, Nick is unknown. | return 1 }
  1016. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1017. addban %sid  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-)
  1018. cspeak %rcon.id fvox/blip
  1019. }
  1020. else { crcmd %rcon.id admin_command admin_ssay Unknown steam, use $ServerSyntax(Ban) <Steam_ID> | cspeak %rcon.id fvox/buzz }
  1021. }
  1022. else { crcmd %rcon.id admin_command admin_ssay Ban syntax error. | cspeak %rcon.id fvox/buzz }
  1023. }
  1024. elseif ($1 == $ServerSyntax(Unban)) {
  1025. if ($regex($2,/STEAM_\d:\d:\d+/i)) {
  1026. if (!$isban($2)) { crcmd %rcon.id admin_command admin_ssay $2 is not banned. | return 1 }
  1027. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1028. delban $Rescuechar($2)
  1029. cspeak %rcon.id fvox/blip
  1030. }
  1031. else {
  1032. if ($steambynick($2)) { var %sid = $v1 }
  1033. if (!$isban(%sid)) { crcmd %rcon.id admin_command admin_ssay %sid is not banned. | return 1 }
  1034. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1035. delban $Rescuechar(%sid)
  1036. cspeak %rcon.id fvox/blip
  1037. }
  1038. else { crcmd %rcon.id admin_command admin_ssay Unknown steam, use $ServerSyntax(Unban) <Steam_ID> | cspeak %rcon.id fvox/buzz }
  1039. }
  1040. }
  1041. }
  1042. elseif ($CGet(%rcon.id,Game) == TF2) {
  1043. echo @Club- $+ $1 < $+ $time $+ > <Team-Fortress Club> $$2-
  1044. if ($regex($2-,/# \d+ "(.+)" (STEAM_0:\d:\d+)/i)) {
  1045. set %CS.Club [ $+ [ %rcon.id ] $+ .players ] $iif($steamisadmin($regml(2)),$addtok(%CS.Club [ $+ [ %rcon.id ] $+ .players ],4 $+ $regml(1),44),$addtok(%CS.Club [ $+ [ %rcon.id ] $+ .players ],$regml(1),44))
  1046. }
  1047. elseif (*STEAM USERID validated* iswm $clr($2-)) {
  1048. if ($isban(%rcon.steam)) {
  1049. crcmd %rcon.id kickid %rcon.steam "You are banned from the gather servers."
  1050. cssay %rcon.id $split(%rcon.nick) $+ ( $+ %rcon.steam $+ ) is banned from the server and cannot join the club.
  1051. }
  1052. else {
  1053. cssay %rcon.id $split(%rcon.nick) has vaildated and connected seccsusfully.
  1054. crcmd %rcon.id mp_autoteambalance 0
  1055. }
  1056. }
  1057. elseif ($clr($2-) == say) || ($clr($2-) == say_team) && ($steamisadmin(%RCON.Steam)) {
  1058. Tokenize 32 $Rescuechar($clr($2-).said)
  1059. if ($1 == $ServerSyntax(rr)) { crcmd %rcon.id mp_restartgame 1 }
  1060. elseif ($1 == $ServerSyntax(map)) && ($2) { crcmd %rcon.id changelevel $lower($2) }
  1061. elseif ($1 == $ServerSyntax(kick)) { crcmd %rcon.id kick $2- }
  1062. elseif ($1 == $ServerSyntax(Ban)) {
  1063. if ($3) {
  1064. if ($issteam($2)) {
  1065. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1066. addban $2  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-))
  1067. }
  1068. else {
  1069. if ($steambynick($2)) { var %sid = $v1 }
  1070. else { cssay %rcon.id You must enter SteamID, Nick is unknown. | return 1 }
  1071. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1072. addban %sid  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-)
  1073. }
  1074. else { cssay %rcon.id Unknown steam, use $ServerSyntax(Ban) <Steam_ID> }
  1075. }
  1076. else { cssay %rcon.id Ban syntax error. }
  1077. }
  1078. elseif ($1 == $ServerSyntax(Unban)) {
  1079. if ($regex($2,/STEAM_\d:\d:\d+/i)) {
  1080. if (!$isban($2)) { cssay %rcon.id $2 is not banned. | return 1 }
  1081. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1082. delban $Rescuechar($2)
  1083. }
  1084. else {
  1085. if ($steambynick($2)) { var %sid = $v1 }
  1086. if (!$isban(%sid)) { cssay %rcon.id %sid is not banned. | return 1 }
  1087. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { cssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1088. delban $Rescuechar(%sid)
  1089. }
  1090. else { cssay %rcon.id Unknown steam, use $ServerSyntax(Unban) <Steam_ID> }
  1091. }
  1092. }
  1093. }
  1094. }
  1095. alias RCON.DATA {
  1096. if (!$window(@Server- $+ $1)) .window -e @Server- $+ $1
  1097. var %rcon.dat = $2- , %rcon.said = $clr($2-).said , %rcon.id = $1 , %rcon.nick = $replace($clr($2-).nick,$chr(124),$chr(124)) , %rcon.nick2 = $replace($clr($2-).nick2,$chr(124),$chr(124)) , %rcon.steam = $clr($2-).steam , %rcon.steam2 = $clr($2-).steam2 , %rcon.num = $clr($2-).num , %r = rconCMD , %rcon.weapon = $clr($2-).weapon , %rcon.team = $clr($2-).team , %rcon.team2 = $clr($2-).team2
  1098. if ($NGet(%rcon.id,Game) == CS) {
  1099. echo @Server- $+ $1 < $+ $time $+ > <Counter-Strike> $$2-
  1100. if (*Bad rcon_password.* iswm $2-) && ($readini(Settings.ini,$ini(Settings.ini,$1),Connected) != BadRcon) { .writeini -n Settings.ini $1 Connected BadRcon | ctrlsys 4Gatherbot $1 got bad rcon password. }
  1101. if ((Server shutdown isin $2-) || (FATAL ERROR (shutting down)* iswm $2-)) && ($NGet(%rcon.id,Connected) == ON) {
  1102. .writeini -n Settings.ini $1 Connected OFF
  1103. ctrlsys 4Server $1 reported on sock closing (Shutdown/Fatal Error).
  1104. .timer 5 60 rcon $1
  1105. if ($NGet(%rcon.id,status) != OFF) && (FATAL ERROR (shutting down)* iswm $2-) {
  1106. .timer 1 3 msg %CS.Chan $stl(%rcon.id,² $+ $NGet(%rcon.id,Name) ¶has forcefully destroyed because of a fatal error.)
  1107. gather-end %rcon.id
  1108. }
  1109. }
  1110. if ($NGet(%rcon.id,Connected) != ON) && (Bad Rcon !isin $2-) && ($readini(Settings.ini,$1,Connected) != ON) { .writeini -n Settings.ini $1 Connected ON | rcmd $1 allow_client_exec 1 | .timerECHO $+ $1 0 10 rcmd $1 echo --ZxoR Gatherbot Connection Check-- | ctrlsys 3Gatherbot $1 is connected to CS Server! | .timerTIMEDOUT [ $+ [ $1 ] ] OFF }
  1111. if (*STEAM USERID validated* iswm $clr($2-)) {
  1112. if ($isban(%rcon.steam)) { rcmd %rcon.id admin_command admin_kick %rcon.nick | ssay %rcon.id $split(%rcon.nick) $+ ( $+ %rcon.steam $+ ) is banned from the server and cannot join the gather. }
  1113. elseif ($NGet(%rcon.id,Status) == ON) {
  1114. ssay %rcon.id $split(%rcon.nick) has vaildated and connected seccsusfully.
  1115. rcmd %rcon.id allow_client_exec 1
  1116. }
  1117. }
  1118. if ($regex(%rcon.dat,/(.+)\.bsp/i)) && (%CS.AskForMaps == %rcon.id) { write Maplist [ $+ [ %rcon.id ] $+ .txt ] $regml(1) }
  1119. if (Bad Rcon: "rcon* iswm %rcon.dat) { .writeini -n Settings.ini $1 Connected BadRcon }
  1120. if ($NGET(%rcon.id,Type) == Regular) {
  1121. if (*Team "TERRORIST" triggered "Terrorists_Win"* iswm %rcon.dat) && ($ifcscore(%rcon.id)) && ($NGet(%rcon.id,Status) == ON) { inc %CS [ $+ [ %rcon.id ] $+ .Score-T ] 1 }
  1122. if (*Team "CT" triggered "CTs_Win"* iswm %rcon.dat) && ($ifcscore(%rcon.id)) && ($NGet(%rcon.id,Status) == ON) { inc %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 1 }
  1123. if (*Team "CT" triggered "Target_Saved"* iswm %rcon.dat) && ($ifcscore(%rcon.id)) && ($NGet(%rcon.id,Status) == ON) { inc %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 1 }
  1124. if (*Team "TERRORIST" triggered "Target_Bombed"* iswm %rcon.dat) && ($ifcscore(%rcon.id)) && ($NGet(%rcon.id,Status) == ON) && (%CS [ $+ [ %rcon.id ] $+ .BombPlanet ]) { inc %CS [ $+ [ %rcon.id ] $+ .Score-T ] 1 | writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] $gettok(%CS [ $+ [ %rcon.id ] $+ .BombPlanet ],1,32) Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],$gettok(%CS [ $+ [ %rcon.id ] $+ .BombPlanet ],1,32),Points) +1) | if ($savescore(%rcon.id)) { writeini -n Stats.ini $gettok(%CS [ $+ [ %rcon.id ] $+ .BombPlanet ],1,32) Points $calc($readini(Stats.ini,$gettok(%CS [ $+ [ %rcon.id ] $+ .BombPlanet ],1,32),Points) +1) } | unset %CS [ $+ [ %rcon.id ] $+ .BombPlanet ] }
  1125. if (*Team "CT" triggered "Bomb_Defused"* iswm %rcon.dat) && ($ifcscore(%rcon.id)) && ($NGet(%rcon.id,Status) == ON) { inc %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 1 }
  1126. if (*World triggered "Round_End"* iswm %rcon.dat) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) {
  1127. if ($exists(Kills [ $+ [ %rcon.id ] $+ .ini ])) {
  1128. var %x = 1
  1129. while ($ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x)) {
  1130. if ($readini(Kills [ $+ [ %rcon.id ] $+ .ini ],$ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x),Kills) == 4) { if ($savescore(%rcon.id)) { .writeini -n Stats.ini $ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x) MiniAces $calc($readini(Stats.ini,$ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x),MiniAces) +1) | .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] $ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x) Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],$ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x),Points) +3.07) | .writeini -n Stats.ini $ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x) Points $calc($readini(Stats.ini,$ini(Kills [ $+ [ %rcon.id ] $+ .ini ],%x),Points) +3.07) } }
  1131. inc %x
  1132. }
  1133. .remove Kills [ $+ [ %rcon.id ] $+ .ini ]
  1134. }
  1135. if ($calc($teamscore(a,%rcon.id) + $teamscore(b,%rcon.id)) >= 15) && (%CS [ $+ [ %rcon.id ] $+ .Half ] == First) { SwapTeams %rcon.id | ENDHalf-1 %rcon.id }
  1136. if ($calc($teamscore(a,%rcon.id) + $teamscore(b,%rcon.id)) == 14) && (%CS [ $+ [ %rcon.id ] $+ .Half ] == First) { .timer 1 6 ssay %rcon.id Last round has been started. | .timer 1 6 tsay %rcon.id Last round has been started. }
  1137. if ($teamscore(a,%rcon.id) == 15)) && ($teamscore(b,%rcon.id) == 15)) && (%CS [ $+ [ %rcon.id ] $+ .Half ] == Second) { .timer 1 6 ssay Last round for the both of the teams! The winners in this round are the winners of the gather! | .timer 1 6 tsay %rcon.id Last round for the both of the teams! The winners in this round are the winners of the gather! }
  1138. elseif ($teamscore(a,%rcon.id) == 15) && (%CS [ $+ [ %rcon.id ] $+ .Half ] == Second) { .timer 1 6 ssay Last round for Team-A has been started. | .timer 1 6 tsay %rcon.id Last round for Team-A has been started. }
  1139. elseif ($teamscore(b,%rcon.id) == 15) && (%CS [ $+ [ %rcon.id ] $+ .Half ] == Second) { .timer 1 6 ssay Last round for Team-B has been started. | .timer 1 6 tsay %rcon.id Last round for Team-B has been started. }
  1140. if ($teamscore(a,%rcon.id) >= 16) || ($teamscore(b,%rcon.id) >= 16) && (%CS [ $+ [ %rcon.id ] $+ .Half ] == Second) { SetMvps %rcon.id | msg %CS.CHAN $stl(%rcon.id,$NGet(%rcon.id,Name) has ended. Score:² $teamscore(a,%rcon.id) $+ - $+ $teamscore(b,%rcon.id) $+ ¶.) | Gather-END %rcon.id }
  1141. if (%CS [ $+ [ %rcon.id ] $+ .Half ] != First-Second) SSCore %rcon.id
  1142. }
  1143. if (World triggered "Round_Start"* iswm %rcon.dat) && ($ifcscore(%rcon.id)) && ($NGet(%rcon.id,Status) == ON) { unset %CS [ $+ [ %rcon.id ] $+ .BombPlanet ] | if ($exists(Kills [ $+ [ %rcon.id ] $+ .ini ])) { .remove Kills [ $+ [ %rcon.id ] $+ .ini ] } }
  1144. if (World triggered "Round_Draw"* iswm %rcon.dat) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) { unset %CS [ $+ [ %rcon.id ] $+ .BombPlanet ] | if ($exists(Kills [ $+ [ %rcon.id ] $+ .ini ])) { .remove Kills [ $+ [ %rcon.id ] $+ .ini ] } }
  1145. if ($1 isnum) && ($2 == :) && ($remove($3,STEAM_,:) isnum) && ($4 == :) && ($5) { inc %CS [ $+ [ %rcon.id ] $+ .number ] 1 | set %CS [ $+ [ %rcon.id ] $+ .PList ] %CS [ $+ [ %rcon.id ] $+ .PList ] ( $+ %number $+ ) $iif($steamisadmin($3),$replace($5-,$chr(124),$chr(124)),$replace($5-,$chr(124),$chr(124))) }
  1146. if (attacked == $clr($1-)) && (%rcon.team == %rcon.team2) {
  1147. rcmd %rcon.id admin_command admin_ssay ( $+ $iif(%RCON.team == TERRORIST,TS,CT) $+ ) ( $+ $split(%rcon.nick) $+ ) attacked ( $+ $split(%rcon.nick2) $+ )
  1148. }
  1149. if (Killed == $clr($2-)) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) {
  1150. if (%rcon.team != %rcon.team2) {
  1151. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1152. .writeini -n Stats.ini %rcon.steam2 nick $split(%rcon.nick2)
  1153. if ($savescore(%rcon.id)) {
  1154. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 1 }
  1155. if (!$readini(Stats.ini,%rcon.steam2,Points)) { .writeini -n Stats.ini %rcon.steam2 Points 1 }
  1156. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1 }
  1157. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points 1 }
  1158. .writeini -n Stats.ini %rcon.steam kills $calc($readini(Stats.ini,%rcon.steam,kills) +1)
  1159. .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) + $Guns(%rcon.weapon))
  1160. .writeini -n Stats.ini %rcon.steam2 Points $calc($readini(Stats.ini,%rcon.steam2,Points) -1)
  1161. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) + $Guns(%rcon.weapon))
  1162. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points) -1)
  1163. .writeini -n Stats.ini %rcon.steam $clr($2-).gun $calc($readini(Stats.ini,%rcon.steam,$clr($2-).gun) +1)
  1164. .writeini -n Stats.ini %rcon.steam2 deaths $calc($readini(Stats.ini,%rcon.steam2,deaths) +1)
  1165. if ($readini(Kills [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Kills)) { .writeini -n Kills [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Kills $calc($readini(Kills [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Kills) +1) }
  1166. elseif (!$readini(Kills [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Kills)) { .writeini -n Kills [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Kills 1 }
  1167. if ($readini(Kills [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Kills) == 5) { .writeini -n Stats.ini %rcon.steam Aces $calc($readini(Stats.ini,%rcon.steam,Aces) +1) | .writeini -n MVPs [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(MVPs [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) +4.51) | .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) +4.51) | tsay %rcon.id %rcon.nick Just did an ACE. | ssay %rcon.id %rcon.nick Just did an ACE. | msg %CS.Chan $stl(%rcon.id,%rcon.nick just did an ACE!) | .remove Kills [ $+ [ %rcon.id ] $+ .ini ] }
  1168. if (!$readini(Stats.ini,%rcon.steam,Last)) || ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1169. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1170. if ($readini(Stats.ini,%rcon.steam,Gathers)) { .writeini -n Stats.ini %rcon.steam Gathers $calc($readini(Stats.ini,%rcon.steam,Gathers) +1) }
  1171. elseif (!$readini(Stats.ini,%rcon.steam,Gathers)) { .writeini -n Stats.ini %rcon.steam Gathers 1 }
  1172. if ($readini(Stats.ini,%rcon.steam,Gathers) == 5) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 1] }
  1173. elseif ($readini(Stats.ini,%rcon.steam,Gathers) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 2] }
  1174. elseif ($readini(Stats.ini,%rcon.steam,Gathers) == 30) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 3] }
  1175. elseif ($readini(Stats.ini,%rcon.steam,Gathers) == 50) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 4] }
  1176. }
  1177. if (%rcon.weapon == Knife) {
  1178. incini Stats.ini %rcon.steam Knife 1
  1179. if ($readini(Stats.ini,%rcon.steam,Knife) == 1) { reward %rcon.id  %rcon.nick  %rcon.steam Stab steep [Level 1] }
  1180. elseif ($readini(Stats.ini,%rcon.steam,Knife) == 2) { reward %rcon.id  %rcon.nick  %rcon.steam Stab steep [Level 2] }
  1181. elseif ($readini(Stats.ini,%rcon.steam,Knife) == 3) { reward %rcon.id  %rcon.nick  %rcon.steam Stab steep [Level 3] }
  1182. elseif ($readini(Stats.ini,%rcon.steam,Knife) == 4) { reward %rcon.id  %rcon.nick  %rcon.steam Stab steep [Level 4] }
  1183. }
  1184. elseif (%rcon.weapon == Grenade) {
  1185. incini Stats.ini %rcon.steam grenade 1
  1186. if ($readini(Stats.ini,%rcon.steam,grenade) == 1) { reward %rcon.id  %rcon.nick  %rcon.steam Grenade generator [Level 1] }
  1187. elseif ($readini(Stats.ini,%rcon.steam,grenade) == 2) { reward %rcon.id  %rcon.nick  %rcon.steam Grenade generator [Level 2] }
  1188. elseif ($readini(Stats.ini,%rcon.steam,grenade) == 3) { reward %rcon.id  %rcon.nick  %rcon.steam Grenade generator [Level 3] }
  1189. elseif ($readini(Stats.ini,%rcon.steam,grenade) == 4) { reward %rcon.id  %rcon.nick  %rcon.steam Grenade generator [Level 4] }
  1190. }
  1191. elseif ((%rcon.weapon == XM1014) || (%rcon.weapon == M3)) {
  1192. incini Stats.ini %rcon.steam shotguns 1
  1193. if ($readini(Stats.ini,%rcon.steam,shotguns) == 5) { reward %rcon.id  %rcon.nick  %rcon.steam Blood hunter [Level 1] }
  1194. elseif ($readini(Stats.ini,%rcon.steam,shotguns) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Blood hunter [Level 2] }
  1195. elseif ($readini(Stats.ini,%rcon.steam,shotguns) == 15) { reward %rcon.id  %rcon.nick  %rcon.steam Blood hunter [Level 3] }
  1196. elseif ($readini(Stats.ini,%rcon.steam,shotguns) == 20) { reward %rcon.id  %rcon.nick  %rcon.steam Blood hunter [Level 4] }
  1197. }
  1198. elseif ((%rcon.weapon == AWP) || (%rcon.weapon == Scout) || (%rcon.weapon == G3sg1) || (%rcon.weapon == SG550)) {
  1199. incini Stats.ini %rcon.steam aims 1
  1200. if ($readini(Stats.ini,%rcon.steam,aims) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Aim like a pro [Level 1] }
  1201. elseif ($readini(Stats.ini,%rcon.steam,aims) == 30) { reward %rcon.id  %rcon.nick  %rcon.steam Aim like a pro [Level 2] }
  1202. elseif ($readini(Stats.ini,%rcon.steam,aims) == 50) { reward %rcon.id  %rcon.nick  %rcon.steam Aim like a pro [Level 3] }
  1203. elseif ($readini(Stats.ini,%rcon.steam,aims) == 70) { reward %rcon.id  %rcon.nick  %rcon.steam Aim like a pro [Level 4] }
  1204. }
  1205. elseif ((%rcon.weapon == Deagle) || (%rcon.weapon == USP) || (%rcon.weapon == P228) || (%rcon.weapon == Glock18) || (%rcon.weapon == FiveSeven) || (%rcon.weapon == Elite)) {
  1206. incini Stats.ini %rcon.steam pistols 1
  1207. if ($readini(Stats.ini,%rcon.steam,pistols) == 20) { reward %rcon.id  %rcon.nick  %rcon.steam Pistol Cannon [Level 1] }
  1208. elseif ($readini(Stats.ini,%rcon.steam,pistols) == 30) { reward %rcon.id  %rcon.nick  %rcon.steam Pistol Cannon [Level 2] }
  1209. elseif ($readini(Stats.ini,%rcon.steam,pistols) == 40) { reward %rcon.id  %rcon.nick  %rcon.steam Pistol Cannon [Level 3] }
  1210. elseif ($readini(Stats.ini,%rcon.steam,pistols) == 50) { reward %rcon.id  %rcon.nick  %rcon.steam Pistol Cannon [Level 4] }
  1211. }
  1212. if (!$readini(Stats.ini,%rcon.steam2,Last)) || ($readini(Stats.ini,%rcon.steam2,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1213. .writeini -n Stats.ini %rcon.steam2 Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1214. if ($readini(Stats.ini,%rcon.steam2,Gathers)) { .writeini -n Stats.ini %rcon.steam2 Gathers $calc($readini(Stats.ini,%rcon.steam2,Gathers) +1) }
  1215. elseif (!$readini(Stats.ini,%rcon.steam2,Gathers)) { .writeini -n Stats.ini %rcon.steam2 Gathers 1 }
  1216. if ($readini(Stats.ini,%rcon.steam2,Gathers) == 5) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 1] }
  1217. elseif ($readini(Stats.ini,%rcon.steam2,Gathers) == 10) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 2] }
  1218. elseif ($readini(Stats.ini,%rcon.steam2,Gathers) == 30) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 3] }
  1219. elseif ($readini(Stats.ini,%rcon.steam2,Gathers) == 50) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 4] }
  1220. }
  1221. if ($readini(Stats.ini,%rcon.steam,kills) == 100) { reward %rcon.id  %rcon.nick  %rcon.steam Godlike [Level 1] }
  1222. elseif ($readini(Stats.ini,%rcon.steam,kills) == 200) { reward %rcon.id  %rcon.nick  %rcon.steam Godlike [Level 2] }
  1223. elseif ($readini(Stats.ini,%rcon.steam,kills) == 300) { reward %rcon.id  %rcon.nick  %rcon.steam Godlike [Level 3] }
  1224. elseif ($readini(Stats.ini,%rcon.steam,kills) == 400) { reward %rcon.id  %rcon.nick  %rcon.steam Godlike [Level 4] }
  1225. }
  1226. }
  1227. elseif (%rcon.team == %rcon.team2) {
  1228. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1229. .writeini -n Stats.ini %rcon.steam2 nick $split(%rcon.nick2)
  1230. if ($savescore(%rcon.id)) {
  1231. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 0 }
  1232. if (!$readini(Stats.ini,%rcon.steam2,Points)) { .writeini -n Stats.ini %rcon.steam2 Points 0 }
  1233. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 0 }
  1234. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points 0 }
  1235. .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) -1)
  1236. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) -1)
  1237. .writeini -n Stats.ini %rcon.steam Tks $calc($readini(Stats.ini,%rcon.steam,Tks) +1)
  1238. if ($readini(Stats.ini,%rcon.steam,Tks) == 5) { reward %rcon.id  %rcon.nick  %rcon.steam Teams burden [Level 1] }
  1239. elseif ($readini(Stats.ini,%rcon.steam,Tks) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Teams burden [Level 2] }
  1240. elseif ($readini(Stats.ini,%rcon.steam,Tks) == 15) { reward %rcon.id  %rcon.nick  %rcon.steam Teams burden [Level 3] }
  1241. elseif ($readini(Stats.ini,%rcon.steam,Tks) == 20) { reward %rcon.id  %rcon.nick  %rcon.steam Teams burden [Level 4] }
  1242. .writeini -n Stats.ini %rcon.steam Vote %rcon.num
  1243. }
  1244. ssay %rcon.id %rcon.nick $+ ( $+ %rcon.steam $+ ) has killed teammate $+ $chr(44) to ban him use: $serversyntax(bantk)
  1245. set %CS [ $+ [ %rcon.id ] $+ .bantk ] %rcon.steam
  1246. }
  1247. }
  1248. if (Triggered == $clr($2-)) {
  1249. if ($clr($2-).said == Planted_The_Bomb) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) {
  1250. set %CS [ $+ [ %rcon.id ] $+ .BombPlanet ] %rcon.steam %rcon.nick
  1251. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1252. if ($savescore(%rcon.id)) {
  1253. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 1 }
  1254. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1 }
  1255. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) +1.01) | .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) +1.01) | .writeini -n Stats.ini %rcon.steam plants $calc($readini(Stats.ini,%rcon.steam,plants) +1)
  1256. if ($readini(Stats.ini,%rcon.steam,plants) == 5) { reward %rcon.id  %rcon.nick  %rcon.steam Perfect Terrorist [Level 1] }
  1257. elseif ($readini(Stats.ini,%rcon.steam,plants) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Perfect Terrorist [Level 2] }
  1258. elseif ($readini(Stats.ini,%rcon.steam,plants) == 15) { reward %rcon.id  %rcon.nick  %rcon.steam Perfect Terrorist [Level 3] }
  1259. elseif ($readini(Stats.ini,%rcon.steam,plants) == 20) { reward %rcon.id  %rcon.nick  %rcon.steam Perfect Terrorist [Level 4] }
  1260. }
  1261. }
  1262. if ($clr($2-).said == Defused_The_Bomb) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) {
  1263. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1264. if ($savescore(%rcon.id)) {
  1265. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 1 }
  1266. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1 }
  1267. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) +1.01) | .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) +1.01) | .writeini -n Stats.ini %rcon.steam defuses $calc($readini(Stats.ini,%rcon.steam,defuses) +1)
  1268. if ($readini(Stats.ini,%rcon.steam,defuses) == 5) { reward %rcon.id  %rcon.nick  %rcon.steam Bomb disposal [Level 1] }
  1269. elseif ($readini(Stats.ini,%rcon.steam,defuses) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Bomb disposal [Level 2] }
  1270. elseif ($readini(Stats.ini,%rcon.steam,defuses) == 15) { reward %rcon.id  %rcon.nick  %rcon.steam Bomb disposal [Level 3] }
  1271. elseif ($readini(Stats.ini,%rcon.steam,defuses) == 20) { reward %rcon.id  %rcon.nick  %rcon.steam Bomb disposal [Level 4] }
  1272. }
  1273. }
  1274. }
  1275. }
  1276. elseif ($NGET(%rcon.id,Type) == DM) {
  1277. if (Killed == $clr($2-)) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) {
  1278. if (%rcon.team != %rcon.team2) {
  1279. if ($ifcscore(%rcon.id)) {
  1280. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1281. .writeini -n Stats.ini %rcon.steam2 nick $split(%rcon.nick2)
  1282. if ($savescore(%rcon.id)) {
  1283. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 0 }
  1284. if (!$readini(Stats.ini,%rcon.steam2,Points)) { .writeini -n Stats.ini %rcon.steam2 Points 0 }
  1285. }
  1286. speak %rcon.id fvox/bell
  1287. if ($savescore(%rcon.id)) {
  1288. .writeini -n Stats.ini %rcon.steam kills $calc($readini(Stats.ini,%rcon.steam,kills) +1)
  1289. .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) + $Guns(%rcon.weapon))
  1290. .writeini -n Stats.ini %rcon.steam2 Points $calc($readini(Stats.ini,%rcon.steam2,Points) -1)
  1291. .writeini -n Stats.ini %rcon.steam2 deaths $calc($readini(Stats.ini,%rcon.steam2,deaths) +1)
  1292. if (!$readini(Stats.ini,%rcon.steam2,Last)) || ($readini(Stats.ini,%rcon.steam2,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1293. .writeini -n Stats.ini %rcon.steam2 Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1294. if ($readini(Stats.ini,%rcon.steam2,Gathers)) { .writeini -n Stats.ini %rcon.steam2 Gathers $calc($readini(Stats.ini,%rcon.steam2,Gathers) +1) }
  1295. elseif (!$readini(Stats.ini,%rcon.steam2,Gathers)) { .writeini -n Stats.ini %rcon.steam2 Gathers 1 }
  1296. }
  1297. if (!$readini(Stats.ini,%rcon.steam,Last)) || ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1298. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1299. if ($readini(Stats.ini,%rcon.steam,Gathers)) { .writeini -n Stats.ini %rcon.steam Gathers $calc($readini(Stats.ini,%rcon.steam,Gathers) +1) }
  1300. elseif (!$readini(Stats.ini,%rcon.steam,Gathers)) { .writeini -n Stats.ini %rcon.steam Gathers 1 }
  1301. }
  1302. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1 }
  1303. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points 1 }
  1304. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) + $Guns(%rcon.weapon))
  1305. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points) -1)
  1306. }
  1307. if (%rcon.team == TERRORIST) { inc %CS [ $+ [ %rcon.id ] $+ .Score-T ] 1 }
  1308. elseif (%rcon.team == CT) { inc %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 1 }
  1309. if ($teamscore(a,%rcon.id) >= $NGET(%rcon.id,DM-Target)) || ($teamscore(b,%rcon.id) >= $NGET(%rcon.id,DM-Target)) {
  1310. if ($savescore(%rcon.id)) { setmvps %rcon.id }
  1311. if ($teamscore(a,%rcon.id) >= $NGET(%rcon.id,DM-Target)) { .timer 1 1 .speak %rcon.id "Team a reach the target" | ssay %rcon.id The winners are: Team A! | tsay %rcon.id The winners are: Team A! | msg %CS.Chan $stl(%rcon.id,² $+ $NGet(%rcon.id,Name) ¶number² $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) ¶has ended! The first team was reach the DeathMatch target was ²Team-A¶.) }
  1312. elseif ($teamscore(b,%rcon.id) >= $NGET(%rcon.id,DM-Target)) { .timer 1 1 .speak %rcon.id "Team b reach the target" | ssay %rcon.id The winners are: Team B! | tsay %rcon.id The winners are: Team B! | msg %CS.Chan $stl(%rcon.id,² $+ $NGet(%rcon.id,Name) ¶number² $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) ¶has ended! The first team was reach the DeathMatch target was ²Team-B¶.) }
  1313. rcmd %rcon.id admin_command admin_rcon csdm_active 0
  1314. rcmd %rcon.id admin_command admin_rcon csdm_disable
  1315. gather-enD %rcon.id
  1316. return 1
  1317. }
  1318. ShowServerScore %rcon.id
  1319. speak %rcon.id "fvox/bell"
  1320. }
  1321. }
  1322. elseif (%rcon.team == %rcon.team2) {
  1323. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1324. .writeini -n Stats.ini %rcon.steam2 nick $split(%rcon.nick2)
  1325. if ($savescore(%rcon.id)) {
  1326. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 0 }
  1327. if (!$readini(Stats.ini,%rcon.steam2,Points)) { .writeini -n Stats.ini %rcon.steam2 Points 0 }
  1328. .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) -1)
  1329. .writeini -n Stats.ini %rcon.steam Tks $calc($readini(Stats.ini,%rcon.steam,Tks) +1)
  1330. }
  1331. ssay %rcon.id %rcon.nick $+ ( $+ %rcon.steam $+ ) has killed teammate $+ $chr(44) to ban him use: $serversyntax(bantk)
  1332. set %CS [ $+ [ %rcon.id ] $+ .bantk ] %rcon.steam
  1333. if (%rcon.team == TERRORIST) { dec %CS [ $+ [ %rcon.id ] $+ .Score-T ] 1 }
  1334. elseif (%rcon.team == CT) { dec %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 1 }
  1335. ShowServerScore %rcon.id
  1336. }
  1337. }
  1338. }
  1339. elseif ($NGET(%rcon.id,Type) == GG) {
  1340. if (Killed == $clr($2-)) && (%CS [ $+ [ %rcon.id ] $+ .live ]) && ($NGet(%rcon.id,Status) == ON) {
  1341. if (%rcon.team != %rcon.team2) {
  1342. if ($ifcscore(%rcon.id)) {
  1343. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1344. .writeini -n Stats.ini %rcon.steam2 nick $split(%rcon.nick2)
  1345. if ($savescore(%rcon.id)) {
  1346. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 0 }
  1347. if (!$readini(Stats.ini,%rcon.steam2,Points)) { .writeini -n Stats.ini %rcon.steam2 Points 0 }
  1348. }
  1349. speak %rcon.id fvox/bell
  1350. incini GunGame [ $+ [ %rcon.id ] $+ .ini ] score %rcon.steam 1
  1351. if ($savescore(%rcon.id)) {
  1352. .writeini -n Stats.ini %rcon.steam kills $calc($readini(Stats.ini,%rcon.steam,kills) +1)
  1353. .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) + $Guns(%rcon.weapon))
  1354. .writeini -n Stats.ini %rcon.steam2 Points $calc($readini(Stats.ini,%rcon.steam2,Points) -1)
  1355. .writeini -n Stats.ini %rcon.steam2 deaths $calc($readini(Stats.ini,%rcon.steam2,deaths) +1)
  1356. if (!$readini(Stats.ini,%rcon.steam2,Last)) || ($readini(Stats.ini,%rcon.steam2,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1357. .writeini -n Stats.ini %rcon.steam2 Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1358. if ($readini(Stats.ini,%rcon.steam2,Gathers)) { .writeini -n Stats.ini %rcon.steam2 Gathers $calc($readini(Stats.ini,%rcon.steam2,Gathers) +1) }
  1359. elseif (!$readini(Stats.ini,%rcon.steam2,Gathers)) { .writeini -n Stats.ini %rcon.steam2 Gathers 1 }
  1360. if ($readini(Stats.ini,%rcon.steam2,Gathers) == 5) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 1] }
  1361. elseif ($readini(Stats.ini,%rcon.steam2,Gathers) == 10) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 2] }
  1362. elseif ($readini(Stats.ini,%rcon.steam2,Gathers) == 30) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 3] }
  1363. elseif ($readini(Stats.ini,%rcon.steam2,Gathers) == 50) { reward %rcon.id  %rcon.nick2  %rcon.steam2 Gamer [Level 4] }
  1364. }
  1365. if (!$readini(Stats.ini,%rcon.steam,Last)) || ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1366. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1367. if ($readini(Stats.ini,%rcon.steam,Gathers)) { .writeini -n Stats.ini %rcon.steam Gathers $calc($readini(Stats.ini,%rcon.steam,Gathers) +1) }
  1368. elseif (!$readini(Stats.ini,%rcon.steam,Gathers)) { .writeini -n Stats.ini %rcon.steam Gathers 1 }
  1369. if ($readini(Stats.ini,%rcon.steam,Gathers) == 5) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 1] }
  1370. elseif ($readini(Stats.ini,%rcon.steam,Gathers) == 10) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 2] }
  1371. elseif ($readini(Stats.ini,%rcon.steam,Gathers) == 30) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 3] }
  1372. elseif ($readini(Stats.ini,%rcon.steam,Gathers) == 50) { reward %rcon.id  %rcon.nick  %rcon.steam Gamer [Level 4] }
  1373. }
  1374. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1 }
  1375. if (!$readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points)) { .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points 1 }
  1376. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam,Points) + $Guns(%rcon.weapon))
  1377. .writeini -n Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points $calc($readini(Mvps [ $+ [ %rcon.id ] $+ .ini ],%rcon.steam2,Points) -1)
  1378. }
  1379. if ($readini(GunGame [ $+ [ %rcon.id ] $+ .ini ],score,%rcon.steam) == $NGET(%rcon.id,GG-Target)) {
  1380. if ($savescore(%rcon.id)) { setggmvps %rcon.id }
  1381. ssay %rcon.id The winners is: $split(%rcon.nick) $+ ! | tsay %rcon.id The winners is: $split(%rcon.nick) $+ ! | msg %CS.Chan $stl(%rcon.id,² $+ $NGet(%rcon.id,Name) ¶number² $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) ¶has ended! The winner is ² $+ $split(%rcon.nick) $+ ¶.)
  1382. rcmd %rcon.id admin_command admin_rcon csdm_active 0
  1383. rcmd %rcon.id admin_command admin_rcon csdm_disable
  1384. gather-end %rcon.id
  1385. return 1
  1386. }
  1387. speak %rcon.id "fvox/bell"
  1388. }
  1389. }
  1390. elseif (%rcon.team == %rcon.team2) {
  1391. .writeini -n Stats.ini %rcon.steam nick $split(%rcon.nick)
  1392. .writeini -n Stats.ini %rcon.steam2 nick $split(%rcon.nick2)
  1393. if ($savescore(%rcon.id)) {
  1394. if (!$readini(Stats.ini,%rcon.steam,Points)) { .writeini -n Stats.ini %rcon.steam Points 0 }
  1395. if (!$readini(Stats.ini,%rcon.steam2,Points)) { .writeini -n Stats.ini %rcon.steam2 Points 0 }
  1396. .writeini -n Stats.ini %rcon.steam Points $calc($readini(Stats.ini,%rcon.steam,Points) -1)
  1397. .writeini -n Stats.ini %rcon.steam Tks $calc($readini(Stats.ini,%rcon.steam,Tks) +1)
  1398. }
  1399. .writeini -n GunGame [ $+ [ %rcon.id ] $+ .ini ] score %rcon.steam $calc($readini(GunGame [ $+ [ %rcon.id ] $+ .ini ],score,%rcon.steam) -1)
  1400. ssay %rcon.id %rcon.nick $+ ( $+ %rcon.steam $+ ) has killed teammate $+ $chr(44) to ban him use: $serversyntax(bantk)
  1401. set %CS [ $+ [ %rcon.id ] $+ .bantk ] %rcon.steam
  1402. }
  1403. }
  1404. }
  1405. if (disconnected == $clr($2-)) && (%CS [ $+ [ %rcon.id ] $+ .live ]) {
  1406. ssay %rcon.id %rcon.nick $+ ( $+ %rcon.steam $+ ) has quit in the middle of the gather $+ $chr(44) to ban him use: $serversyntax(banlast)
  1407. set %CS [ $+ [ %rcon.id ] $+ .banlast ] %rcon.steam
  1408. }
  1409. if (You have been banned from this server. == %Rcon.data) && ($readini(Settings.ini,$1,Connected) != Banned) { .writeini -n Settings.ini $1 Connected Banned }
  1410. if ($clr($2-) == say) || ($clr($2-) == say_team) && ($NGet(%rcon.id,Status) == ON) {
  1411. Tokenize 32 $Rescuechar($clr($2-).said)
  1412. if ($1 == $ServerSyntax(score)) { speak %rcon.id fvox/blip | sscore %rcon.id }
  1413. if ($1 == $ServerSyntax(agent)) { speak %rcon.id fvox/blip | ssay %rcon.id $NGet(%rcon.id,Name) Agent is: %CS [ $+ [ %rcon.id ] $+ .Admin ] }
  1414. if ($1 == $ServerSyntax(commands)) || ($1 == $ServerSyntax(help)) { speak %rcon.id fvox/blip | ssay %rcon.id -> Server commands are: !SCORE !PLAYERS !AGENT | ssay %rcon.id -> Admin commands are: !RR [secs(1)] !KICK !BANTK !BANLAST !BAN <STEAMID> !UNBAN <STEAMID> !KNIVES !PASSWORD <PASSWORD> !MAP <MAPNAME> | ssay %rcon.id -> !PRAC !RATES !MR15 !STOP !LIVE !SUB !T <NICK> !CT <NICK> !SLAY <NICK> !NAME <NICK> !/@ <MESSAGE> !SSAY <MESSAGE> !FF <0/1> !FREEZETIME <TIME> !SS }
  1415. if ($1 == $ServerSYntax(teams)) || ($1 == $ServerSYntax(players)) { speak %rcon.id fvox/blip | ssay %rcon.id Team-A: $replace(%CS [ $+ [ %rcon.id ] $+ .TeamA ],$chr(32),$Chr(32) $+ - $+ $chr(32)) | ssay %rcon.id Team-B: $replace(%CS [ $+ [ %rcon.id ] $+ .TeamB ],$chr(32),$Chr(32) $+ - $+ $chr(32)) | ssay %rcon.id Subs: $iif(%CS [ $+ [ %rcon.id ] $+ .TeamSubs ],$replace($v1,$chr(32),$Chr(32) $+ - $+ $chr(32)),None.) }
  1416. if ($steamisadmin(%RCON.Steam)) {
  1417. if ($1 == $ServerSyntax(rr)) || ($1 == $ServerSyntax(restartround)) { rcmd %rcon.id sv_restart $iif($2 isnum,$2,1) }
  1418. elseif ($1 == $ServerSyntax(Kick)) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_kick $Rescuechar($2-) }
  1419. elseif ($1 == $serverSyntax(bantk)) && (%CS [ $+ [ %rcon.id ] $+ .bantk ]) {
  1420. addban %CS [ $+ [ %rcon.id ] $+ .bantk ]  $split(%rcon.nick) 7d Team Kill
  1421. speak %rcon.id fvox/blip
  1422. ssay %rcon.id %CS [ $+ [ %rcon.id ] $+ .bantk ] has been banned due TeamKilling during gather.
  1423. unset %CS [ $+ [ %rcon.id ] $+ .bantk ]
  1424. }
  1425. elseif ($1 == $serverSyntax(banlast)) && (%CS [ $+ [ %rcon.id ] $+ .banlast ]) {
  1426. addban %CS [ $+ [ %rcon.id ] $+ .banlast ]  $split(%rcon.nick) 7d Quit in the middle
  1427. speak %rcon.id fvox/blip
  1428. ssay %rcon.id %CS [ $+ [ %rcon.id ] $+ .banlast ] has been banned due quit in the middle of the gather.
  1429. unset %CS [ $+ [ %rcon.id ] $+ .banlast ]
  1430. }
  1431. elseif ($1 == $ServerSyntax(Ban)) {
  1432. if ($3) {
  1433. if ($issteam($2)) {
  1434. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1435. addban $2  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-)
  1436. speak %rcon.id fvox/blip
  1437. }
  1438. else {
  1439. if ($steambynick($2)) { var %sid = $v1 }
  1440. else { speak %rcon.id fvox/buzz | rcmd %rcon.id admin_command admin_ssay You must enter SteamID, Nick is unknown. | return 1 }
  1441. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1442. addban %sid  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-)
  1443. speak %rcon.id fvox/blip
  1444. }
  1445. else { ssay %rcon.id Unknown steam, use $ServerSyntax(Ban) <Steam_ID> | speak %rcon.id fvox/buzz }
  1446. }
  1447. else { ssay %rcon.id Ban syntax error. | speak %rcon.id fvox/buzz }
  1448. }
  1449. elseif ($1 == $ServerSyntax(Unban)) {
  1450.  
  1451. if ($regex($2,/STEAM_\d:\d:\d+/i)) {
  1452. if (!$isban($2)) { rcmd %rcon.id admin_command admin_ssay $2 is not banned. | return 1 }
  1453. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1454. delban $Rescuechar($2)
  1455. speak %rcon.id fvox/blip
  1456. }
  1457. else {
  1458. if ($steambynick($2)) { var %sid = $v1 }
  1459. if (!$isban(%sid)) { rcmd %rcon.id admin_command admin_ssay %sid is not banned. | return 1 }
  1460. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1461. delban $Rescuechar(%sid)
  1462. speak %rcon.id fvox/blip
  1463. }
  1464. else { ssay %rcon.id Unknown steam, use $ServerSyntax(Unban) <Steam_ID> | speak %rcon.id fvox/buzz }
  1465. }
  1466. elseif ($1 == $ServerSyntax(knives)) || ($1 == $ServerSyntax(knife)) || ($1 == $ServerSyntax(knifes)) {
  1467. rcmd %rcon.id admin_command zxor_knivesonly 1
  1468. .timer 1 1 rcmd %rcon.id admin_command admin_csay red ~ Knives Round ~ Please wait ~
  1469. .timer 1 2 rcmd %rcon.id admin_command admin_csay green ~ Knives Round ~ Please wait ~
  1470. .timer 1 3 rcmd %rcon.id admin_command admin_csay red ~ Knives Round ~ Please wait ~
  1471. .timer 1 4 rcmd %rcon.id admin_command admin_csay green ~ Knives Round ~ Please wait ~
  1472. .timer 1 4 mr15 %rcon.id
  1473. .timer 1 6 speak %rcon.id fvox/bell $(|) rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1474. .timer 1 7 rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1475. .timer 1 8 rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1476. .timer 1 9 rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1477. .timer 1 10 rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1478. .timer 1 11 rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1479. .timer 1 12 rcmd %rcon.id admin_command admin_tsay red Knives round has been started! DO NOT SHOOT!
  1480. .timer 1 14 rcmd %rcon.id admin_command admin_tsay green Knives round has been started! DO NOT SHOOT!
  1481. .timer 1 13 rcmd %rcon.id admin_command admin_execall drop
  1482. .timer 1 13 rcmd %rcon.id admin_command admin_execall drop
  1483. .timer 1 14 speak %rcon.id fvox/buzz
  1484. }
  1485. elseif ($1 == $ServerSyntax(Pass)) || ($1 == $ServerSyntax(Password)) {
  1486. if (!$secure($2-)) { return 1 }
  1487. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-password)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1488. if ($2) { speak %rcon.id fvox/blip | rcmd %rcon.id sv_password $Rescuechar($2) | ssay %rcon.id Server password has been changed to $2 | set %CS [ $+ [ %rcon.id ] $+ .pass ] $Rescuechar($2) }
  1489. else { ssay %rcon.id The current server password is: %CS [ $+ [ %rcon.id ] $+ .pass ] }
  1490. }
  1491. elseif ($1 == $ServerSyntax(Map)) && ($2) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_map $Rescuechar($2) | set %CS [ $+ [ %rcon.id ] $+ .map ] $Rescuechar($2) }
  1492. elseif ($1- == $ServerSyntax(prac)) { speak %rcon.id fvox/blip | PRAC %rcon.id }
  1493. elseif ($1- == $ServerSyntax(rates)) { speak %rcon.id fvox/blip | Rates %rcon.id }
  1494. elseif ($1- == $ServerSyntax(MR15)) { speak %rcon.id fvox/blip | MR15 %rcon.id }
  1495. elseif ($1 == $ServerSyntax(stop)) || ($1 == $ServerSyntax(end)) {
  1496. msg %CS.Chan $stl(%rcon.id,² $+ $NGet(%rcon.id,name) ¶Number² $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) ¶has just stopped by² $split(%rcon.nick) ¶(From server)¶.)
  1497. ssay %rcon.id $NGET(%rcon.id,Name) Number $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) has just stopped by $split(%rcon.nick) $+ !
  1498. Gather-END %rcon.id
  1499. }
  1500. elseif ($1 == $ServerSyntax(Live)) {
  1501. if (%CS [ $+ [ %rcon.id ] $+ .Half ] == First) || (%CS [ $+ [ %rcon.id ] $+ .Half ] == NotYet) {
  1502. if (A.* iswm %rcon.nick) {
  1503. if (%rcon.team == CT) { set %CS [ $+ [ %rcon.id ] $+ .Live ] A-B }
  1504. elseif (%rcon.team == TERRORIST) { set %CS [ $+ [ %rcon.id ] $+ .Live ] B-A }
  1505. }
  1506. elseif (B.* iswm %rcon.nick) {
  1507. if (%rcon.team == CT) { set %CS [ $+ [ %rcon.id ] $+ .Live ] B-A }
  1508. elseif (%rcon.team == TERRORIST) { set %CS [ $+ [ %rcon.id ] $+ .Live ] A-B }
  1509. }
  1510. else { SSay %rcon.id Error: all the players have to be with currect tag: A.Nick / B.Nick (e.x: B.ZxoR) | speak %rcon.id fvox/buzz | return 1 }
  1511. if ($NGet(%rcon.id,Type) == Regular) {
  1512. if (%CS [ $+ [ %rcon.id ] $+ .Half ] == NotYet) { msg %CS.Chan $stl(%rcon.id,First half is now starting $+ $chr(44) Score: ²0¶-²0¶.) }
  1513. set %CS [ $+ [ %rcon.id ] $+ .Half ] First
  1514. set %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 0
  1515. set %CS [ $+ [ %rcon.id ] $+ .Score-T ] 0
  1516. if ($NGet(%rcon.id,Fun) == 0) { MR15 %rcon.id } | else { prac %rcon.id }
  1517. ssay %rcon.id The first half started now, play fair and enjoy!
  1518. tsay %rcon.id The first half started now, play fair and enjoy!
  1519. .timer 1 1 tsay %rcon.id ~ First half has just started! ~
  1520. .timer 1 2 tsay %rcon.id ~! First half has just started! !~ $(|) speak %rcon.id "doop round number one"
  1521. .timer 1 3 tsay %rcon.id ~!~ First half has just started! ~!~
  1522. .timer 1 4 tsay %rcon.id ~!~ [First half has just started!] ~!~
  1523. .timer 1 5 tsay %rcon.id ~!~ [First half has just started!] ~!~
  1524. .timer 1 6 tsay %rcon.id red ~!~ [First half has just started!] ~!~
  1525. .timer 1 7 tsay %rcon.id blue ~!~ [First half has just started!] ~!~
  1526. .timer 1 8 tsay %rcon.id red ~!~ [First half has just started!] ~!~
  1527. .timer 1 9 tsay %rcon.id green ~!~ [First half has just started!] ~!~
  1528. rcmd %rcon.id admin_command admin_rcon csdm_active 0
  1529. rcmd %rcon.id admin_command admin_rcon csdm_disable
  1530. }
  1531. elseif ($NGet(%rcon.id,Type) == DM) {
  1532. if (%CS [ $+ [ %rcon.id ] $+ .Half ] == NotYet) { msg %CS.Chan $stl(%rcon.id,²DeathMatch¶ game has been started! The first team will reach² $NGet(%rcon.id,DM-Target) ¶points wins!) }
  1533. set %CS [ $+ [ %rcon.id ] $+ .Half ] First
  1534. MR15 %rcon.id
  1535. speak %rcon.id "doop doop doop"
  1536. rcmd %rcon.id admin_command admin_rcon csdm_active 1
  1537. rcmd %rcon.id admin_command admin_rcon csdm_enable
  1538. rcmd %rcon.id sv_restart 1
  1539. .timer 1 1.5 /set %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 0
  1540. .timer 1 1.5 /set %CS [ $+ [ %rcon.id ] $+ .Score-T ] 0
  1541. ssay %rcon.id DeathMatch game has been started! The first team will reach $NGet(%rcon.id,DM-Target) kills wins!
  1542. tsay %rcon.id DeathMatch game has been started! The first team will reach $NGet(%rcon.id,DM-Target) kills wins!
  1543. .timer 1 5 /.timerDMSCORE [ $+ [ %rcon.id ] ] 0 5 /.ShowServerScore %rcon.id
  1544. }
  1545. elseif ($NGet(%rcon.id,Type) == GG) {
  1546. if ($exists(GunGame [ $+ [ %rcon.id ] $+ .ini ])) { .remove GunGame [ $+ [ %rcon.id ] $+ .ini ] }
  1547. if (%CS [ $+ [ %rcon.id ] $+ .Half ] == NotYet) { msg %CS.Chan $stl(%rcon.id,²GunGame¶ game has been started! The first player will reach² $NGet(%rcon.id,GG-Target) ¶kills wins!) }
  1548. set %CS [ $+ [ %rcon.id ] $+ .Half ] First
  1549. speak %rcon.id "doop doop doop"
  1550. rcmd %rcon.id gg_messages 1
  1551. rcmd %rcon.id gg_block_objectives 1
  1552. rcmd %rcon.id gg_save_temp 0
  1553. rcmd %rcon.id gg_disable_money 1
  1554. rcmd %rcon.id gg_dm 1
  1555. rcmd %rcon.id gg_kills_per_lvl 2
  1556. rcmd %rcon.id amx_gungame 1
  1557. rcmd %rcon.id gg_enabled 1
  1558. .timer 1 1 rcmd %rcon.id amx_gungame_restart
  1559. .timer 1 2 /set %CS [ $+ [ %rcon.id ] $+ .Score-CT ] 0
  1560. .timer 1 2 /set %CS [ $+ [ %rcon.id ] $+ .Score-T ] 0
  1561. }
  1562. }
  1563. elseif (%CS [ $+ [ %rcon.id ] $+ .Half ] == Second) || (%CS [ $+ [ %rcon.id ] $+ .Half ] == First-Second) {
  1564. set %CS [ $+ [ %rcon.id ] $+ .Score-T ] %CS [ $+ [ %rcon.id ] $+ .FirstT ]
  1565. set %CS [ $+ [ %rcon.id ] $+ .Score-CT ] %CS [ $+ [ %rcon.id ] $+ .FirstCT ]
  1566. if (%CS [ $+ [ %rcon.id ] $+ .Half ] == First-Second) { msg %CS.Chan $stl(%rcon.id,Second half is now starting $+ $chr(44) Score: ² $+ $teamscore(a,%rcon.id) $+ ¶-² $+ $teamscore(b,%rcon.id)) }
  1567. set %CS [ $+ [ %rcon.id ] $+ .Half ] Second
  1568. if ($NGet(%rcon.id,Fun) == 0) { MR15 %rcon.id } | else { prac %rcon.id }
  1569. .timer 1 2 ssay %rcon.id The second half started now, play fair and enjoy!
  1570. .timer 1 2 tsay %rcon.id The second half started now, play fair and enjoy!
  1571. .timer 1 2 speak %rcon.id "doop round number two"
  1572. }
  1573. }
  1574. elseif ($1 == $ServerSyntax(Sub)) {
  1575. speak %rcon.id fvox/blip
  1576. if ($2 == off) {
  1577. if (%CS [ $+ [ %rcon.id ] $+ .Sub ]) {
  1578. msg %CS.Chan $stl(%rcon.id,Substitute Searching For Team- $+ $upper(%CS [ $+ [ %rcon.id ] $+ .Sub ]) has been canceled.)
  1579. .timersubmsg [ $+ [ %rcon.id ] ] off
  1580. ssay %rcon.id Substitute Searching For Team- $+ $upper(%CS [ $+ [ %rcon.id ] $+ .Sub ]) has been canceled.
  1581. tsay %rcon.id Substitute Searching For Team- $+ $upper(%CS [ $+ [ %rcon.id ] $+ .Sub ]) has been canceled.
  1582. unset %CS [ $+ [ %rcon.id ] $+ .Sub ]
  1583. }
  1584. else { ssay %rcon.id Substitute player is not needed. }
  1585. }
  1586. elseif ($2 == A) || ($2 == B) {
  1587. subsearch %rcon.id $2
  1588. ssay %rcon.id Sub searching for Team- $+ $upper($2) has been started.
  1589. tsay %rcon.id Sub searching for Team- $+ $upper($2) has been started.
  1590. }
  1591. else { ssay %rcon.id Bad sub command. Syntax: $ServerSyntax(Sub) <A/B/OFF> | speak %rcon.id fvox/buzz }
  1592. }
  1593. elseif ($1 == $ServerSyntax(T)) && ($2) { speak %rcon.id fvox/blip | MOVE-T %rcon.id $Rescuechar($2-) }
  1594. elseif ($1 == $ServerSyntax(CT)) && ($2) { speak %rcon.id fvox/blip | MOVE-CT %rcon.id $Rescuechar($2-) }
  1595. elseif ($1 == $ServerSyntax(Slay)) && ($2) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_slay $Rescuechar($2-) }
  1596. elseif ($1 == $ServerSyntax(Name)) && ($2) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_execclient $2 name " $+ $Rescuechar($3-) }
  1597. elseif ($1 == @) || ($1 == !) || ($1 == $ServerSyntax(tsay)) { speak %rcon.id fvox/bell | rcmd %rcon.id admin_command admin_tsay $split(%rcon.nick) $+ : $Rescuechar($2-) }
  1598. elseif ($1 == $ServerSyntax(ssay)) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_ssay $2- }
  1599. elseif ($1 == $ServerSyntax(disconnect)) || ($1 == $ServerSyntax(Quit)) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_execall disconnect }
  1600. elseif ($1 == $ServerSyntax(FF)) {
  1601. speak %rcon.id fvox/blip
  1602. if ($2 == ON) || ($2 == 1) { rcmd %rcon.id admin_command admin_ssay Friendlyfire is ON now. | rcmd %rcon.id mp_friendlyfire 1 }
  1603. if ($2 == OFF) || ($2 == $chr(48)) { rcmd %rcon.id admin_command admin_ssay Friendlyfire is OFF now. | rcmd %rcon.id mp_friendlyfire 0 }
  1604. }
  1605. elseif ($1 == $ServerSyntax(Freezetime)) { speak %rcon.id fvox/blip | rcmd %rcon.id admin_command admin_ssay Freezetime is $Rescuechar($2) now. | rcmd %rcon.id mp_freezetime $Rescuechar($2) }
  1606. elseif ($1 == $ServerSyntax(ss)) { speak %rcon.id fvox/blip | tsay %rcon.id Snapshot has just taken by the admin ( $+ $split(%rcon.nick) $+ ) | rcmd %rcon.id admin_quiet 1 | rcmd %rcon.id allow_client_exec 1 | rcmd %rcon.id admin_command admin_execall snapshot | rcmd %rcon.id admin_quiet 2 }
  1607. }
  1608. }
  1609. }
  1610. elseif ($NGet($1,Game) == TF2) {
  1611. echo @Server- $+ $1 < $+ $time $+ > <Team-Fortress> $$2-
  1612. if (*command "log on" iswm $2-) && ($NGet(%rcon.id,Connected) != ON) { NSet %rcon.id Connected ON }
  1613. elseif (*rcon from "*": Bad Password* iswm $2-) && ($NGet(%rcon.id,Connected) != BadRcon) { NSet %rcon.id Connected BadRcon }
  1614. elseif (*STEAM USERID validated* iswm $clr($2-)) {
  1615. if ($isban(%rcon.steam)) {
  1616. rcmd %rcon.id kickid %rcon.steam "You are banned from the gather servers."
  1617. ssay %rcon.id $split(%rcon.nick) $+ ( $+ %rcon.steam $+ ) is banned from the server and cannot join the gather.
  1618. }
  1619. else {
  1620. ssay %rcon.id $split(%rcon.nick) has vaildated and connected seccsusfully.
  1621. rcmd %rcon.id mp_autoteambalance 0
  1622. writeini stats.ini %rcon.steam Nick %rcon.nick
  1623. }
  1624. }
  1625. elseif ($regex(%rcon.dat,/(\S+)\.bsp/i)) && (%CS.AskForMaps == %rcon.id) { write Maplist [ $+ [ %rcon.id ] $+ .txt ] $regml(1) }
  1626. elseif ($2- == World triggered "Round_Start") && (%CS [ $+ [ %rcon.id ] $+ .PRELive ] == ON) {
  1627. if (!%CS [ $+ [ %rcon.id ] $+ .Live ]) msg %CS.Chan $stl(%rcon.id,² $+ $Nget(%rcon.id,name) ¶is now starting!)
  1628. set %CS [ $+ [ %rcon.id ] $+ .Live ] ON
  1629. ssay %rcon.id ATTENTION: The gather is starting now! $iif($r(1,2) == 1,FIGHT TO THE DEATH!,GO GO GO!)
  1630. }
  1631. elseif ($clr($2-) == committed suicide with) && ($NGet(%rcon.id,Status) == ON) && (%CS [ $+ [ %rcon.id ] $+ .Live ] == ON) {
  1632. if ($savescore(%rcon.id)) decini stats.ini %rcon.steam Points 1
  1633. writeini stats.ini %rcon.steam Nick %rcon.nick
  1634. }
  1635. if (disconnected == $clr($2-)) && (%CS [ $+ [ %rcon.id ] $+ .live ]) {
  1636. ssay %rcon.id %rcon.nick $+ ( $+ %rcon.steam $+ ) has quit in the middle of the gather $+ $chr(44) to ban him use: $serversyntax(banlast) $+ .
  1637. set %CS [ $+ [ %rcon.id ] $+ .banlast ] %rcon.steam
  1638. writeini stats.ini %rcon.steam Nick %rcon.nick
  1639. }
  1640. elseif ($clr($2-) == say) || ($clr($2-) == say_team) && ($NGet(%rcon.id,Status) == ON) {
  1641. writeini stats.ini %rcon.steam Nick %rcon.nick
  1642. Tokenize 32 $Rescuechar($clr($2-).said)
  1643. if ($1 == $ServerSYntax(status)) {
  1644. if (!%CS [ $+ [ %rcon.id ] $+ .Live ]) && (!%CS [ $+ [ %rcon.id ] $+ .PRELive ]) { ssay %rcon.id Status: Game isn't live yet. }
  1645. elseif (%CS [ $+ [ %rcon.id ] $+ .Live ]) && (!%CS [ $+ [ %rcon.id ] $+ .PRELive ]) { ssay %rcon.id Status: Game is live, wating for all teams to be ready. }
  1646. elseif (%CS [ $+ [ %rcon.id ] $+ .Live ]) && (%CS [ $+ [ %rcon.id ] $+ .PRELive ]) { ssay %rcon.id Status: The game is live. }
  1647. }
  1648. elseif ($1 == $ServerSYntax(teams)) || ($1 == $ServerSyntax(players)) {
  1649. ssay %rcon.id RED: $replace($remtok(%CS [ $+ [ %rcon.id ] $+ .TeamA ],%CS [ $+ [ %rcon.id ] $+ .AMedic ],32),$chr(32),$Chr(32) $+ - $+ $chr(32)) -> MEDIC: %CS [ $+ [ %rcon.id ] $+ .AMedic ]
  1650. ssay %rcon.id BLUE: $replace($remtok(%CS [ $+ [ %rcon.id ] $+ .TeamB ],%CS [ $+ [ %rcon.id ] $+ .BMedic ],32),$chr(32),$Chr(32) $+ - $+ $chr(32)) -> MEDIC: %CS [ $+ [ %rcon.id ] $+ .BMedic ]
  1651. ssay %rcon.id Subs: $iif(%CS [ $+ [ %rcon.id ] $+ .TeamSubs ],$replace($v1,$chr(32),$Chr(32) $+ - $+ $chr(32)),None.)
  1652. }
  1653. if (!$steamisadmin(%rcon.steam)) { return NOT-ADMIN: STOP }
  1654. if ($1 == $ServerSyntax(live)) {
  1655. set %CS [ $+ [ %rcon.id ] $+ .PRELive ] ON
  1656. set %CS [ $+ [ %rcon.id ] $+ .Blue ] 0
  1657. set %CS [ $+ [ %rcon.id ] $+ .Red ] 0
  1658. .timer 1 2 ssay %rcon.id Game is now LIVE. Waiting for the teams to be ready! After all teams be ready, game will be start automaticly.
  1659. rcmd %rcon.id mp_tournament 1
  1660. rcmd %rcon.id mp_tournament_restart
  1661. }
  1662. elseif ($1 == $ServerSyntax(Ban)) {
  1663. if ($3) {
  1664. if ($issteam($2)) {
  1665. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1666. addban $2  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-)
  1667. }
  1668. else {
  1669. if ($steambynick($2)) { var %sid = $v1 }
  1670. else { ssay %rcon.id You must enter SteamID, Nick is unknown. | return 1 }
  1671. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-ban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1672. addban %sid  $split(%rcon.nick)  $Rescuechar($3)  $Rescuechar($4-)
  1673. }
  1674. else { ssay %rcon.id Unknown steam, use $ServerSyntax(Ban) <Steam_ID> }
  1675. }
  1676. else { ssay %rcon.id Ban syntax error. | speak %rcon.id fvox/buzz }
  1677. }
  1678. elseif ($1 == $ServerSyntax(Unban)) {
  1679. if ($regex($2,/STEAM_\d:\d:\d+/i)) {
  1680. if (!$isban($2)) { ssay %rcon.id $2 is not banned. | return 1 }
  1681. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1682. delban $Rescuechar($2)
  1683. }
  1684. else {
  1685. if ($steambynick($2)) { var %sid = $v1 }
  1686. if (!$isban(%sid)) { ssay %rcon.id %sid is not banned. | return 1 }
  1687. if ($readini($steamisadminf(%rcon.steam),$steamisadmin(%rcon.steam),Cant-unban)) { ssay %rcon.id Sorry %rcon.nick $+ $chr(44) You dont have access to use this command. | return 1 }
  1688. delban $Rescuechar(%sid)
  1689. }
  1690. else { ssay %rcon.id Unknown steam, use $ServerSyntax(Unban) <Steam_ID> }
  1691. }
  1692. elseif ($1 == $ServerSyntax(Sub)) {
  1693. if ($2 == off) {
  1694. if (%CS [ $+ [ %rcon.id ] $+ .Sub ]) {
  1695. msg %CS.Chan $stl(%rcon.id,Substitute Searching For $iif(%CS [ $+ [ %rcon.id ] $+ .Sub ] == A,the 04RED¶ team,the 12BLUE¶ team) has been canceled.)
  1696. .timersubmsg [ $+ [ %rcon.id ] ] off
  1697. ssay %rcon.id Substitute Searching For $iif(%CS [ $+ [ %rcon.id ] $+ .Sub ] == A,the RED team,the BLUE team) has been canceled.
  1698. tsay %rcon.id Substitute Searching For Team- $+ $upper(%CS [ $+ [ %rcon.id ] $+ .Sub ]) has been canceled.
  1699. unset %CS [ $+ [ %rcon.id ] $+ .Sub ]
  1700. }
  1701. else { ssay %rcon.id Substitute player is not needed. }
  1702. }
  1703. elseif ($2 == RED) || (BLU* iswm $2) {
  1704. subsearch %rcon.id $iif($2 == red,A,B)
  1705. ssay %rcon.id Sub searching for $iif(%CS [ $+ [ %rcon.id ] $+ .Sub ] == A,the RED team,the BLUE team) has been started.
  1706. tsay %rcon.id Sub searching for Team- $+ $upper($2) has been started.
  1707. }
  1708. else { ssay %rcon.id Bad sub command. Syntax: $ServerSyntax(Sub) <RED/BLUE/OFF> }
  1709. }
  1710. elseif ($1 == $ServerSyntax(Kick)) { rcmd %rcon.id kick $Rescuechar($2-) }
  1711. elseif ($1 == $serverSyntax(bantk)) && (%CS [ $+ [ %rcon.id ] $+ .bantk ]) {
  1712. addban %CS [ $+ [ %rcon.id ] $+ .bantk ]  $split(%rcon.nick) 7d Team Kill
  1713. ssay %rcon.id %CS [ $+ [ %rcon.id ] $+ .bantk ] has been banned due TeamKilling during gather.
  1714. unset %CS [ $+ [ %rcon.id ] $+ .bantk ]
  1715. }
  1716. elseif ($1 == $serverSyntax(banlast)) && (%CS [ $+ [ %rcon.id ] $+ .banlast ]) {
  1717. addban %CS [ $+ [ %rcon.id ] $+ .banlast ]  $split(%rcon.nick) 7d Quit in the middle
  1718. ssay %rcon.id %CS [ $+ [ %rcon.id ] $+ .banlast ] has been banned due quit in the middle of the gather.
  1719. unset %CS [ $+ [ %rcon.id ] $+ .banlast ]
  1720. }
  1721. elseif ($1 == $ServerSyntax(stop)) || ($1 == $ServerSyntax(end)) {
  1722. msg %CS.Chan $stl(%rcon.id,² $+ $NGet(%rcon.id,name) ¶Number² $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) ¶has just stopped by² $split(%rcon.nick) ¶(From server)¶.)
  1723. ssay %rcon.id $NGET(%rcon.id,Name) Number $numer(%CS [ $+ [ %rcon.id ] $+ .number ]) has just stopped by $split(%rcon.nick) $+ !
  1724. Gather-END %rcon.id
  1725. }
  1726. elseif ($ServerSyntax(map) == $1) {
  1727. if (ctf_* iswm $2) { var %CType = CTF }
  1728. elseif (cp_* iswm $2) { var %ctype = CP }
  1729. elseif (pl_* iswm $2) { var %ctype = PL }
  1730. elseif (plr_* iswm $2) { var %ctype = PLR }
  1731. else { ssay %rcon.id Unknown game type. Only: [cp/ctf/pl/plr] allowed. | return 0 }
  1732. NSet %rcon.id Type %Ctype
  1733. set %CS [ $+ [ %rcon.id ] $+ .map ] $2
  1734. .timer 1 2 rcmd %rcon.id map $2
  1735. }
  1736. elseif ($ServerSyntax(rr) == $1) {
  1737. rcmd %rcon.id mp_tournament_restart 1
  1738. }
  1739. }
  1740. elseif ($clr($2-) == killed) {
  1741. if ($savescore(%rcon.id)) incini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1
  1742. if ($savescore(%rcon.id)) decini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam2 Points 1
  1743. if ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1744. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1745. incini Stats.ini %rcon.steam Gathers 1
  1746. }
  1747. if ($readini(Stats.ini,%rcon.steam2,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1748. .writeini -n Stats.ini %rcon.steam2 Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1749. incini Stats.ini %rcon.steam2 Gathers 1
  1750. }
  1751. if (%rcon.team == %rcon.team2) {
  1752. if ($savescore(%rcon.id)) { decini stats.ini %rcon.steam Points 1 | decini stats.ini %rcon.steam Kills 1 }
  1753. if ($savescore(%rcon.id)) incini stats.ini %rcon.steam2 Deaths 1
  1754. writeini -n stats.ini %rcon.steam Nick %rcon.nick
  1755. writeini -n stats.ini %rcon.steam2 Nick %rcon.nick2
  1756. ssay %rcon.id %rcon.nick $+ ( $+ %rcon.steam $+ ) has killed teammate $+ $chr(44) to ban him use: $serversyntax(bantk)
  1757. set %CS [ $+ [ %rcon.id ] $+ .bantk ] %rcon.steam
  1758. }
  1759. else {
  1760. if ($savescore(%rcon.id)) incini stats.ini %rcon.steam Points 1
  1761. if ($savescore(%rcon.id)) incini stats.ini %rcon.steam Kills 1
  1762. writeini -n stats.ini %rcon.steam Nick %rcon.nick
  1763. writeini -n stats.ini %rcon.steam2 Nick %rcon.nick2
  1764. if ($savescore(%rcon.id)) incini stats.ini %rcon.steam2 Deaths 1
  1765. if ($savescore(%rcon.id)) decini stats.ini %rcon.steam2 Points 1
  1766. }
  1767. }
  1768. elseif ($2- == server cvars end) {
  1769. echo @Server- $+ %rcon.id $timestamp <Team-Fortress> Server CVARs end. Gatherbot CVARs Start.
  1770. .timer 1 6 rcmd %rcon.id mp_tournament 1
  1771. .timer 1 7 rcmd %rcon.id mp_tournament_stopwatch 1
  1772. .timer 1 6 rcmd %rcon.id mp_autoteambalance "0"
  1773. .timer 1 6 rcmd %rcon.id tf_tournament_hide_domination_icons "1"
  1774. .timer 1 6 rcmd %rcon.id mp_friendlyfire "1"
  1775. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_demoman "1"
  1776. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_engineer "0"
  1777. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_heavy "1"
  1778. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_medic "1"
  1779. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_pyro "0"
  1780. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_scout "2"
  1781. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_sniper "0"
  1782. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_soldier "2"
  1783. .timer 1 6 rcmd %rcon.id tf_tournament_classlimit_spy "0" $(|) echo @Server- $+ %rcon.id $timestamp <Team-Fortress> Gatherbot CVARs end
  1784. }
  1785. elseif ((*World triggered "Round_Win"* iswm $2-) || (*World triggered "Mini_Round_Win"* iswm $2-)) && ($NGet(%rcon.id,Status) == ON) && (%CS [ $+ [ %rcon.id ] $+ .Live ] == ON) {
  1786. if (*"Blue"* iswm $2-) {
  1787. var %winner = BLUE
  1788. }
  1789. elseif (*"Red"* iswm $2-) {
  1790. var %winner = RED
  1791. }
  1792. else { var %winner = STALEMATE }
  1793. .timer 1 10 .rcmd %rcon.id map %CS [ $+ [ %rcon.id ] $+ .map ]
  1794. if ($savescore(%rcon.id)) { setmvps %rcon.id }
  1795. msg %CS.Chan $stl(%rcon.id,$NGet(%rcon.id,name) has ended. $iif(%winner == stalemate,There are no winners $+ $chr(44) Stalemate!,$iif(%winner == RED,04RED¶,12BLUE¶) team wins!))
  1796. gather-end %rcon.id
  1797. }
  1798. elseif (($clr($2-) == triggered) || ($clr($3-) == triggered)) && ($NGet(%rcon.id,Status) == ON) && (%CS [ $+ [ %rcon.id ] $+ .Live ] == ON) {
  1799. if ($clr($2-).said == killedobject) && ($savescore(%rcon.id)) {
  1800. incini stats.ini %rcon.steam Points 1.5
  1801. incini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 1.5
  1802. }
  1803. if ($clr($2-).said == kill assist) && ($savescore(%rcon.id)) {
  1804. incini stats.ini %rcon.steam Points 0.5
  1805. incini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 0.5
  1806. }
  1807. if ($NGet(%rcon.id,Type) == ctf) {
  1808. tokenize 34 $2- | tokenize 34 $2-
  1809. if (*flagevent (event picked up )* iswm $1-) {
  1810. if ($savescore(%rcon.id)) {
  1811. incini stats.ini %rcon.steam Points 0.5
  1812. incini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 0.5
  1813. }
  1814. if ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1815. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1816. incini Stats.ini %rcon.steam Gathers 1
  1817. }
  1818. writeini stats.ini %rcon.steam Nick %rcon.nick
  1819. }
  1820. elseif (*triggered flagevent (event captured )* iswm $1-) {
  1821. if ($savescore(%rcon.id)) { incini stats.ini %rcon.steam Captures 1 | incini stats.ini %rcon.steam Points 2 | incini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points 2 }
  1822. writeini stats.ini %rcon.steam Nick %rcon.nick
  1823. inc %CS [ $+ [ %rcon.id ] $+ . $+ [ %rcon.team ] ]
  1824. if ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1825. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1826. incini Stats.ini %rcon.steam Gathers 1
  1827. }
  1828. ssay %rcon.id %rcon.nick got 2 points for capture. Score: RED( $+ %CS [ $+ [ %rcon.id ] $+ .RED ] $+ ) BLUE( $+ %CS [ $+ [ %rcon.id ] $+ .BLUE ] $+ ).
  1829. }
  1830. }
  1831. elseif ($NGet(%rcon.id,type) == cp) || ($NGet(%rcon.id,type) == pl) || ($NGet(%rcon.id,type) == plr) {
  1832. if ($5 == "pointcaptured") && ($savescore(%rcon.id)) {
  1833. noop $regex($2-,/player\d+ (".+<\d+><STEAM_\d:[0-1]:\d+><(?:blue|red)>")/ig)
  1834. var %x = 1,%buffer
  1835. while $regml(%x) {
  1836. var %rcon.steam = $clr($regml(%x)).steam,%rcon.nick = $clr($regml(%x)).nick,%rcon.team = $clr($regml(%x)).team
  1837. incini stats.ini %rcon.steam Points $iif($regml(0) > 1,1.5,3)
  1838. incini Mvps [ $+ [ %rcon.id ] $+ .ini ] %rcon.steam Points $iif($regml(0) > 1,1.5,3)
  1839. incini stats.ini %rcon.steam Captures 1
  1840. var %buffer = $addtok(%buffer,%rcon.nick,44)
  1841. if ($readini(Stats.ini,%rcon.steam,Last) != %CS [ $+ [ %rcon.id ] $+ .number ]) {
  1842. .writeini -n Stats.ini %rcon.steam Last %CS [ $+ [ %rcon.id ] $+ .number ]
  1843. incini Stats.ini %rcon.steam Gathers 1
  1844. }
  1845. inc %x
  1846. }
  1847. ssay %rcon.id %buffer got $iif($regml(0) > 1,1.5,3) points for capture.
  1848. }
  1849. }
  1850. }
  1851. }
  1852. }
  1853. alias tsay { rcmd $1 admin_command admin_tsay $2- }
  1854. alias ssay {
  1855. rcmd $1 $iif($NGet($1,Game) != TF2,admin_command admin_ssay $$2-,say $$2-)
  1856. }
  1857. alias cssay {
  1858. crcmd $1 $iif($CGet($1,Game) != TF2,admin_command admin_ssay $$2-,say $$2-)
  1859. }
  1860. alias MOVE-T { rcmd $1 admin_quiet 2 | rcmd $1 admin_command admin_execclient $1- setinfo "_vgui_menus" "0" | rcmd $1 admin_command admin_execclient $2- chooseteam | rcmd $1 admin_command admin_execclient $2- menuselect 1 }
  1861. alias MOVE-CT { rcmd $1 admin_quiet 2 | rcmd $1 admin_command admin_execclient $1- setinfo "_vgui_menus" "0" | rcmd $1 admin_command admin_execclient $2- chooseteam | rcmd $1 admin_command admin_execclient $2- menuselect 2 }
  1862. alias MR15 {
  1863. rcmd $1 alias mr122k "admin_ignore_immunity 1;default_access 0;mr121"
  1864. rcmd $1 alias mr121 "mp_forcecamera 2;mp_forcechasecam 2;mp_c4timer 35;mr122"
  1865. rcmd $1 alias mr122 "mp_autoteambalance 0;mp_limitteams 0;mp_startmoney 800;mr123"
  1866. rcmd $1 alias mr123 "mp_autokick 0;mp_friendlyfire 1;mp_freezetime 8;mr124"
  1867. rcmd $1 alias mr124 "mp_roundtime 1.75;mp_buytime 0.15;mp_fadetoblack 0;mr125"
  1868. rcmd $1 alias mr125 "sv_alltalk 0;sv_gravity 800;mp_tkpunish 0;sv_restart 1"
  1869. rcmd $1 mr122k
  1870. }
  1871. alias PRAC {
  1872. rcmd $1 alias prac122k "admin_ignore_immunity 1;default_access 0;Prac1"
  1873. rcmd $1 alias Prac1 "mp_forcecamera 0;mp_forcechasecam 0;mp_c4timer 35;Prac2"
  1874. rcmd $1 alias Prac2 "mp_autoteambalance 0;mp_limitteams 0;mp_startmoney 16000;Prac3"
  1875. rcmd $1 alias Prac3 "mp_autokick 0;mp_friendlyfire 0;mp_freezetime 0;Prac4"
  1876. rcmd $1 alias Prac4 "mp_roundtime 7;mp_buytime 9;mp_fadetoblack 0;Prac5"
  1877. rcmd $1 alias Prac5 "sv_alltalk 1;sv_gravity 800;mp_tkpunish 0;sv_restart 1"
  1878. rcmd $1 prac122k
  1879. rcmd $1 admin_command zxor_knivesonly 0
  1880. }
  1881. alias Rates {
  1882. var %cur = 1,%max = $lines(rates.txt)
  1883. while (%cur <= %max) {
  1884. .rcmd $1 $read(rates.txt,%cur)
  1885. inc %cur
  1886. }
  1887. .timer 1 2 ssay $1 Rates loaded. Please wait.
  1888. .timer 1 3 rcmd $1 admin_command admin_rcon restart
  1889. .timer 1 5 rcon $1
  1890. }
  1891. alias CMR15 {
  1892. crcmd $1 alias mr122k "admin_ignore_immunity 1;default_access 0;mr121"
  1893. crcmd $1 alias mr121 "mp_forcecamera 2;mp_forcechasecam 2;mp_c4timer 35;mr122"
  1894. crcmd $1 alias mr122 "mp_autoteambalance 0;mp_limitteams 0;mp_startmoney 800;mr123"
  1895. crcmd $1 alias mr123 "mp_autokick 0;mp_friendlyfire 1;mp_freezetime 8;mr124"
  1896. crcmd $1 alias mr124 "mp_roundtime 1.75;mp_buytime 0.15;mp_fadetoblack 0;mr125"
  1897. crcmd $1 alias mr125 "sv_alltalk 0;sv_gravity 800;mp_tkpunish 0;sv_restart 1"
  1898. crcmd $1 mr122k
  1899. rcmd $1 admin_command zxor_knivesonly 0
  1900. }
  1901. alias CPRAC {
  1902. crcmd $1 alias prac122k "admin_ignore_immunity 1;default_access 0;Prac1"
  1903. crcmd $1 alias Prac1 "mp_forcecamera 0;mp_forcechasecam 0;mp_c4timer 35;Prac2"
  1904. crcmd $1 alias Prac2 "mp_autoteambalance 0;mp_limitteams 0;mp_startmoney 16000;Prac3"
  1905. crcmd $1 alias Prac3 "mp_autokick 0;mp_friendlyfire 0;mp_freezetime 0;Prac4"
  1906. crcmd $1 alias Prac4 "mp_roundtime 7;mp_buytime 9;mp_fadetoblack 0;Prac5"
  1907. crcmd $1 alias Prac5 "sv_alltalk 1;sv_gravity 800;mp_tkpunish 0;sv_restart 1"
  1908. crcmd $1 prac122k
  1909. }
  1910. alias CRates {
  1911. var %cur = 1,%max = $lines(rates.txt)
  1912. while (%cur <= %max) {
  1913. .crcmd $1 $read(rates.txt,%cur)
  1914. inc %cur
  1915. }
  1916. .timer 1 2 cssay $1 Rates loaded. Please wait.
  1917. .timer 1 3 crcmd $1 admin_command admin_rcon restart
  1918. .timer 1 5 rcon $1
  1919. }
  1920. on *:connect: {
  1921. auth
  1922. .timer 1 3 join %CS.Chan
  1923. ddecmd channel %CS.Chan
  1924. if (%dde.identify) ddecmd identify $v1
  1925. ddecmd nick %dde.nick
  1926. ddecmd host %DDE.server %DDE.port
  1927. if (%DDE) ddecmd connect
  1928. ClearGatherbot
  1929. retryrcons
  1930. .timerchecktimer 0 1 checktime
  1931. Ventsocket
  1932. .timerventsocket 0 60 Ventsocket
  1933. updatelist
  1934. }
  1935. on *:DISCONNECT: ddecmd disconnect
  1936. alias RetryRCONS {
  1937. ctrlsys 2Retrying all RCON connections...
  1938. .sockclose *
  1939. .timerRCON* Off
  1940. .timerECHO* Off
  1941. if ($ini(Settings.ini,0) > 0) .timer 1 3 RCONstart
  1942. if ($ini(Clubs.ini,0) > 0) .timer 1 3 CRCONstart
  1943. }
  1944. alias ServerSyntax {
  1945. return ! $+ $1-
  1946. }
  1947. alias teamscore {
  1948. if ($1 == a) {
  1949. if (%CS [ $+ [ $2 ] $+ .Live ] == A-B) && (%CS [ $+ [ $2 ] $+ .Half ] == First) { return %CS [ $+ [ $2 ] $+ .Score-CT ] }
  1950. elseif (%CS [ $+ [ $2 ] $+ .Live ] == B-A) && (%CS [ $+ [ $2 ] $+ .Half ] == First) { return %CS [ $+ [ $2 ] $+ .Score-T ] }
  1951. elseif (%CS [ $+ [ $2 ] $+ .Live ] == A-B) && (%CS [ $+ [ $2 ] $+ .Half ] == Second) { return %CS [ $+ [ $2 ] $+ .Score-T ] }
  1952. elseif (%CS [ $+ [ $2 ] $+ .Live ] == B-A) && (%CS [ $+ [ $2 ] $+ .Half ] == Second) { return %CS [ $+ [ $2 ] $+ .Score-CT ] }
  1953. elseif (%CS [ $+ [ $2 ] $+ .Live ] == A-B) && (%CS [ $+ [ $2 ] $+ .Half ] == First-Second) { return %CS [ $+ [ $2 ] $+ .Score-CT ] }
  1954. elseif (%CS [ $+ [ $2 ] $+ .Live ] == B-A) && (%CS [ $+ [ $2 ] $+ .Half ] == First-Second) { return %CS [ $+ [ $2 ] $+ .Score-T ] }
  1955. elseif (%CS [ $+ [ $2 ] $+ .Half ] == First-Second) || (%CS [ $+ [ $2 ] $+ .Half ] == NotYet) || (!%CS [ $+ [ $2 ] $+ .Half ]) { return Waiting }
  1956. }
  1957. elseif ($1 == b) {
  1958. if (%CS [ $+ [ $2 ] $+ .Live ] == A-B) && (%CS [ $+ [ $2 ] $+ .Half ] == First) { return %CS [ $+ [ $2 ] $+ .Score-T ] }
  1959. elseif (%CS [ $+ [ $2 ] $+ .Live ] == B-A) && (%CS [ $+ [ $2 ] $+ .Half ] == First) { return %CS [ $+ [ $2 ] $+ .Score-CT ] }
  1960. elseif (%CS [ $+ [ $2 ] $+ .Live ] == A-B) && (%CS [ $+ [ $2 ] $+ .Half ] == Second) { return %CS [ $+ [ $2 ] $+ .Score-CT ] }
  1961. elseif (%CS [ $+ [ $2 ] $+ .Live ] == B-A) && (%CS [ $+ [ $2 ] $+ .Half ] == Second) { return %CS [ $+ [ $2 ] $+ .Score-T ] }
  1962. elseif (%CS [ $+ [ $2 ] $+ .Live ] == A-B) && (%CS [ $+ [ $2 ] $+ .Half ] == First-Second) { return %CS [ $+ [ $2 ] $+ .Score-T ] }
  1963. elseif (%CS [ $+ [ $2 ] $+ .Live ] == B-A) && (%CS [ $+ [ $2 ] $+ .Half ] == First-Second) { return %CS [ $+ [ $2 ] $+ .Score-CT ] }
  1964. elseif (%CS [ $+ [ $2 ] $+ .Half ] == First-Second) || (%CS [ $+ [ $2 ] $+ .Half ] == NotYet) || (!%CS [ $+ [ $2 ] $+ .Half ]) { return Waiting }
  1965. }
  1966. else { return Syntax Error }
  1967. }
  1968. alias teamcolor {
  1969. if ($1 == a) {
  1970. if (%CS [ $+ [ $3 ] $+ .Live ] == A-B) && (%CS [ $+ [ $3 ] $+ .Half ] == First) { return 12 $+ $2 }
  1971. elseif (%CS [ $+ [ $3 ] $+ .Live ] == B-A) && (%CS [ $+ [ $3 ] $+ .Half ] == First) { return 04 $+ $2 }
  1972. elseif (%CS [ $+ [ $3 ] $+ .Live ] == A-B) && (%CS [ $+ [ $3 ] $+ .Half ] == Second) { return 04 $+ $2 }
  1973. elseif (%CS [ $+ [ $3 ] $+ .Live ] == B-A) && (%CS [ $+ [ $3 ] $+ .Half ] == Second) { return 12 $+ $2 }
  1974. elseif (%CS [ $+ [ $3 ] $+ .Half ] == First-Second) || (%CS [ $+ [ $2 ] $+ .Half ] == NotYet) || (!%CS [ $+ [ $3 ] $+ .Half ]) { return 15 $+ $2 }
  1975. }
  1976. elseif ($1 == b) {
  1977. if (%CS [ $+ [ $3 ] $+ .Live ] == A-B) && (%CS [ $+ [ $3 ] $+ .Half ] == First) { return 04 $+ $2 }
  1978. elseif (%CS [ $+ [ $3 ] $+ .Live ] == B-A) && (%CS [ $+ [ $3 ] $+ .Half ] == First) { return 12 $+ $2 }
  1979. elseif (%CS [ $+ [ $3 ] $+ .Live ] == A-B) && (%CS [ $+ [ $3 ] $+ .Half ] == Second) { return 12 $+ $2 }
  1980. elseif (%CS [ $+ [ $3 ] $+ .Live ] == B-A) && (%CS [ $+ [ $3 ] $+ .Half ] == Second) { return 04 $+ $2 }
  1981. elseif (%CS [ $+ [ $3 ] $+ .Half ] == First-Second) || (%CS [ $+ [ $3 ] $+ .Half ] == NotYet) || (!%CS [ $+ [ $3 ] $+ .Half ]) { return 15 $+ $2 }
  1982. }
  1983. else { return Syntax Error }
  1984. }
  1985. alias sscore {
  1986. if (!%CS [ $+ [ $1 ] $+ .live ]) { return 1 }
  1987. if ($NGet($1,Game) == TF2) {
  1988. if (!%CS [ $+ [ $1 ] $+ .TsayF ]) { set -u3 %CS [ $+ [ $1 ] $+ .TsayF ] ByZxoR | ssay $1 Score: RED( $+ %CS [ $+ [ $1 ] $+ .RED ] $+ ) - BLUE( $+ %CS [ $+ [ $1 ] $+ .BLUE ] $+ ). }
  1989. return 1
  1990. }
  1991. if ($NGet($1,Type) != GG) {
  1992. if (!%CS [ $+ [ $1 ] $+ .TsayF ]) { set -u3 %CS [ $+ [ $1 ] $+ .TsayF ] ByZxoR | ssay $1 Score: Team-A( $+ $teamscore(a,$1) $+ ) - Team-B( $+ $teamscore(b,$1) $+ ) - $iif($NGET($1,Type) == Regular,%CS [ $+ [ $1 ] $+ .Half ] Half.,DeathMatch mode.) }
  1993. }
  1994. else {
  1995. if (!%CS [ $+ [ $1 ] $+ .TsayF ]) { set -u3 %CS [ $+ [ $1 ] $+ .TsayF ] ByZxoR | ssay $1 $remove($strip($gg_sortusers($1)),¶,²) }
  1996. }
  1997. }
  1998. alias Guns {
  1999. if ($1 == AK47) return 1.00
  2000. elseif ($1 == M4A1) return 1.00
  2001. elseif ($1 == Famas) return 1.00
  2002. elseif ($1 == Galil) return 1.00
  2003. elseif ($1 == AWP) return 1.05
  2004. elseif ($1 == MP5navy) return 1.25
  2005. elseif ($1 == Deagle) return 1.50
  2006. elseif ($1 == Usp) return 1.50
  2007. elseif ($1 == Glock18) return 1.50
  2008. elseif ($1 == Grenade) return 1.80
  2009. elseif ($1 == Aug) return 1.05
  2010. elseif ($1 == SG552) return 1.05
  2011. elseif ($1 == MAC10) return 1.25
  2012. elseif ($1 == P90) return 1.25
  2013. elseif ($1 == TMP) return 1.25
  2014. elseif ($1 == UMP45) return 1.25
  2015. elseif ($1 == G3sg1) return 1.40
  2016. elseif ($1 == M3) return 1.40
  2017. elseif ($1 == XM1014) return 1.40
  2018. elseif ($1 == Elite) return 1.50
  2019. elseif ($1 == FiveSeven) return 1.50
  2020. elseif ($1 == P228) return 1.50
  2021. elseif ($1 == Scout) return 1.60
  2022. elseif ($1 == SG550) return 1.70
  2023. elseif ($1 == M249) return 1.80
  2024. elseif ($1 == Knife) return 2.00
  2025. else return 0.00
  2026. }
  2027. alias steamisadmin {
  2028. if ($1 == STEAM_ID_LAN) return 1
  2029. var %f = admins.ini,%cur = 1,%max = $ini(%f,0)
  2030. while (%cur <= %max) {
  2031. if ($readini(%f,$ini(%f,%cur),Steam) == $1) { return $ini(%f,%cur) }
  2032. inc %cur
  2033. }
  2034. var %f = masters.ini,%cur = 1,%max = $ini(%f,0)
  2035. while (%cur <= %max) {
  2036. if ($readini(%f,$ini(%f,%cur),Steam) == $1) { return $ini(%f,%cur) }
  2037. inc %cur
  2038. }
  2039. var %f = owners.ini,%cur = 1,%max = $ini(%f,0)
  2040. while (%cur <= %max) {
  2041. if ($readini(%f,$ini(%f,%cur),Steam) == $1) { return $ini(%f,%cur) }
  2042. inc %cur
  2043. }
  2044. return $false
  2045. }
  2046. alias steamisadminf {
  2047. var %f = admins.ini,%cur = 1,%max = $ini(%f,0)
  2048. while (%cur <= %max) {
  2049. if ($readini(%f,$ini(%f,%cur),Steam) == $1) { return %f }
  2050. inc %cur
  2051. }
  2052. var %f = masters.ini,%cur = 1,%max = $ini(%f,0)
  2053. while (%cur <= %max) {
  2054. if ($readini(%f,$ini(%f,%cur),Steam) == $1) { return %f }
  2055. inc %cur
  2056. }
  2057. var %f = owners.ini,%cur = 1,%max = $ini(%f,0)
  2058. while (%cur <= %max) {
  2059. if ($readini(%f,$ini(%f,%cur),Steam) == $1) { return %f }
  2060. inc %cur
  2061. }
  2062. return $false
  2063. }
  2064.  
  2065. alias ENDHalf-1 {
  2066. msg %CS.Chan $stl($1,First half has just ended with the score: ² $+ $TeamScore(a,$1) $+ ¶-² $+ $teamScore(b,$1) $+ ¶.)
  2067. ssay $1 First round has just ended - Score: Team-A( $+ $teamscore(a,$1) $+ ) Team-B( $+ $teamscore(b,$1) $+ ).
  2068. set %CS [ $+ [ $1 ] $+ .FirstT ] %CS [ $+ [ $1 ] $+ .Score-CT ]
  2069. set %CS [ $+ [ $1 ] $+ .FirstCT ] %CS [ $+ [ $1 ] $+ .Score-T ]
  2070. set %CS [ $+ [ $1 ] $+ .half ] First-Second
  2071. }
  2072. on *:input:@*-*: {
  2073. if (@Server-* iswm $active) {
  2074. if ($NGet($remove($active,@Server-),game) == CS) {
  2075. rcmd $remove($active,@Server-) $1-
  2076. }
  2077. elseif ($NGet($remove($active,@Server-),game) == TF2) { source.cmd $remove($active,@Server-) $1- }
  2078. }
  2079. elseif (@Club-* iswm $active) { crcmd $remove($active,@Club-) $1- }
  2080. }
  2081. alias GATHER-END {
  2082. if (%CS [ $+ [ $1 ] $+ .Live ]) {
  2083. .incini Settings.ini $1 number 1
  2084. .incini Settings.ini $1 Today 1
  2085. .incini %CS [ $+ [ $1 ] $+ .adminfile ] %CS [ $+ [ $1 ] $+ .adminacc ] Gathers 1
  2086. if ($savescore($1)) { .timer 1 3 .updatelist }
  2087. .nset $1 last $ctime($date $time) %CS [ $+ [ $1 ] $+ .admin ] %CS [ $+ [ $1 ] $+ .map ]
  2088. }
  2089. if ($exists(GunGame [ $+ [ $1 ] $+ .ini ])) { .remove GunGame [ $+ [ $1 ] $+ .ini ] }
  2090. .dchan $1
  2091. .NSet $1 Status OFF
  2092. .ssay $1 $NGet($1,Name) prepare the server to the next game.
  2093. .timer 1 7 rcmd $1 sv_password $r(999,9999999)
  2094. .timer 1 15 rcmd $1 sv_password $r(999,9999999)
  2095. .rcmd $1 amx_gungame 0
  2096. .timer 1 7 rcmd $1 admin_command admin_execall disconnect
  2097. .timer 1 7 rcmd $1 admin_command admin_execall disconnect
  2098. .timer 1 7 rcmd $1 admin_command admin_execall disconnect
  2099. .timerDMSCORE [ $+ [ $1 ] ] off
  2100. .timersubmsg [ $+ [ $1 ] ] off
  2101. .loadadmins
  2102. .unset %CS [ $+ [ $1 ] $+ .* ]
  2103. }
  2104. on *:quit: {
  2105. var %cur = 1
  2106. var %max = $ini(Settings.ini,0)
  2107. if ($isacc($usernamebyhost($address($nick,2)))) { writeini $v1 $usernamebyhost($address($nick,2)) Logged 0 }
  2108. while (%cur <= %max) {
  2109. if ($Readini(Settings.ini,$ini(Settings.ini,%cur),Status) == Adding) {
  2110. if ($istok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$nick,32)) { set %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ] $remtok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$nick,32) }
  2111. if ($nick == %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .admin ]) {
  2112. msg %CS.Chan $stl($ini(Settings.ini,%cur),² $+ $NGet($ini(Settings.ini,%cur),name) ¶Number² $numer(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .number ]) ¶has just stopped by² $nick $+ ¶, Reason:² The agent quited¶.)
  2113. Gather-END $ini(Settings.ini,%cur)
  2114. }
  2115. }
  2116. inc %cur
  2117. }
  2118. loadadmins
  2119. }
  2120. on *:part:%CS.Chan: {
  2121. var %cur = 1
  2122. var %max = $ini(Settings.ini,0)
  2123. if ($isacc($usernamebyhost($address($nick,2)))) { writeini $v1 $usernamebyhost($address($nick,2)) Logged 0 }
  2124. while (%cur <= %max) {
  2125. if ($Readini(Settings.ini,$ini(Settings.ini,%cur),Status) == Adding) {
  2126. if ($istok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$nick,32)) { set %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ] $remtok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$nick,32) }
  2127. if ($nick == %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .admin ]) {
  2128. msg %CS.Chan $stl($ini(Settings.ini,%cur),² $+ $NGet($ini(Settings.ini,%cur),name) ¶Number² $numer(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .number ]) ¶has just stopped by² $nick $+ ¶, Reason:² The agent part the channel¶.)
  2129. Gather-END $ini(Settings.ini,%cur)
  2130. }
  2131. }
  2132. inc %cur
  2133. }
  2134. loadadmins
  2135. }
  2136. on *:nick: {
  2137. var %cur = 1
  2138. var %max = $ini(Settings.ini,0)
  2139. while (%cur <= %max) {
  2140. if ($Readini(Settings.ini,$ini(Settings.ini,%cur),Status) == Adding) {
  2141. if ($istok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$nick,32)) {
  2142. set %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ] $reptok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$nick,$newnick,32)
  2143. if ($nick == %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .admin ]) { set %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .admin ] $newnick }
  2144. }
  2145. }
  2146. inc %cur
  2147. }
  2148. }
  2149. on *:kick:%CS.Chan: {
  2150. var %cur = 1
  2151. var %max = $ini(Settings.ini,0)
  2152. if ($isacc($usernamebyhost($address($knick,2)))) { writeini $v1 $usernamebyhost($address($knick,2)) Logged 0 }
  2153. while (%cur <= %max) {
  2154. if ($Readini(Settings.ini,$ini(Settings.ini,%cur),Status) == Adding) {
  2155. if ($istok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$knick,32)) { set %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ] $remtok(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .adding ],$knick,32) }
  2156. if ($knick == %CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .admin ]) {
  2157. msg %CS.Chan $NGet($ini(Settings.ini,%cur),name) Number $numer(%CS [ $+ [ $ini(Settings.ini,%cur) ] $+ .number ]) has just stopped by $knick $+ , Reason: The agent part the channel¶.
  2158. Gather-END $ini(Settings.ini,%cur)
  2159. }
  2160. }
  2161. inc %cur
  2162. }
  2163. loadadmins
  2164. }
  2165. alias isacc {
  2166. if ($ini(admins.ini,$1) > 0) { return admins.ini }
  2167. elseif ($ini(owners.ini,$1) > 0) { return owners.ini }
  2168. elseif ($ini(masters.ini,$1) > 0) { return masters.ini }
  2169. else { return $false }
  2170. }
  2171. alias userbyhost {
  2172. var %cur = 1
  2173. var %f = owners.ini
  2174. var %max = $ini(%f,0)
  2175. while (%cur <= %max) { if ($readini(%f,$ini(%f,%cur),Address) == $1) && ($readini(%f,$ini(%f,%cur),Logged) == 1) { return Owner } | inc %cur }
  2176. var %cur = 1
  2177. var %f = masters.ini
  2178. var %max = $ini(%f,0)
  2179. while (%cur <= %max) { if ($readini(%f,$ini(%f,%cur),Address) == $1) && ($readini(%f,$ini(%f,%cur),Logged) == 1) { return Master } | inc %cur }
  2180. var %cur = 1
  2181. var %f = admins.ini
  2182. var %max = $ini(%f,0)
  2183. while (%cur <= %max) { if ($readini(%f,$ini(%f,%cur),Address) == $1) && ($readini(%f,$ini(%f,%cur),Logged) == 1) { return Admin } | inc %cur }
  2184. return $false
  2185. }
  2186. alias usernamebyhost {
  2187. var %cur = 1
  2188. var %f = owners.ini
  2189. var %max = $ini(%f,0)
  2190. while (%cur <= %max) { if ($readini(%f,$ini(%f,%cur),Address) == $1) && ($readini(%f,$ini(%f,%cur),Logged) == 1) { return $ini(%f,%cur) } | inc %cur }
  2191. var %cur = 1
  2192. var %f = masters.ini
  2193. var %max = $ini(%f,0)
  2194. while (%cur <= %max) { if ($readini(%f,$ini(%f,%cur),Address) == $1) && ($readini(%f,$ini(%f,%cur),Logged) == 1) { return $ini(%f,%cur) } | inc %cur }
  2195. var %cur = 1
  2196. var %f = admins.ini
  2197. var %max = $ini(%f,0)
  2198. while (%cur <= %max) { if ($readini(%f,$ini(%f,%cur),Address) == $1) && ($readini(%f,$ini(%f,%cur),Logged) == 1) { return $ini(%f,%cur) } | inc %cur }
  2199. return $false
  2200. }
  2201. alias ctrlsys {
  2202. if (!$window(@Control-System)) { window @Control-System }
  2203. echo @Control-System $+(3[12,$time,03,$(|),12,$date,3]02) $$1-
  2204. }
  2205. alias returnlist {
  2206. who %CS.Chan
  2207. var %sent = 0
  2208. if ($1 == Admins) {
  2209. var %f = Admins.ini,%cur = 1,%buffer,%logged = 0,%max = $ini(%f,0),%cur2 = 0
  2210. while (%cur <= %max) {
  2211. if (9 // %cur) { .timer 1 %cur2 /msg %CS.Chan $stl(?,$iif(%cur <= 9,Admins list:) ² $+ %buffer) | inc %sent | inc %cur2 | var %buffer }
  2212. var %tlkd = $ini(%f,%cur)
  2213. var %col = $iif($readini(%f,%tlkd,Logged) == 1,03,04)
  2214. var %buffer = %buffer %col $+ %tlkd $+ $iif($readini(%f,%tlkd,Logged),²( $+ $nicksbyhost(%CS.chan,$readini(%f,%tlkd,Address)) $+ ) $+ %col) $+ $chr(91) $+ ¶ $+ $iif($readini(%f,%tlkd,Gathers),$v1,040) $+ %col $+ $chr(93)
  2215. inc %logged $readini(%f,%tlkd,Logged)
  2216. inc %cur
  2217. }
  2218. if (!%buffer) var %buffer = None.
  2219. inc %sent
  2220. .timer 1 %cur2 /msg %CS.Chan $stl(?,$iif(%cur < 10,Admins list:) ² $+ %buffer)
  2221. }
  2222. elseif ($1 == masters) {
  2223. var %f = masters.ini,%cur = 1,%buffer,%logged = 0,%max = $ini(%f,0),%cur2 = 0
  2224. while (%cur <= %max) {
  2225. if (9 // %cur) { .timer 1 %cur2 /msg %CS.Chan $stl(?,$iif(%cur <= 9,Masters list:) ² $+ %buffer) | inc %sent | inc %cur2 | var %buffer }
  2226. var %tlkd = $ini(%f,%cur)
  2227. var %col = $iif($readini(%f,%tlkd,Logged) == 1,03,04)
  2228. var %buffer = %buffer %col $+ %tlkd $+ $iif($readini(%f,%tlkd,Logged),²( $+ $nicksbyhost(%CS.chan,$readini(%f,%tlkd,Address)) $+ ) $+ %col) $+ $chr(91) $+ ¶ $+ $iif($readini(%f,%tlkd,Gathers),$v1,040) $+ %col $+ $chr(93)
  2229. inc %logged $readini(%f,%tlkd,Logged)
  2230. inc %cur
  2231. }
  2232. if (!%buffer) var %buffer = None.
  2233. .timer 1 %cur2 /msg %CS.Chan $stl(?,$iif(%cur < 10,Masters list:) ² $+ %buffer)
  2234. inc %sent
  2235. }
  2236. elseif ($1 == owners) {
  2237. var %f = owners.ini,%cur = 1,%buffer,%logged = 0,%max = $ini(%f,0),%cur2 = 0
  2238. while (%cur <= %max) {
  2239. if (9 // %cur) { .timer 1 %cur2 /msg %CS.Chan $stl(?,$iif(%cur <= 9,Owners list:) ² $+ %buffer) | inc %sent | inc %cur2 | var %buffer }
  2240. var %tlkd = $ini(%f,%cur)
  2241. var %col = $iif($readini(%f,%tlkd,Logged) == 1,03,04)
  2242. var %buffer = %buffer %col $+ %tlkd $+ $iif($readini(%f,%tlkd,Logged),²( $+ $nicksbyhost(%CS.chan,$readini(%f,%tlkd,Address)) $+ ) $+ %col) $+ $chr(91) $+ ¶ $+ $iif($readini(%f,%tlkd,Gathers),$v1,040) $+ %col $+ $chr(93)
  2243. inc %logged $readini(%f,%tlkd,Logged)
  2244. inc %cur
  2245. }
  2246. if (!%buffer) var %buffer = None.
  2247. .timer 1 %cur2 /msg %CS.Chan $stl(?,$iif(%cur < 10,Owners list:) ² $+ %buffer)
  2248. inc %sent
  2249. }
  2250. if (%sent > 0) set -u [ $+ [ $calc(%sent *2) ] ] %CS.Flood ReturnLIST pause for $calc(%sent *2) seconds.
  2251. return 0
  2252. }
  2253. alias subsearch {
  2254. set %CS [ $+ [ $1 ] $+ .sub ] $2
  2255. submsg $1 $uPPeR($2)
  2256. .timersubmsg [ $+ [ $1 ] ] 0 60 submsg $1 $2
  2257. }
  2258. alias -l submsg {
  2259. if (%CS.Temp.Submsgflood) { return 1 }
  2260. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0),%neededn,%needed
  2261. while (%cur <= %max) {
  2262. if (%CS [ $+ [ $ini(%f,%cur) ] $+ .sub ]) { inc %needed | var %neededn = $addtok(%neededn,$ini(%f,%cur),32) }
  2263. inc %cur
  2264. }
  2265. if (%needed == 1) {
  2266. var %c1 = %Color [ $+ [ $1 ] $+ .c2 ]
  2267. msg %CS.Chan $stl($1,Sub is needed for $iif($NGet($1,Game) != TF2,Team- $+ $upper(%CS [ $+ [ $1 ] $+ .Sub ]),$iif(%CS [ $+ [ $1 ] $+ .Sub ] == A,the 04RED¶ team,the 12BLUE¶ team)) $+ $chr(44) Type %c1 $+ $NGet($1,Sign) $+ ¶sub to be a sub $+ $chr(44) Admin: %c1 $+ %CS [ $+ [ $1 ] $+ .admin ] $+ ¶ $+ $chr(44) Map: %c1 $+ %CS [ $+ [ $1 ] $+ .map ] $+ ¶ $+ $chr(44) $iif(%CS [ $+ [ $1 ] $+ .Live ],Score: $iif($Nget($1,Game) != TF2,%c1 $+ $teamscore(a,$1) $+ ¶- $+ %c1 $+ $teamscore(b,$1),04 $+ %CS [ $+ [ $1 ] $+ .RED ] $+ ¶-12 $+ %CS [ $+ [ $1 ] $+ .BLUE ]) $+ ¶.,Game isn't live yet.))
  2268. }
  2269. elseif (%needed >= 2) {
  2270. var %cur = 1,%max = %needed,%buffer = Subs are needed:
  2271. while (%cur <= %max) {
  2272. var %gnx = $gettok(%neededn,%cur,32)
  2273. var %c1 = %Color [ $+ [ %gnx ] $+ .c2 ]
  2274. var %buffer = %buffer $+ $iif(%cur > 1,$chr(44)) $+ $chr(32) $+ %c1 $+ $NGet(%gnx,Sign) $+ ¶Sub ( $+ %c1 $+ %CS [ $+ [ %gnx ] $+ .map ] $+ ¶| $+ %c1 $+ $iif(%CS [ $+ [ %gnx ] $+ .Live ],$iif($NGet(%gnx,Game) != TF2,$teamscore(a,%gnx) $+ - $+ $teamscore(b,%gnx),$+(04,%CS [ $+ [ %gnx ] $+ .Red ],¶-12,%CS [ $+ [ %gnx ] $+ .BLUE ])),Not-live) $+ ¶)
  2275. inc %cur
  2276. }
  2277. msg %CS.Chan $stl(?,%buffer $+ .)
  2278. }
  2279. set -u35 %CS.Temp.Submsgflood ByZxoR
  2280. }
  2281. alias ifcscore {
  2282. if (%CS [ $+ [ $1 ] $+ .half ] == First) || (%CS [ $+ [ $1 ] $+ .half ] == Second) { return $true }
  2283. return $false
  2284. }
  2285. alias details {
  2286. ;/details <num> <nick> <a/b>
  2287. ;$details(<num>,<nick>,<a/b>).return
  2288. if ($nget($1,game) == TF2) {
  2289. if ($prop == return) { return $stl($1,$iif($3 == A,04RED,12BLUE) $+ ¶: Server-IP:² $NGet($1,IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -IP:² $NGet($1,V-IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -Password:² $iif($3 == a,%CS [ $+ [ $1 ] $+ .VentA ],%CS [ $+ [ $1 ] $+ .VentB ]) $+ ¶ $+ $chr(44) Server-Password:² %CS [ $+ [ $1 ] $+ .Pass ] $+ ¶.) }
  2290. msg $2 $stl($1,$iif($3 == A,04RED,12BLUE) $+ ¶: Server-IP:² $NGet($1,IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -IP:² $NGet($1,V-IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -Password:² $iif($3 == a,%CS [ $+ [ $1 ] $+ .VentA ],%CS [ $+ [ $1 ] $+ .VentB ]) $+ ¶ $+ $chr(44) Server-Password:² %CS [ $+ [ $1 ] $+ .Pass ] $+ ¶.)
  2291. }
  2292. elseif ($nget($1,game) == CS) {
  2293. if ($prop == return) { return $stl($1,Team-² $+ $upper($3) $+ ¶: Server-IP:² $NGet($1,IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -IP:² $NGet($1,V-IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -Password:² $iif($3 == a,%CS [ $+ [ $1 ] $+ .VentA ],%CS [ $+ [ $1 ] $+ .VentB ]) $+ ¶ $+ $chr(44) Server-Password:² %CS [ $+ [ $1 ] $+ .Pass ] $+ ¶.) }
  2294. msg $2 $stl($1,Team-² $+ $upper($3) $+ ¶: Server-IP:² $NGet($1,IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -IP:² $NGet($1,V-IP) $+ ¶ $+ $chr(44)  $+ $iif($NGet($1,TS-Selected),TeamSpeak,Ventrilo) $+ -Password:² $iif($3 == a,%CS [ $+ [ $1 ] $+ .VentA ],%CS [ $+ [ $1 ] $+ .VentB ]) $+ ¶ $+ $chr(44) Server-Password:² %CS [ $+ [ $1 ] $+ .Pass ] $+ ¶.)
  2295. }
  2296. }
  2297. alias updatelist {
  2298. var %cur = 1
  2299. window -c @Rank-Points
  2300. window -c @Rank-Aces
  2301. window -c @Rank-Plants
  2302. window -c @Rank-Kills
  2303. window -c @Rank-deaths
  2304. window -c @Rank-MVPs
  2305. window -c @Rank-rewards
  2306. window -h @Rank-Points
  2307. window -h @Rank-MVPs
  2308. window -h @Rank-Aces
  2309. window -h @Rank-Kills
  2310. window -h @Rank-deaths
  2311. window -h @Rank-Plants
  2312. window -h @Rank-rewards
  2313. var %max = $ini(stats.ini,0)
  2314. while (%cur <= %max) {
  2315. var %steamid = $ini(stats.ini,%cur)
  2316. echo @Rank-Points %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,points),$v1,0)
  2317. echo @Rank-plants %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,plants),$v1,0)
  2318. echo @Rank-aces %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,aces),$v1,0)
  2319. echo @Rank-Kills %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,kills),$v1,0)
  2320. echo @Rank-deaths %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,deaths),$v1,0)
  2321. echo @Rank-MVPs %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,mvps),$v1,0)
  2322. echo @Rank-rewards %steamid $+ \ $+ $readini(stats.ini,%steamid,nick) $+ \ $+ $iif($readini(stats.ini,%steamid,rewards),$v1,0)
  2323. if (%stats.state == 1) && (!%CS.UPTFlood) { .timerAUTOUPT [ $+ [ %cur ] ] 1 %cur autoupt %steamid }
  2324. inc %cur
  2325. }
  2326. if (%stats.state == 1) && (!%CS.UPTFlood) {
  2327. set -u [ $+ [ %cur ] ] %CS.UPTFlood ByZxoR
  2328. if ($1 != quiet) { msg %CS.Chan $stl(?,Gatherbot has been started to update the site. It may take a while (Approximately $expandtime($duration(%cur,2)) $+ ).) }
  2329. }
  2330. filter -cwwtue 3 92 @Rank-Points @Rank-Points *
  2331. filter -cwwtue 3 92 @Rank-Aces @Rank-Aces *
  2332. filter -cwwtue 3 92 @Rank-Plants @Rank-Plants *
  2333. filter -cwwtue 3 92 @Rank-Kills @Rank-Kills *
  2334. filter -cwwtue 3 92 @Rank-Deaths @Rank-deaths *
  2335. filter -cwwtue 3 92 @Rank-MVPs @Rank-MVPs *
  2336. filter -cwwtue 3 92 @Rank-rewards @Rank-rewards *
  2337. var %cur = 1
  2338. while (%cur <= %max) {
  2339. writeini -n stats.ini $gettok($line(@Rank-Points,%cur),1,92) lastrank2 $iif($readini(stats.ini,$gettok($line(@Rank-Points,%cur),1,92),lastrank),$v1,$line(@Rank-Points,0))
  2340. writeini -n stats.ini $gettok($line(@Rank-Points,%cur),1,92) lastrank %cur
  2341. inc %cur
  2342. }
  2343. }
  2344. alias canrun {
  2345. if ($NGet($1,Status) != OFF) { return $false }
  2346. var %cur = 1
  2347. var %max = $ini(Settings.ini,0)
  2348. while (%cur <= %max) {
  2349. if ($NGet(%cur,Status) == Adding) { return $false }
  2350. inc %cur
  2351. }
  2352. return $true
  2353. }
  2354. alias addban {
  2355. tokenize 2 $1-
  2356. if (!$secure($1-)) { return 1 }
  2357. if ($duration($regsubex($3,/([^\d]+)/g,\1 $chr(32))) == 0) { tokenize 2 $1  $2  7d  $iif($3,$3-,No Reason) }
  2358. writeini Banned.ini $$1 SteamID $1
  2359. writeini Banned.ini $$1 By $$2
  2360. writeini Banned.ini $$1 Expire $calc($ctime($date $time) + $duration($regsubex($3,/([^\d]+)/g,\1 $chr(32))))
  2361. writeini Banned.ini $$1 Reason $iif($4-,$v1,No Reason)
  2362. .timer -o 1 $duration($regsubex($3,/([^\d]+)/g,\1 $chr(32))) delban $1 Automaticly
  2363. msg %CS.chan $stl(?,$brack(Banned) SteamID: $1 - Banned By: $2 - Duration: $expandtime($duration($duration($regsubex($3,/([^\d]+)/g,\1 $chr(32))))) - For Reason: $iif($4-,$v1,No Reason))
  2364. var %cur = 1,%max = $ini(Settings.ini,0)
  2365. while (%cur <= %max) { rcmd %cur admin_command admin_kick $1 | inc %cur }
  2366. var %cur = 1,%max = $ini(Clubs.ini,0)
  2367. while (%cur <= %max) { crcmd %cur admin_command admin_kick $1 | inc %cur }
  2368. autoupt $$1
  2369. return 1
  2370. }
  2371. alias delban {
  2372. if (!$ini(banned.ini,$1)) { return 1 }
  2373. if (!$2) { msg %CS.Chan $stl(?,$brack(Unbanned) SteamID:² $1 $+ ¶ $+ $chr(44) The reason was:² $readini(banned.ini,$1,Reason) $+ ¶.) }
  2374. remini Banned.ini $$1
  2375. autoupt $$1
  2376. return 1
  2377. }
  2378. alias isban {
  2379. return $readini(Banned.ini,$$1,SteamID)
  2380. return 0
  2381. }
  2382. alias dban {
  2383. if ($prop == by) { return $Readini(Banned.ini,$1,by) }
  2384. elseif ($prop == Reason) { return $Readini(Banned.ini,$1,Reason) }
  2385. elseif ($prop == expire) { return $Readini(Banned.ini,$1,Expire) }
  2386. }
  2387. alias expiredate { return $date($dban($$1).expire) $time($dban($1).expire) }
  2388. alias nickbysteam { return $iif($readini(Stats.ini,$1,Nick),$v1,(Unknown Nick)) }
  2389. alias steambynick {
  2390. var %cur = 1
  2391. var %max = $ini(Stats.ini,0)
  2392. while (%cur <= %max) {
  2393. var %cura = $ini(Stats.ini,%cur)
  2394. if (* $+ $1 $+ * iswm $readini(Stats.ini,%cura,Nick)) { return %cura }
  2395. inc %cur
  2396. }
  2397. return $false
  2398. }
  2399. alias timeleftbysteam {
  2400. return $expandtime($duration($calc( $readini(Banned.ini,$$1,Expire) - $ctime($date $time) ),2))
  2401. return 0
  2402. }
  2403. alias timeleftbysteamex {
  2404. return $calc( $readini(Banned.ini,$$1,Expire) - $ctime($date $time) )
  2405. return 0
  2406. }
  2407. alias isexpire {
  2408. if ($calc( $readini(Banned.ini,$$1,Expire) - $ctime($date $time) ) <= 0) { return $true }
  2409. else return $false
  2410. }
  2411. alias checkexpires {
  2412. var %cur = 1,%max = $ini(banned.ini,0)
  2413. while (%cur <= %max) {
  2414. var %tlkd = $ini(Banned.ini,%cur)
  2415. if ($isexpire(%tlkd)) { remini Banned.ini %tlkd }
  2416. else { .timer -o 1 $timeleftbysteamex(%tlkd) delban %tlkd Automaticly }
  2417. inc %cur
  2418. }
  2419. return 1
  2420. }
  2421. on *:start: {
  2422. run -n DDEAssistance.exe
  2423. DataUpdate
  2424. checkexpires
  2425. retryrcons
  2426. ClearGatherbot
  2427. .timer 1 60 retryrcons $(|) reloadrcon
  2428. dialog -m zxor_crd zxor_crd
  2429. }
  2430. on *:exit: {
  2431. ddecmd disconnect
  2432. run taskkill.exe /F /IM DDEAssistance.exe
  2433. }
  2434. alias issteam {
  2435. return $regex($1,/^STEAM_\d:\d:\d+$/i)
  2436. }
  2437. alias HL {
  2438. .timerT1M3 [ $+ [ $1 ] ] 1 35 msg %CS.Chan $stl($1,$Nget($1,name) server connection is timed out.) $(|) unset %ip $(|) unset %CS.Temp.HL2P
  2439. set %ip $1
  2440. set %CS.Temp.HL2P $NGET($1,IP)
  2441. bset -t &hl 1 $str($chr(255),4) $+ TSource Engine Query
  2442. bset &hl $calc($bvar(&hl,0) + 1) 0
  2443. .sockudp -k HL $replace(%CS.Temp.HL2P,$chr(58),$chr(32)) &hl
  2444. .timer 1 2 unset %CS.Temp.HL*
  2445. }
  2446. alias CHL {
  2447. set %cip $1
  2448. if ($2 == full) { set -u2 %iwantfull 1 }
  2449. set %CS.CTemp.HL2P $readini(Clubs.ini,$ini(clubs.ini,$1),IP)
  2450. bset -t &hl 1 $str($chr(255),4) $+ TSource Engine Query
  2451. bset &hl $calc($bvar(&hl,0) + 1) 0
  2452. .sockudp -k CHL $replace(%CS.CTemp.HL2P,$chr(58),$chr(32)) &hl
  2453. .timer 1 2 unset %CS.CTemp.HL*
  2454. }
  2455. alias HLB { return $bvar(&HL,1,$bvar(&HL,0)).text }
  2456. on *:UDPREAD:HL: {
  2457. var %CS.Temp.HL-Number = %ip
  2458. sockread -f &reply
  2459. var %offset, %CS.Temp.HL-name, %CS.Temp.HL-map, %game, %num, %max, %ip, %dir,%CS.Temp.HL-Players,%CS.Temp.HL-Type
  2460. if ($chr($bvar(&reply,5)) == m) {
  2461. %offset = 6
  2462. %ip = $bvar(&reply,%offset,128).text
  2463. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2464. %CS.Temp.HL-name = $bvar(&reply,%offset,128).text
  2465. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2466. %CS.Temp.HL-map = $bvar(&reply,%offset,128).text
  2467. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2468. %dir = $bvar(&reply,%offset,128).text
  2469. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2470. %CS.Temp.HL-Type = $bvar(&reply,%offset,128).text
  2471. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2472. %num = $bvar(&reply,%offset)
  2473. %max = $bvar(&reply,$calc(%offset + 1))
  2474. %CS.Temp.HL-Players = %num $+ / $+ %max
  2475. }
  2476. else {
  2477. %offset = 7
  2478. %CS.Temp.HL-name = $bvar(&reply,%offset,128).text
  2479. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2480. %CS.Temp.HL-map = $bvar(&reply,%offset,128).text
  2481. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2482. %dir = $bvar(&reply,%offset,128).text
  2483. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2484. %CS.Temp.HL-Type = $bvar(&reply,%offset,128).text
  2485. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2486. %num = $bvar(&reply,$calc(%offset + 2))
  2487. %max = $bvar(&reply,$calc(%offset + 3))
  2488. %CS.Temp.HL-Players = %num $+ / $+ %max
  2489. }
  2490. if (!%CS.Temp.HL-Map) || (!%CS.Temp.HL-Name) || (!%CS.Temp.HL-Players) || (!%CS.Temp.HL-Type) || (*/dl????????????? iswm $HLB) { return 1 }
  2491. if ($NGet(%CS.Temp.HL-Number,Connected) == ON) {
  2492. msg %CS.Chan $stl(%CS.Temp.HL-Number,Hostname:² %CS.Temp.HL-Name ¶ $+ $(|) ¶Players:² %CS.Temp.HL-Players ¶ $+ $(|) ¶Map:² %CS.Temp.HL-Map ¶ $+ $(|) ¶IP:² $NGet(%CS.Temp.HL-Number,IP))
  2493. }
  2494. else {
  2495. .timert1m3 [ $+ [ %CS.Temp.HL-Number ] ] off
  2496. msg %CS.Chan $stl(%CS.Temp.HL-Number,$NGet(%CS.Temp.HL-Number,Name) $iif($NGet(%CS.Temp.HL-Number,Game) != TF2,Counter-Strike,Team-Fortress) server is not connected ( $+ $NGet(%CS.Temp.HL-Number,Connected) $+ ).)
  2497. }
  2498. .timerT1M3 [ $+ [ %CS.Temp.HL-Number ] ] off
  2499. .timer 1 1 unset %ip $(|) unset %CS.Temp.HL2S
  2500. }
  2501. on *:UDPREAD:CHL: {
  2502. sockread -f &reply
  2503. var %offset, %CS.CTemp.HL-name, %CS.CTemp.HL-map, %game, %num, %max, %ip, %dir,%CS.CTemp.HL-Players,%CS.CTemp.HL-Type
  2504. if ($chr($bvar(&reply,5)) == m) {
  2505. %offset = 6
  2506. %ip = $bvar(&reply,%offset,128).text
  2507. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2508. %CS.CTemp.HL-name = $bvar(&reply,%offset,128).text
  2509. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2510. %CS.CTemp.HL-map = $bvar(&reply,%offset,128).text
  2511. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2512. %dir = $bvar(&reply,%offset,128).text
  2513. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2514. %CS.CTemp.HL-Type = $bvar(&reply,%offset,128).text
  2515. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2516. %num = $bvar(&reply,%offset)
  2517. %max = $bvar(&reply,$calc(%offset + 1))
  2518. %CS.CTemp.HL-Players = %num $+ / $+ %max
  2519. }
  2520. else {
  2521. %offset = 7
  2522. %CS.CTemp.HL-name = $bvar(&reply,%offset,128).text
  2523. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2524. %CS.CTemp.HL-map = $bvar(&reply,%offset,128).text
  2525. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2526. %dir = $bvar(&reply,%offset,128).text
  2527. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2528. %CS.CTemp.HL-Type = $bvar(&reply,%offset,128).text
  2529. inc %offset $calc($len($bvar(&reply,%offset,128).text) + 1)
  2530. %num = $bvar(&reply,$calc(%offset + 2))
  2531. %max = $bvar(&reply,$calc(%offset + 3))
  2532. %CS.CTemp.HL-Players = %num $+ / $+ %max
  2533. }
  2534. .timer 1 1 unset %cip $(|) unset %CS.CTemp.HL2S $(|) .unset %iwantfull
  2535. msg %CS.Chan $stl(?,Club $chr(35) $+ %cip Host:² %CS.CTemp.HL-Name ¶ $+ $(|) ¶Players:² %CS.CTemp.HL-Players ¶ $+ $(|) ¶Map:² %CS.CTemp.HL-Map ¶ $+ $(|) ¶IP:² $Readini(Clubs.ini,%cip,IP) ¶ $+ $(|) Game:² $iif($Readini(clubs.ini,%cip,Game) == TF2,Team Fortress 2,Counter-Strike 1.6))
  2536. if (%iwantfull == 1) { msg %CS.Chan $stl(?,Players:² $iif($cfix32(%CS.Club [ $+ [ %cip ] $+ .players ]),$v1,Empty) $+ ¶.) }
  2537. }
  2538. on *:sockclose:HL: {
  2539. if (!%CS.Temp.HL-Name) { msg %CS.Chan $stl(%ip,$NGet(%ip,Name) server is offline.) | .timert1m3 [ $+ [ %ip ] ] off }
  2540. unset %CS.Temp.HL-*
  2541. unset %ip
  2542. unset %CS.Temp.HL2S
  2543. }
  2544. alias fix32 {
  2545. return $replace($reptok($1,%CS [ $+ [ $2 ] $+ .Admin ],4« $+ %CS [ $+ [ $2 ] $+ .Admin ] $+ 4»²,1,32),$chr(32),¶ $+ $chr(44) $+ ² $+ $chr(32))
  2546. }
  2547. alias cfix32 {
  2548. return $replace($1,$chr(44),¶ $+ $chr(44) $+ ² $+ $chr(32))
  2549. }
  2550. alias overtime {
  2551. var %a $duration($calc( $ctime($date $time) - $1 ) ,2)
  2552. return $expandtime(%a)
  2553. }
  2554. alias split {
  2555. if (A.* iswm $1) || (B.* iswm $1) { return $Rescuechar($mid($1-,3)) }
  2556. else { return $Rescuechar($1-) }
  2557. }
  2558. dialog zxor_dde {
  2559. title "ZxoR Gatherbot DDE Assistant"
  2560. size -1 -1 202 69
  2561. option dbu
  2562. text "DDE IRC Server:", 1, 1 2 48 8, center
  2563. text "DDE IRC Port:", 2, 1 12 48 8, center
  2564. text "DDE IRC Nickname: ", 3, 1 22 48 8, center
  2565. text "Identify line: /MSG ", 4, 1 32 48 8, center
  2566. edit "irc.SERVERNAME.com", 5, 51 1 150 10, multi return autohs autovs
  2567. edit "6667", 6, 51 11 150 10, multi return autohs autovs
  2568. edit "ZGb-Assistant", 7, 51 21 150 10, multi return autohs autovs
  2569. edit "Q@CServe.quakenet.org AUTH USERNAME PASSWORD", 8, 51 31 150 10, multi return autohs autovs
  2570. check "Enable DDE Assistant", 9, 2 44 62 10
  2571. button "Save and Connect", 11, 1 56 200 12
  2572. }
  2573. dialog zxor_crd {
  2574. title "ZxoR Gatherbot - Thanks list"
  2575. size -1 -1 364 107
  2576. option dbu
  2577. icon 3, 0 -32 366 168, Thanks.bmp, 0
  2578. }
  2579. dialog zxor_sctrl {
  2580. title "Servers Manager"
  2581. size -1 -1 208 216
  2582. option dbu
  2583. box "Edit Place", 1, 0 47 208 169
  2584. list 2, 1 11 167 36, size
  2585. text "Available Servers:", 3, 2 1 165 8, center
  2586. button "Add", 4, 169 11 37 12
  2587. button "Delete", 5, 169 23 37 12
  2588. button "Reload", 6, 169 35 37 12
  2589. button "Save", 22, 2 202 204 12, disable
  2590. edit "", 8, 126 -3 31 4, hide disable
  2591. button "R", 59, 400 230 8 42
  2592. tab "Main Settings", 74, 2 52 203 148
  2593. text "Gatherbot Name:", 9, 45 72 42 8, tab 74
  2594. edit "", 10, 88 71 66 10, tab 74 autohs autovs
  2595. text "Server IP:Port:", 11, 47 83 38 8, tab 74
  2596. edit "", 12, 88 82 66 10, tab 74 autohs autovs
  2597. text "Socket Port:", 13, 50 94 30 8, tab 74
  2598. edit "", 14, 88 93 45 10, tab 74 autohs autovs
  2599. button "Rand", 15, 134 94 19 8, tab 74
  2600. text "Rcon:", 16, 59 105 15 8, tab 74
  2601. edit "", 17, 88 104 66 10, tab 74 autohs autovs
  2602. text "Max Players:", 18, 51 116 32 8, tab 74
  2603. edit "", 19, 88 115 24 10, tab 74 autohs autovs
  2604. text "Sign:", 20, 114 116 13 8, tab 74
  2605. check "Mixing Teams", 32, 88 126 65 10, tab 74
  2606. edit "", 21, 129 115 25 10, tab 74 autohs autovs
  2607. text "Mixing Teams:", 31, 50 127 35 8, tab 74
  2608. text "Auto Mix:", 42, 55 138 24 8, tab 74
  2609. check "no !rstart needed", 43, 88 137 66 10, tab 74
  2610. check "Locked ?", 46, 88 147 67 10, tab 74
  2611. button "Open maps list", 48, 96 158 58 9, disable tab 74
  2612. text "Ranking?:", 57, 48 169 36 8, tab 74 center
  2613. check "Rank players.", 58, 88 168 50 10, tab 74
  2614. check "", 65, 88 157 7 10, tab 74
  2615. text "Random Maps:", 49, 48 158 36 8, tab 74
  2616. text "Locked:", 47, 57 148 19 8, tab 74
  2617. tab "Game Type", 78
  2618. radio "Regular", 54, 15 80 50 10, tab 78
  2619. radio "Fun", 45, 15 89 50 10, tab 78
  2620. radio "DeathMatch Target:", 55, 15 98 59 10, tab 78
  2621. radio "GunGame Target:", 63, 15 107 59 10, tab 78
  2622. edit "", 64, 75 109 17 9, tab 78 autohs autovs
  2623. edit "", 56, 75 99 17 9, tab 78 autohs autovs
  2624. box "Counter-Strike:", 80, 12 72 91 50, tab 78
  2625. box "Team Fortress", 79, 107 72 91 50, tab 78
  2626. radio "Team Fortress 2", 81, 110 82 52 10, tab 78
  2627. text "Mods: cp_/ctf_/pl_/plr_", 44, 119 91 58 8, tab 78
  2628. tab "Ventrilo/TeamSpeak", 82
  2629. text "IP:Port:", 23, 35 78 54 8, tab 82 center
  2630. edit "", 24, 89 77 80 10, tab 82 autohs autovs
  2631. text "Rcon:", 25, 35 89 54 8, tab 82 center
  2632. edit "", 26, 89 88 80 10, tab 82 autohs autovs
  2633. text "Channel:", 27, 35 100 54 8, tab 82 center
  2634. edit "", 28, 89 99 80 10, tab 82 autohs autovs
  2635. text "Version:", 29, 35 111 54 8, tab 82 center
  2636. edit "", 30, 89 110 80 10, tab 82 autohs autovs
  2637. edit "", 7, 89 131 80 10, tab 82 autohs autovs
  2638. text "IP:Port:", 66, 35 132 54 8, tab 82 center
  2639. text "Admin Username:", 68, 35 143 54 8, tab 82 center
  2640. edit "", 69, 89 142 80 10, tab 82 autohs autovs
  2641. edit "", 70, 89 153 80 10, tab 82 autohs autovs
  2642. text "Admin Password:", 71, 35 154 54 8, tab 82 center
  2643. text "Connection TCP Port:", 72, 35 165 54 8, tab 82 center
  2644. edit "", 73, 89 164 80 10, tab 82 autohs autovs
  2645. edit "", 75, 89 175 80 10, tab 82 autohs autovs
  2646. text "Main Channel ID:", 76, 35 176 54 8, tab 82 center
  2647. text " .::. Ventrilo .::.", 50, 35 68 133 8, tab 82 center
  2648. text " .::. TeamSpeak .::.", 77, 35 122 133 8, tab 82 center
  2649. check "Use TeamSpeak Instead of ventrilo.", 67, 35 187 134 10, tab 82
  2650. tab "Colors", 83
  2651. text ".::. Colors .::.", 33, 38 105 135 8, tab 83 center
  2652. edit "", 35, 92 113 68 10, tab 83 autohs autovs
  2653. text "Color #1 (Main):", 34, 50 114 40 8, tab 83
  2654. text "Color #2 (Alt):", 37, 51 125 38 8, tab 83
  2655. edit "", 36, 92 124 68 10, tab 83 autohs autovs
  2656. edit "", 38, 92 135 68 10, tab 83 autohs autovs
  2657. text "Start Prefix:", 41, 51 136 38 8, tab 83 center
  2658. text "End Prefix:", 40, 51 147 38 8, tab 83 center
  2659. edit "", 39, 92 146 68 10, tab 83 autohs autovs
  2660. tab "TV", 60
  2661. box "Source (sourceTV)", 61, 47 127 114 36, tab 60
  2662. radio "sourceTV Enabled", 87, 50 138 54 10, tab 60
  2663. text "sourceTV Server:", 85, 51 149 43 8, tab 60
  2664. edit "", 86, 95 148 64 10, tab 60 autohs autovs
  2665. edit "", 53, 87 110 72 10, tab 60 autohs autovs
  2666. box "Half-Life (HLTV)", 84, 47 91 114 36, tab 60
  2667. text "HLTV Server:", 51, 51 111 32 8, tab 60
  2668. radio "HLTV Enabled", 62, 50 99 50 10, tab 60
  2669. check "Enable TV server", 52, 47 81 52 10, tab 60
  2670. }
  2671. dialog zxor_clubs {
  2672. title "Clubs Manager"
  2673. size -1 -1 148 112
  2674. option dbu
  2675. list 1, 0 0 109 43, size
  2676. button "Add", 2, 110 2 37 12
  2677. button "Delete", 3, 110 16 37 12
  2678. button "Reset", 4, 110 30 37 12
  2679. box "Club - ID: 0", 5, 1 44 146 67
  2680. text "Club IP:", 6, 5 63 30 8, center
  2681. text "Club rcon:", 7, 5 74 30 8, center
  2682. text "Socket port:", 8, 5 85 30 8, center
  2683. edit "", 9, 36 62 108 10
  2684. edit "", 10, 36 73 108 10
  2685. edit "", 11, 36 84 108 10
  2686. button "Save", 12, 5 96 139 12
  2687. radio "Counter-Strike 1.6", 13, 5 52 56 10
  2688. radio "Team Fortress 2", 14, 65 52 50 10
  2689. }
  2690. on *:dialog:*:init:0: {
  2691. if ($dname == zxor_sctrl) {
  2692. var %cur = 1,%max = $ini(Settings.ini,0)
  2693. while (%cur <= %max) {
  2694. did -a zxor_sctrl 2 $readini(Settings.ini,$ini(Settings.ini,%cur),Name) ( $+ $ini(Settings.ini,%cur) $+ )
  2695. inc %cur
  2696. }
  2697. did -c zxor_sctrl 2 1
  2698. if ($did($dname,2).lines > 0) { fillselected }
  2699. elseif ($did($dname,2).lines == 0) { did -b $dname 48 | did -b $dname 22 | did -b $dname 5 }
  2700. }
  2701. elseif ($dname == zxor_dde) {
  2702. if (%dde.server) did -ra $dname 5 $v1
  2703. if (%dde.port) did -ra $dname 6 $v1
  2704. if (%dde.nick) did -ra $dname 7 $v1
  2705. if (%dde.identify) did -ra $dname 8 $v1
  2706. if (%dde) did -c $dname 9
  2707. }
  2708. elseif ($dname == zxor_clubs) {
  2709. var %cur = 1,%max = $ini(Clubs.ini,0)
  2710. while (%cur <= %max) {
  2711. did -a zxor_clubs 1 $readini(Clubs.ini,$ini(Clubs.ini,%cur),IP) ( $+ $ini(Clubs.ini,%cur) $+ )
  2712. inc %cur
  2713. }
  2714. did -c zxor_clubs 1 1
  2715. cfillselected
  2716. }
  2717. elseif ($dname == zxor_rates) {
  2718. var %cur = 1,%max = $lines(rates.txt)
  2719. while (%cur <= %max) {
  2720. did -o $dname 1 %cur $read(rates.txt,%cur)
  2721. inc %cur
  2722. }
  2723. }
  2724. elseif ($dname == ZxoR_actrl) {
  2725. loadadmins
  2726. did -c $dname 1 1
  2727. did -b $dname 17,18
  2728. }
  2729. elseif ($dname == zxor_rcon) {
  2730. reloadrcon
  2731. }
  2732. elseif ($dname == zxor_site) {
  2733. if (%stats.site) { did -ra $dname 3 $v1 }
  2734. if (%stats.page) { did -ra $dname 5 $v1 }
  2735. if (%stats.passkey) { did -ra $dname 7 $v1 }
  2736. if (%stats.pinfo) { did -ra $dname 10 $v1 }
  2737. if (%stats.plist) { did -ra $dname 13 $v1 }
  2738. if (%stats.state == 1) { did -c $dname 8 } | else { did -u $dname 8 }
  2739. }
  2740. elseif ($dname == zxor_main) {
  2741. did -ra zxor_main 2 %Color?.c1
  2742. did -ra zxor_main 4 %Color?.c2
  2743. did -ra zxor_main 6 %Color?.p1
  2744. did -ra zxor_main 7 %Color?.p2
  2745. did -ra zxor_main 13 %CS.Chan
  2746. if (%CS.Sounds == 1) { did -c $dname 11 } | else { did -u $dname 11 }
  2747. }
  2748. }
  2749. on *:dialog:*:sclick:*: {
  2750. if ($dname == zxor_rates) {
  2751. var %cur = 1,%max = $did($dname,1).lines
  2752. write -c rates.txt
  2753. while (%cur <= %max) {
  2754. write rates.txt $did($dname,1,%cur).text
  2755. inc %cur
  2756. }
  2757. }
  2758. elseif ($dname == zxor_maps) {
  2759. if ($did == 2) { write Maplist [ $+ [ $did($dname,6) ] $+ .txt ] $lower($$?="Please enter map name") | reloadmaps }
  2760. elseif ($did == 3) { .write -dl [ $+ [ $did(zxor_maps,1).sel ] ] Maplist [ $+ [ $did($dname,6) ] $+ .txt ] | reloadmaps }
  2761. elseif ($did == 4) {
  2762. var %sid = $did($dname,6)
  2763. if ($NGet(%sid,CONNECTED) != ON) { noop $input(Error: $NGet(%sid,name) is not connected to the server.,ho,Error) | return 1 }
  2764. if (%CS.AskForMaps) { noop $input(Error: You are already request maps for $NGet($v1,name) $+ .,ho,Error) | return 1 }
  2765. set -u5 %CS.AskForMaps %sid
  2766. .timer 1 5 reloadmaps
  2767. .timer 1 5.1 lookupm %sid
  2768. write -c Maplist [ $+ [ %sid ] $+ .txt ]
  2769. did -r $dname 1
  2770. rcmd %sid maps *
  2771. }
  2772. }
  2773. elseif ($dname == zxor_dde) {
  2774. if ($did == 11) {
  2775. set %dde.server $did($dname,5)
  2776. set %dde.port $did($dname,6)
  2777. set %dde.nick $did($dname,7)
  2778. set %dde.identify $did($dname,8)
  2779. set %dde $did($dname,9).state
  2780. if (%dde) {
  2781. ddecmd channel %CS.Chan
  2782. if (%dde.identify) ddecmd identify $v1
  2783. ddecmd nick %dde.nick
  2784. ddecmd host %DDE.server %DDE.port
  2785. ddecmd connect
  2786. }
  2787. else { dde DDEAssistance ddeDDEconv ddeDDEServer disconnect }
  2788. }
  2789. }
  2790. elseif ($dname == zxor_actrl) {
  2791. if ($did == 1) {
  2792. if (!$did($dname,1).seltext) return 1
  2793. var %name = $gettok($did($dname,1).seltext,1,32),%level = $remove($gettok($did($dname,1).seltext,2,32),$chr(41),$chr(40)),%steam = $readini(%level $+ s.ini,%name,Steam)
  2794. did -ra $dname 7 %name
  2795. did -ra $dname 8 %level
  2796. did -ra $dname 22 %steam
  2797. did -r $dname 21
  2798. var %file = %level $+ s.ini
  2799. if (!$readini(%file,%name,Cant-run)) { did -c $dname 9 } | else { did -u $dname 9 }
  2800. if (!$readini(%file,%name,Cant-ban)) { did -c $dname 10 } | else { did -u $dname 10 }
  2801. if (!$readini(%file,%name,Cant-unban)) { did -c $dname 11 } | else { did -u $dname 11 }
  2802. if (!$readini(%file,%name,Cant-addremove)) { did -c $dname 12 } | else { did -u $dname 12 }
  2803. if (!$readini(%file,%name,Cant-password)) { did -c $dname 13 } | else { did -u $dname 13 }
  2804. if (!$readini(%file,%name,Cant-info)) { did -c $dname 14 } | else { did -u $dname 14 }
  2805. if (!$readini(%file,%name,Cant-refresh)) { did -c $dname 15 } | else { did -u $dname 15 }
  2806. if (!$readini(%file,%name,Cant-set)) { did -c $dname 16 } | else { did -u $dname 16 }
  2807. did -e $dname 17,18
  2808. }
  2809. elseif ($did == 17) {
  2810. var %name = $gettok($did($dname,1).seltext,1,32),%level = $remove($gettok($did($dname,1).seltext,2,32),$chr(41),$chr(40)),%steam = $did($dname,22).text,%file = %level $+ s.ini
  2811. if (!$issteam($did($dname,22).text)) { noop $$input(Invaild steam ID.,ho,Error) | return 1 }
  2812. if (!$did($dname,9).state) { writeini %file %name Cant-Run 1 } | else { writeini %file %name Cant-Run 0 }
  2813. if (!$did($dname,10).state) { writeini %file %name Cant-ban 1 } | else { writeini %file %name Cant-ban 0 }
  2814. if (!$did($dname,11).state) { writeini %file %name Cant-unban 1 } | else { writeini %file %name Cant-unban 0 }
  2815. if (!$did($dname,12).state) { writeini %file %name Cant-addremove 1 } | else { writeini %file %name Cant-addremove 0 }
  2816. if (!$did($dname,13).state) { writeini %file %name Cant-password 1 } | else { writeini %file %name Cant-password 0 }
  2817. if (!$did($dname,14).state) { writeini %file %name Cant-info 1 } | else { writeini %file %name Cant-info 0 }
  2818. if (!$did($dname,15).state) { writeini %file %name Cant-refresh 1 } | else { writeini %file %name Cant-refresh 0 }
  2819. if (!$did($dname,16).state) { writeini %file %name Cant-set 1 } | else { writeini %file %name Cant-set 0 }
  2820. if ($did($dname,22).text) { writeini %file %name Steam $v1 }
  2821. if ($did($dname,21).text) { writeini %file %name Password $md5($v1) }
  2822. noop $$input(%Name rights has been saved.,io,Done!)
  2823. }
  2824. elseif ($did == 18) {
  2825. var %name = $gettok($did($dname,1).seltext,1,32),%level = $remove($gettok($did($dname,1).seltext,2,32),$chr(41),$chr(40)),%file = %level $+ s.ini
  2826. remini %file %name
  2827. noop $$input(%Name has been removed from %level $+ s list..,io,Done!)
  2828. loadadmins
  2829. did -b $dname 17,18
  2830. }
  2831. elseif ($did == 23) {
  2832. var %fx = $?="Please Enter level: Admin / Master / Owner"
  2833. if (%fx != Master) && (%fx != Owner) && (%fx != Admin) { noop $$input(Error: Wrong level.,ho,Error) | return 0 }
  2834. var %usr = $?="Please enter username"
  2835. var %f = %fx $+ s.ini
  2836. var %pwd = $?="Please enter password"
  2837. writeini %f %usr Password $md5(%pwd)
  2838. writeini %f %usr Logged 0
  2839. var %st = $?="Please enter steam id (Like: STEAM_0:1:12980927)"
  2840. if (!$issteam(%st)) { noop $$input(Error: Wrong SteamID.,ho,Error) | remini %f %usr | return 0 }
  2841. writeini %f %usr Steam %st
  2842. writeini %f %usr Gathers 0
  2843. if (%fx == Admin) { var %lv 1 }
  2844. elseif (%fx == Master) { var %lv 2 }
  2845. elseif (%fx == Owner) { var %lv 3 }
  2846. else { var %lv 0 }
  2847. noop $$input(Done! The %fx %usr has been added.,io,Done!)
  2848. loadadmins
  2849. }
  2850. }
  2851. elseif ($dname == zxor_clubs) {
  2852. if ($did == 2) {
  2853. var %cur = 1,%f = Clubs.ini
  2854. while (!%maxo) {
  2855. if (!$readini(%f,$ini(%f,%cur),IP)) { var %scid = %cur | break }
  2856. inc %cur
  2857. }
  2858. writeini clubs.ini %scid IP 0.0.0.0:0000
  2859. writeini clubs.ini %scid Port 0000
  2860. writeini clubs.ini %scid RconPASS xxxx
  2861. writeini clubs.ini %scid Game CS
  2862. writeini clubs.ini %scid Version 2.7
  2863. did -r $dname 1
  2864. var %cur = 1,%max = $ini(Clubs.ini,0)
  2865. while (%cur <= %max) {
  2866. did -a zxor_clubs 1 $readini(Clubs.ini,$ini(Clubs.ini,%cur),IP) ( $+ $ini(Clubs.ini,%cur) $+ )
  2867. inc %cur
  2868. }
  2869. did -c zxor_clubs 1 $calc(%cur -1)
  2870. cfillselected
  2871. }
  2872. elseif ($did == 3) {
  2873. var %sid = $remove($gettok($did(zxor_clubs,1).seltext,2,32),$chr(41),$chr(40))
  2874. remini Clubs.ini %sid
  2875. .timercrconkeep [ $+ [ %sid ] ] off
  2876. did -r $dname 1
  2877. .sockclose club [ $+ [ %sid ] $+ * ]
  2878. .timercecho [ $+ [ %cid ] ] off
  2879. var %cur = 1,%max = $ini(Clubs.ini,0)
  2880. while (%cur <= %max) {
  2881. did -a zxor_clubs 1 $readini(Clubs.ini,$ini(Clubs.ini,%cur),IP) ( $+ $ini(Clubs.ini,%cur) $+ )
  2882. inc %cur
  2883. }
  2884. did -c zxor_clubs 1 1
  2885. cfillselected
  2886. }
  2887. elseif ($did == 4) { cfillselected }
  2888. elseif ($did == 12) {
  2889. var %sid = $remove($gettok($did(zxor_clubs,1).seltext,-1,32),$chr(41),$chr(40))
  2890. writeini clubs.ini %sid IP $did($dname,9)
  2891. writeini clubs.ini %sid Port $did($dname,11)
  2892. writeini clubs.ini %sid RconPASS $did($dname,10)
  2893. if ($did($dname,13).state) { writeini clubs.ini %sid Game CS }
  2894. else { writeini clubs.ini %sid Game TF2 }
  2895. did -r $dname 1
  2896. var %cur = 1,%max = $ini(Clubs.ini,0)
  2897. while (%cur <= %max) {
  2898. did -a zxor_clubs 1 $readini(Clubs.ini,$ini(Clubs.ini,%cur),IP) ( $+ $ini(Clubs.ini,%cur) $+ )
  2899. inc %cur
  2900. }
  2901. did -c $dname 1 %sid
  2902. crcon %sid
  2903. }
  2904. elseif ($did == 1) { cfillselected }
  2905. }
  2906. elseif ($dname == zxor_sctrl) {
  2907. if ($did == 6) {
  2908. fillselected
  2909. }
  2910. elseif ($did == 59) {
  2911. did -ra $dname 35 00,01
  2912. did -ra $dname 36 07,01
  2913. did -ra $dname 38 7,1[15«0
  2914. did -ra $dname 39 15,1»7]
  2915. }
  2916. elseif ($did == 55) || ($did == 63) { did -u $dname 58 }
  2917. elseif ($did == 45) || ($did == 54) { did -c $dname 58 }
  2918. elseif ($did == 48) {
  2919. if (!$dialog(zxor_maps)) dialog -m zxor_maps zxor_maps
  2920. did -ra zxor_maps 6 $remove($gettok($did(zxor_sctrl,2).seltext,-1,32),$chr(41),$chr(40))
  2921. reloadmaps
  2922. }
  2923. elseif ($did == 4) {
  2924. var %cur = 1,%f = Settings.ini
  2925. while (!%maxo) {
  2926. if (!$readini(%f,$ini(%f,%cur),IP)) { var %scid = %cur | break }
  2927. inc %cur
  2928. }
  2929. NSet %scid IP 0.0.0.0:0000
  2930. NSet %scid Name Gatherbot 1
  2931. NSet %scid MaxPlayers 10
  2932. NSet %scid Port 0000
  2933. NSet %scid Status OFF
  2934. NSet %scid Sign !
  2935. NSet %scid Connected OFF
  2936. NSet %scid Number 0
  2937. NSet %scid RCONPass xxxxx
  2938. NSet %scid V-IP 0.0.0.0:0000
  2939. NSet %scid V-Rcon xxxxx
  2940. NSet %scid V-Chan xxxxx
  2941. NSet %scid V-Ver x.x
  2942. NSet %scid TS-IP 0.0.0.0:0000
  2943. NSet %scid TS-Username Administrator
  2944. NSet %scid TS-Password ***********
  2945. NSet %scid TS-TCP 10011
  2946. NSet %scid TS-Channel 00
  2947. Nset %scid TS-Selected 0
  2948. NSet %scid Mixing 1
  2949. NSet %scid AutoMix 1
  2950. NSet %scid Game CS
  2951. NSet %scid Rank 1
  2952. NSet %scid Locked 0
  2953. NSet %scid Today 0
  2954. NSet %scid Fun 0
  2955. NSet %scid Last 0 None None
  2956. NSet %scid HLTV 0.0.0.0:00000
  2957. NSet %scid ISHLTV 1
  2958. NSet %scid sourceTV 0.0.0.0:00000
  2959. NSet %scid ISsourceTV 0
  2960. NSet %scid useTV 0
  2961. NSet %scid RandMap 1
  2962. NSet %scid Type Regular
  2963. NSet %scid DM-Target 200
  2964. NSet %scid GG-Target 30
  2965. NSet %scid Version 2.7
  2966. set %Color [ $+ [ %scid ] $+ .c1 ] 00,01
  2967. set %Color [ $+ [ %scid ] $+ .c2 ] 07,01
  2968. set %Color [ $+ [ %scid ] $+ .p1 ] 7,1[15«0
  2969. set %Color [ $+ [ %scid ] $+ .p2 ] 15,1»7]
  2970. write -c Maplist [ $+ [ %scid ] $+ .txt ] de_dust2
  2971. write Maplist [ $+ [ %scid ] $+ .txt ] de_dust
  2972. write Maplist [ $+ [ %scid ] $+ .txt ] de_inferno
  2973. write Maplist [ $+ [ %scid ] $+ .txt ] de_nuke
  2974. var %cur = 1,%max = $ini(Settings.ini,0)
  2975. did -r zxor_sctrl 2
  2976. while (%cur <= %max) {
  2977. did -a zxor_sctrl 2 $readini(Settings.ini,$ini(Settings.ini,%cur),Name) ( $+ $ini(Settings.ini,%cur) $+ )
  2978. inc %cur
  2979. }
  2980. did -c zxor_sctrl 2 %scid
  2981. fillselected
  2982. }
  2983. elseif ($did == 22) {
  2984. var %cur = 1,%max = $ini(Settings.ini,0),%scid = $did(zxor_sctrl,8)
  2985. while (%cur <= %max) {
  2986. if ($did(zxor_sctrl,21) == $readini(Settings.ini,$ini(Settings.ini,%cur),Sign)) && (%cur != %scid) { noop $$input(Error: This sign is already in use by $NGet(%cur,name) $+ .,ho,Error) | return 1 }
  2987. if (($did(zxor_sctrl,14) == $readini(Settings.ini,$ini(Settings.ini,%cur),Port)) || ($did(zxor_sctrl,14) == $readini(Settings.ini,$ini(Settings.ini,%cur),TS-Port))) && (%cur != %scid) { noop $$input(Error: The port $Brack($did(zxor_sctrl,14)) is already in use by $NGet(%cur,name) $+ .,ho,Error) | return 1 }
  2988. if ($did(zxor_sctrl,10) == $readini(Settings.ini,$ini(Settings.ini,%cur),Name)) && (%cur != %scid) { noop $$input(Error: The name of the gatherbot is already in use for other gatherbot! you have to choose another name.,ho,Error) | return 1 }
  2989. if ($did(zxor_sctrl,12) == $readini(Settings.ini,$ini(Settings.ini,%cur),IP)) && (%cur != %scid) { noop $$input(Error: The server that you choose for this gatherbot is the same server for $NGet(%cur,Name) $+ $chr(44) You have to choose another server.,ho,Error) | return 1 }
  2990. inc %cur
  2991. }
  2992. if ($did($dname,14) == $did($dname,73)) { noop $$input(Error: The port of the TeamSpeak TCP Connection cant be the same as the Gatherbot Socket Port.,ho,Error) | return 1 }
  2993. if ($did($dname,19) < 4) && ($did($dname,81).state) { noop $$input(Error: TF2 Game type cannot handle less then 4 players. You must choose 4 or more.,ho,Error) | return 1 }
  2994. NSet %scid IP $did(zxor_sctrl,12)
  2995. NSet %scid Name $did(zxor_sctrl,10)
  2996. NSet %scid MaxPlayers $iif(2 // $did(zxor_sctrl,19),$did(zxor_sctrl,19),$calc($did(zxor_sctrl,19) +1))
  2997. NSet %scid Port $did(zxor_sctrl,14)
  2998. NSet %scid Sign $did(zxor_sctrl,21)
  2999. NSet %scid RCONPass $did(zxor_sctrl,17)
  3000. NSet %scid V-Ver $did(zxor_sctrl,30)
  3001. NSet %scid V-IP $did(zxor_sctrl,24)
  3002. NSet %scid V-Rcon $did(zxor_sctrl,26)
  3003. NSet %scid V-Chan $did(zxor_sctrl,28)
  3004. NSet %scid TS-IP $did(zxor_sctrl,7)
  3005. NSet %scid TS-Username $did(zxor_sctrl,69)
  3006. NSet %scid TS-Password $did(zxor_sctrl,70)
  3007. NSet %scid TS-TCP $did(zxor_sctrl,73)
  3008. NSet %scid TS-Channel $did(zxor_sctrl,75)
  3009. NSet %scid Mixing $did(zxor_sctrl,32).state
  3010. NSet %scid AutoMix $did(zxor_sctrl,43).state
  3011. NSet %scid Locked $did(zxor_sctrl,46).state
  3012. NSet %scid HLTV $did(zxor_sctrl,53)
  3013. NSet %scid ISHLTV $did(zxor_sctrl,62).state
  3014. NSet %scid sourceTV $did(zxor_sctrl,86)
  3015. NSet %scid ISsourceTV $did(zxor_sctrl,87).state
  3016. NSet %scid useTV $did(zxor_sctrl,52).state
  3017. NSet %scid RandMap $did(zxor_sctrl,65).state
  3018. NSet %scid DM-Target $did(zxor_sctrl,56)
  3019. NSet %scid GG-Target $did(zxor_sctrl,64)
  3020. NSet %scid Fun $did(zxor_sctrl,45).state
  3021. NSet %scid Rank $did(zxor_sctrl,58).state
  3022. Nset %scid TS-Selected $did(zxor_sctrl,67).state
  3023. if ($did($dname,54).state) { NSet %scid Type Regular | NSET %scid Fun 0 | Nset %scid Game CS }
  3024. elseif ($did($dname,45).state) { NSet %scid Type Regular | NSET %scid Fun 1 | Nset %scid Game CS }
  3025. elseif ($did($dname,63).state) { NSet %scid Type GG | NSET %scid Fun 0 | Nset %scid Game CS }
  3026. elseif ($did($dname,55).state) { NSet %scid Type DM | NSET %scid Fun 0 | Nset %scid Game CS }
  3027. elseif ($did($dname,81).state) { if ($NGet(%scid,Status) == off) { NSet %scid Type None } | NSet %scid Fun 0 | Nset %scid Game TF2 }
  3028. set %Color [ $+ [ %scid ] $+ .c1 ] $did(zxor_sctrl,35)
  3029. set %Color [ $+ [ %scid ] $+ .c2 ] $did(zxor_sctrl,36)
  3030. set %Color [ $+ [ %scid ] $+ .p1 ] $did(zxor_sctrl,38)
  3031. set %Color [ $+ [ %scid ] $+ .p2 ] $did(zxor_sctrl,39)
  3032. var %cur = 1,%max = $ini(Settings.ini,0)
  3033. var %scid = $did(zxor_sctrl,2).sel
  3034. did -r zxor_sctrl 2
  3035. while (%cur <= %max) {
  3036. did -a zxor_sctrl 2 $readini(Settings.ini,$ini(Settings.ini,%cur),Name) ( $+ $ini(Settings.ini,%cur) $+ )
  3037. inc %cur
  3038. }
  3039. did -c zxor_sctrl 2 %scid
  3040. fillselected
  3041. retryrcons
  3042. }
  3043. elseif ($did == 2) {
  3044. fillselected
  3045. }
  3046. elseif ($did == 15) {
  3047. :sel
  3048. var %r = $r(1111,9999),%cur = 1,%max = $ini(Settings.ini,0)
  3049. while (%cur <= %max) {
  3050. if ($Readini(Settings.ini,$Ini(Settings.ini,%cur),Port) == %r) || ($Readini(Settings.ini,$Ini(Settings.ini,%cur),TS-TCP) == %r) { goto sel }
  3051. inc %cur
  3052. }
  3053. did -ra zxor_sctrl 14 %r
  3054. }
  3055. elseif ($did == 5) {
  3056. var %sid = $remove($gettok($did(zxor_sctrl,2).seltext,-1,32),$chr(41),$chr(40))
  3057. .remini Settings.ini %sid
  3058. .timertimedout [ $+ [ %sid ] ] off
  3059. .timerrconkeep [ $+ [ %sid ] ] off
  3060. .timerRCONSTART [ $+ [ %sid ] ] off
  3061. .timerRetryC [ $+ [ %sid ] ] off
  3062. if ($exists(Maplist [ $+ [ %sid ] $+ .txt ])) { .remove Maplist [ $+ [ %sid ] $+ .txt ] }
  3063. unset %Color [ $+ [ %sid ] $+ .* ]
  3064. did -r zxor_sctrl 2
  3065. var %cur = 1,%max = $ini(Settings.ini,0)
  3066. while (%cur <= %max) {
  3067. did -a zxor_sctrl 2 $readini(Settings.ini,$ini(Settings.ini,%cur),Name) ( $+ $ini(Settings.ini,%cur) $+ )
  3068. inc %cur
  3069. }
  3070. did -c zxor_sctrl 2 %scid
  3071. fillselected
  3072. }
  3073. }
  3074. elseif ($dname == zxor_main) {
  3075. if ($did == 9) {
  3076. set %Color?.c1 $did($dname,2)
  3077. set %Color?.c2 $did($dname,4)
  3078. set %Color?.p1 $did($dname,6)
  3079. set %Color?.p2 $did($dname,7)
  3080. set %CS.Chan $did($dname,13)
  3081. DDECMD channel %CS.Chan
  3082. set %CS.Sounds $did($dname,11).state
  3083. }
  3084. }
  3085. elseif ($dname == zxor_rcon) {
  3086. if ($did == 2) { retryrcons }
  3087. elseif ($did == 3) { window -a @Server- [ $+ [ $gettok($did($dname,1).seltext,2,32) ] ] }
  3088. elseif ($did == 4) { run http://www.utorrent.com/testport?port= [ $+ [ $remove( $gettok($did($dname,1).seltext,6,32) ,~) ] ] }
  3089. elseif ($did == 5) { dialog -x $dname $dname | dialog -m zxor_sctrl zxor_sctrl }
  3090. }
  3091. elseif ($dname == zxor_site) {
  3092. if ($did == 9) {
  3093. set %stats.site $did($dname,3)
  3094. set %stats.page $did($dname,5)
  3095. set %stats.passkey $did($dname,7)
  3096. set %stats.pinfo $did($dname,10)
  3097. set %stats.plist $did($dname,13)
  3098. set %stats.state $did($dname,8).state
  3099. if (%stats.state == 1) && ($input(Do you wish to update the site right now? it may take a while..,,Update?)) {
  3100. updatelist
  3101. }
  3102. }
  3103. }
  3104. }
  3105. alias fillselected {
  3106. did -e zxor_sctrl 48
  3107. did -e zxor_sctrl 22
  3108. did -e zxor_sctrl 5
  3109. var %fill = /did -ra zxor_sctrl
  3110. var %slc = $did(zxor_sctrl,2).seltext
  3111. var %sid = $remove( $gettok(%slc,-1,32) ,$chr(41),$chr(40) )
  3112. if (!%sid) {
  3113. did -b zxor_sctrl 48
  3114. did -b zxor_sctrl 22
  3115. did -b zxor_sctrl 5
  3116. }
  3117. if ($Nget(%sid,TS-Selected) == 1) { did -c zxor_sctrl 67 }
  3118. else { did -u zxor_sctrl 67 }
  3119. %fill 1 Edit Place - ID: %sid
  3120. %fill 10 $readini(Settings.ini,%sid,Name)
  3121. %fill 8 %sid
  3122. %fill 12 $readini(Settings.ini,%sid,IP)
  3123. %fill 14 $readini(Settings.ini,%sid,Port)
  3124. %fill 17 $readini(Settings.ini,%sid,RCONPASS)
  3125. %fill 19 $readini(Settings.ini,%sid,MaxPlayers)
  3126. %fill 21 $readini(Settings.ini,%sid,Sign)
  3127. %fill 24 $readini(Settings.ini,%sid,V-IP)
  3128. %fill 26 $readini(Settings.ini,%sid,V-Rcon)
  3129. %fill 28 $readini(Settings.ini,%sid,V-Chan)
  3130. %fill 30 $readini(Settings.ini,%sid,V-Ver)
  3131. %fill 53 $readini(Settings.ini,%sid,HLTV)
  3132. %fill 86 $readini(Settings.ini,%sid,sourceTV)
  3133. %fill 7 $NGet(%sid,TS-IP)
  3134. %fill 69 $NGet(%sid,TS-Username)
  3135. %fill 70 $NGet(%sid,TS-Password)
  3136. %fill 73 $NGet(%sid,TS-TCP)
  3137. %fill 75 $NGet(%sid,TS-Channel)
  3138. %fill 35 %color [ $+ [ %sid ] $+ .c1 ]
  3139. %fill 36 %color [ $+ [ %sid ] $+ .c2 ]
  3140. %fill 38 %color [ $+ [ %sid ] $+ .p1 ]
  3141. %fill 39 %color [ $+ [ %sid ] $+ .p2 ]
  3142. %fill 56 $NGet(%sid,DM-Target)
  3143. %fill 64 $NGet(%sid,GG-Target)
  3144. if ($NGet(%sid,AutoMix) == 1) { did -c zxor_sctrl 43 } | else { did -u zxor_sctrl 43 }
  3145. if ($NGet(%sid,RandMap) == 1) { did -c zxor_sctrl 65 } | else { did -u zxor_sctrl 65 }
  3146. if ($NGet(%sid,useTV) == 1) { did -c zxor_sctrl 52 } | else { did -u zxor_sctrl 52 }
  3147. if ($NGet(%sid,ISHLTV) == 1) { did -c zxor_sctrl 62 | did -u zxor_sctrl 87 }
  3148. elseif ($NGet(%sid,ISsourceTV) == 1) { did -u zxor_sctrl 62 | did -c zxor_sctrl 87 }
  3149. if ($NGet(%sid,Rank) == 0) { did -u zxor_sctrl 58 } | else { did -c zxor_sctrl 58 }
  3150. if ($NGet(%sid,Locked) == 1) { did -c zxor_sctrl 46 } | else { did -u zxor_sctrl 46 }
  3151. if ($NGet(%sid,Mixing) == 1) { did -c zxor_sctrl 32 | did -e zxor_sctrl 43 } | else { did -u zxor_sctrl 32 | did -b zxor_sctrl 43 | did -u zxor_sctrl 43 | NSet %sid AutoMix 0 }
  3152. if ($NGet(%sid,Type) == Regular) && ($NGet(%sid,Fun) == 0) { did -c zxor_sctrl 54 | did -u $dname 55,45,63 }
  3153. if ($NGet(%sid,Game) == CS) {
  3154. did -u $dname 81
  3155. elseif ($NGet(%sid,Type) == DM) { did -c zxor_sctrl 55 | did -u $dname 54,45 }
  3156. elseif ($NGET(%sid,Type) == GG) { did -c $dname 63 | did -u zxor_sctrl 55,54,45 }
  3157. elseif ($NGet(%sid,Type) == Regular) && ($NGet(%sid,Fun) != 0) { did -c zxor_sctrl 45 | did -u $dname 55,54,63 }
  3158. }
  3159. elseif ($NGet(%sid,Game) == TF2) {
  3160. did -u $dname 54,45,55,63
  3161. if ($NGet(%sid,Game) == TF2) { did -c $dname 81 }
  3162. }
  3163. }
  3164. alias cfillselected {
  3165. did -e zxor_clubs 9
  3166. did -e zxor_clubs 10
  3167. did -e zxor_clubs 11
  3168. did -e zxor_clubs 12
  3169. did -e zxor_clubs 3
  3170. did -e zxor_clubs 13
  3171. did -e zxor_clubs 14
  3172. var %fill = /did -ra zxor_clubs
  3173. var %slc = $did(zxor_clubs,1).seltext
  3174. var %sid = $remove($gettok(%slc,-1,32),$chr(41),$chr(40) )
  3175. if (!%sid) {
  3176. did -b zxor_clubs 9
  3177. did -b zxor_clubs 10
  3178. did -b zxor_clubs 11
  3179. did -b zxor_clubs 12
  3180. did -b zxor_clubs 3
  3181. did -b zxor_clubs 13
  3182. did -b zxor_clubs 14
  3183. }
  3184. %fill 5 Club - ID: %sid
  3185. %fill 9 $readini(Clubs.ini,%sid,IP)
  3186. %fill 10 $readini(Clubs.ini,%sid,RCONpass)
  3187. %fill 11 $readini(Clubs.ini,%sid,Port)
  3188. if ($CGet(%sid,Game) == CS) { did -c zxor_clubs 13 | did -u zxor_clubs 14 }
  3189. elseif ($CGet(%sid,Game) == TF2) { did -u zxor_clubs 13 | did -c zxor_clubs 14 }
  3190. }
  3191. alias cchan {
  3192. if ($Nget($$1,TS-Selected) == 0) {
  3193. .write -c ventcmd.txt /chan delete $qt($NGet($1,Name) is waiting)
  3194. .write ventcmd.txt /subchan $qt($NGet($1,V-Chan)) $qt($NGet($1,Name) Team-A) $qt(A) $qt(%CS [ $+ [ $1 ] $+ .VentA ]) $qt($r(1,9999)) $qt($replace(%CS [ $+ [ $1 ] $+ .TeamA ],$chr(32),$chr(44)))
  3195. .write ventcmd.txt /subchan $qt($NGet($1,V-Chan)) $qt($NGet($1,Name) Team-B) $qt(B) $qt(%CS [ $+ [ $1 ] $+ .VentB ]) $qt($r(1,9999)) $qt($replace(%CS [ $+ [ $1 ] $+ .TeamB ],$chr(32),$chr(44)))
  3196. .write ventcmd.txt /subchan $qt($NGet($1,V-Chan)) $qt($NGet($1,Name) Map: $+ %CS [ $+ [ $1 ] $+ .map ]) $qt(Information) $qt(ZxoRed) $qt(ZxoRed) $qt(Admin: $+ %CS [ $+ [ $1 ] $+ .Admin ])
  3197. .run -hide ventrcon.exe -f ventcmd.txt -n $qt(ZxoRGatherbot) -a $NGet($1,V-Rcon) $NGet($1,V-IP)
  3198. }
  3199. else {
  3200. set %TS [ $+ [ $1 ] $+ .status ] Create
  3201. TSRcon $1 channelcreate channel_name= $+ $replace($NGet($1,Name) Team-A,$chr(32),\s) channel_topic= $+ $replace($NGet($1,Name) Team-A,$chr(32),\s) channe_description= $+ $replace($NGet($1,Name) Team-A,$chr(32),\s) channel_password= $+ %CS [ $+ [ $1 ] $+ .VentA ] channel_flag_permanent=1 cpid= $+ $Nget($1,TS-Channel)
  3202. TSRcon $1 channelcreate channel_name= $+ $replace($NGet($1,Name) Team-B,$chr(32),\s) channel_topic= $+ $replace($NGet($1,Name) Team-B,$chr(32),\s) channe_description= $+ $replace($NGet($1,Name) Team-B,$chr(32),\s) channel_password= $+ %CS [ $+ [ $1 ] $+ .VentB ] channel_flag_permanent=1 cpid= $+ $Nget($1,TS-Channel)
  3203. }
  3204. }
  3205. alias dchan {
  3206. if ($Nget($$1,TS-Selected) == 0) {
  3207. .write -c ventcmd.txt /chan delete $qt($NGet($1,Name) is waiting)
  3208. .write ventcmd.txt /chan delete $qt($NGet($1,Name) Team-A)
  3209. .write ventcmd.txt /chan delete $qt($NGet($1,Name) Team-B)
  3210. .write ventcmd.txt /chan delete $qt($NGet($1,Name) Map: $+ %CS [ $+ [ $1 ] $+ .map ])
  3211. .run -hide ventrcon.exe -f ventcmd.txt -n $qt(ZxoRGatherbot) -a $NGet($1,V-Rcon) $NGet($1,V-IP)
  3212. }
  3213. else {
  3214. TSRcon $1 channeldelete cid= $+ %CS [ $+ [ $1 ] $+ .VentAID ] force=1
  3215. TSRcon $1 channeldelete cid= $+ %CS [ $+ [ $1 ] $+ .VentBID ] force=1
  3216. }
  3217. }
  3218. menu * {
  3219. ZxoR Gatherbot v2.7: noop $input(This gatherbot was made by ZxoR $crlf >> www.mIRCs.co.il $crlf >> #mIRCs @ Quakenet,io,Credits)
  3220. -
  3221. ZxoR Gatherbot Options
  3222. .Main Settings: dialog -m zxor_main zxor_main
  3223. .Servers Manager: dialog -m zxor_sctrl zxor_sctrl
  3224. .Clubs Manager: dialog -m zxor_clubs zxor_clubs
  3225. .Access Manager: dialog -m zxor_actrl zxor_actrl
  3226. .Rcon Manager: dialog -m zxor_rcon zxor_rcon
  3227. .Counter-Strike Rates commands: dialog -m zxor_rates zxor_rates
  3228. .Online updated site: dialog -m zxor_site zxor_site
  3229. .DDE Assistant: dialog -m zxor_dde zxor_dde
  3230. .Retry All Rcons: retryrcons
  3231. .-
  3232. .Reset Gatherbot: if ($$input(Attention: The command you going to run will REMOVE ALL YOUR DATA from the gatherbot! Please make a backup before click OK - If you not sure about it press cancel.,hu,Wait! Read!)) { reset.accepted }
  3233. .-
  3234. .Thanks: dialog -m zxor_crd zxor_crd
  3235. .GNU License: $iif($exists(GNU.GPL.License.txt),.run GNU.GPL.License.txt,.noop $input(Error: GNU license file not found.,ho,Error))
  3236. }
  3237. alias loadadmins {
  3238. if ($dialog(zxor_actrl)) {
  3239. did -r zxor_actrl 1
  3240. var %f = owners.ini,%cur = 1,%max = $ini(%f,0)
  3241. while (%cur <= %max) { did -a zxor_actrl 1 $ini(%f,%cur) ( $+ Owner $+ ) | inc %cur }
  3242. var %f = masters.ini,%cur = 1,%max = $ini(%f,0)
  3243. while (%cur <= %max) { did -a zxor_actrl 1 $ini(%f,%cur) ( $+ Master $+ ) | inc %cur }
  3244. var %f = admins.ini,%cur = 1,%max = $ini(%f,0)
  3245. while (%cur <= %max) { did -a zxor_actrl 1 $ini(%f,%cur) ( $+ Admin $+ ) | inc %cur }
  3246. }
  3247. }
  3248. dialog zxor_rcon {
  3249. title "Rcon Manager"
  3250. size -1 -1 310 183
  3251. option dbu
  3252. list 1, 1 1 308 167, size
  3253. button "Retry Rcons", 2, 1 169 76 12
  3254. button "Show Window", 3, 78 169 76 12, disable
  3255. button "Check Port", 4, 155 169 76 12
  3256. button "Servers Manager", 5, 232 169 76 12
  3257. }
  3258. alias reloadrcon {
  3259. if ($dialog(zxor_rcon)) {
  3260. var %f = Settings.ini,%cur = 1,%max = $ini(%f,0)
  3261. .did -r zxor_rcon 1
  3262. while (%cur <= %max) {
  3263. did -a zxor_rcon 1 ID: %cur - Server: $readini(%f,$ini(%f,%cur),IP) ~ $+ $readini(%f,$ini(%f,%cur),Port) - Rcon: $readini(%f,$ini(%f,%cur),RconPASS) - Status: $readini(%f,$ini(%f,%cur),Connected)
  3264. inc %cur
  3265. }
  3266. var %f = Clubs.ini,%curc = 1,%max = $ini(%f,0)
  3267. while (%curc <= %max) {
  3268. did -a zxor_rcon 1 ID: %cur - Club: $readini(%f,$ini(%f,%curc),IP) ~ $+ $readini(%f,$ini(%f,%curc),Port) - Rcon: $readini(%f,$ini(%f,%curc),RconPASS) - Status: $readini(%f,$ini(%f,%curc),Connected)
  3269. inc %cur
  3270. inc %curc
  3271. }
  3272. }
  3273. }
  3274. alias swapteams {
  3275. rcmd $1 admin_quiet 2
  3276. rcmd $1 admin_command admin_execall setinfo "_vgui_menus" "0"
  3277. rcmd $1 admin_command admin_execteam 1 chooseteam
  3278. rcmd $1 admin_command admin_execteam 1 menuselect 2
  3279. rcmd $1 admin_command admin_execteam 2 chooseteam
  3280. rcmd $1 admin_command admin_execteam 2 menuselect 1
  3281. }
  3282. alias speak {
  3283. if (%CS.Sounds == 0) { return 1 }
  3284. rcmd $1 admin_quiet 2
  3285. rcmd $1 admin_command admin_execall speak $2-
  3286. rcmd $1 admin_command admin_execall clear
  3287. }
  3288. alias cspeak {
  3289. if (%CS.Sounds == 0) { return 1 }
  3290. crcmd $1 admin_quiet 2
  3291. crcmd $1 admin_command admin_execall speak $2-
  3292. crcmd $1 admin_command admin_execall clear
  3293. }
  3294. alias stl {
  3295. if ($1 isnum) {
  3296. var %c1 %Color [ $+ [ $1 ] $+ .c1 ]
  3297. var %c2 %Color [ $+ [ $1 ] $+ .c2 ]
  3298. var %p1 = %Color [ $+ [ $1 ] $+ .p1 ]
  3299. var %p2 = %Color [ $+ [ $1 ] $+ .p2 ]
  3300. return %p1 %c1 $+ $replace($2-,$chr(182),%c1,$chr(178),%c2) %p2
  3301. }
  3302. elseif ($1 == ?) {
  3303. var %c1 %Color?.c1
  3304. var %c2 %Color?.c2
  3305. var %p1 = %Color?.p1
  3306. var %p2 = %Color?.p2
  3307. return %p1 %c1 $+ $replace($2-,$chr(182),%c1,$chr(178),%c2) %p2
  3308. }
  3309. }
  3310. alias ClearGatherbot {
  3311. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0)
  3312. if (%max == 0) { return 1 }
  3313. while (%cur <= %max) {
  3314. gather-end $ini(%f,%cur)
  3315. writeini %f $ini(%f,%cur) Connected OFF
  3316. inc %cur
  3317. }
  3318. var %cur = 1,%f = admins.ini,%max = $ini(%f,0)
  3319. while (%cur <= %max) {
  3320. writeini %f $ini(%f,%cur) Logged 0
  3321. inc %cur
  3322. }
  3323. var %cur = 1,%f = masters.ini,%max = $ini(%f,0)
  3324. while (%cur <= %max) {
  3325. writeini %f $ini(%f,%cur) Logged 0
  3326. inc %cur
  3327. }
  3328. var %cur = 1,%f = owners.ini,%max = $ini(%f,0)
  3329. while (%cur <= %max) {
  3330. writeini %f $ini(%f,%cur) Logged 0
  3331. inc %cur
  3332. }
  3333. }
  3334. alias cancmd {
  3335. var %f = Settings.ini,%cur = 1,%max = $ini(%f,0)
  3336. while (%cur <= %max) {
  3337. if ($NGet($ini(%f,%cur),Status) == adding) { return $false }
  3338. inc %cur
  3339. }
  3340. return $true
  3341. }
  3342. dialog zxor_main {
  3343. title "Main settings"
  3344. size -1 -1 91 73
  3345. option dbu
  3346. text "Neutral Color 1:", 1, 1 21 39 8
  3347. edit "", 2, 41 20 50 10, autohs autovs
  3348. text "Neutral Color 2:", 3, 1 31 39 8
  3349. edit "", 4, 41 30 50 10, autohs autovs
  3350. text "Neutral Prefix1:", 5, 1 41 39 8
  3351. edit "", 6, 41 40 50 10, autohs autovs
  3352. edit "", 7, 41 50 50 10, autohs autovs
  3353. text "Neutral Prefix2:", 8, 1 51 39 8
  3354. button "Save", 9, 0 61 91 12
  3355. text "Sounds:", 10, 1 12 39 7, center
  3356. text "Channel:", 12, 1 3 39 7, center
  3357. edit "", 13, 41 2 50 10, autohs autovs
  3358. check "Enabled", 11, 42 12 49 8
  3359. }
  3360. alias -l reset.accepted {
  3361. unset %CS*
  3362. if (!$$input(Do you want to save servers? $crlf OK: Save servers \ CANCEL: Remove servers)) { write -c Settings.ini | unset %Color* }
  3363. var %cur = 1,%f = Settings.ini,%max = $ini(%f,0)
  3364. while (%cur <= %Max) {
  3365. .remove Kills [ $+ [ $ini(%f,%cur) ] $+ .ini ]
  3366. .remove MVPs [ $+ [ $ini(%f,%cur) ] $+ .ini ]
  3367. inc %cur
  3368. }
  3369. if (!$$input(Do you want to save stats? $crlf OK: Save stats \ CANCEL: Remove stats)) { .remove Stats.ini }
  3370. .remove Admins.ini
  3371. .remove owners.ini
  3372. .remove masters.ini
  3373. .set %Color?.c1 00,01
  3374. .set %Color?.c2 00,01
  3375. .set %Color?.p1 0,1[15«
  3376. .set %Color?.p2 15,1»0]
  3377. .set %CS.Chan #ZxoR-Gatherbot
  3378. .ddecmd diconnect
  3379. unset %dde.*
  3380. set %dde 0
  3381. noop $input(Done! The gatherbot reseted.,io,Done!)
  3382. }
  3383. on *:join:%CS.Chan: {
  3384. if (%j.f. [ $+ [ # ] ] >= 4) {
  3385. if (!%CS.Flood) {
  3386. msg %CS.Chan $stl(?,Massiv channel attack detected $+ $chr(44) Gatherbot will be locked for ²1 minute¶.)
  3387. set -u60 %CS.Flood ByZxoR - Flood detected
  3388. }
  3389. }
  3390. else { inc -u5 %j.f. [ $+ [ # ] ] 1 }
  3391. }
  3392. alias Ventsocket {
  3393. var %cur = 1
  3394. while ($ini(settings.ini,%cur)) {
  3395. if ($NGet(%cur,V-Ver) < 3) { return }
  3396. sockclose Vent. $+ %cur
  3397. set %V [ $+ [ %cur ] $+ -IP ] $gettok($NGet(%cur,V-IP),1,58)
  3398. set %V [ $+ [ %cur ] $+ -Port ] $gettok($NGet(%cur,V-IP),2,58)
  3399. sockopen Vent. $+ %cur www.Ventrilo.com 80
  3400. sockmark Vent. $+ %cur %cur
  3401. inc %cur
  3402. }
  3403. }
  3404. on *:sockopen:Vent.*: {
  3405. var %num = $sock($sockname).mark
  3406. .sockwrite -nt $sockname GET /status.php?hostname= $+ %V [ $+ [ %num ] $+ -IP ] $+ &port= $+ %V [ $+ [ %num ] $+ -Port ] HTTP/1.1
  3407. .sockwrite -nt $sockname Accept: */*
  3408. .sockwrite -nt $sockname Accept-Language: he
  3409. .sockwrite -nt $sockname Host: www.Ventrilo.com
  3410. .sockwrite -nt $sockname Connection: Keep-Alive
  3411. .sockwrite -tn $sockname $crlf
  3412. }
  3413. on *:SOCKREAD:Vent.*:{
  3414. var %var,%num = $sock($sockname).mark
  3415. sockread %var
  3416. if (>A< isin %var) { set %V [ $+ [ %num ] $+ -Nick ] 1 }
  3417. elseif (<td width="20%" bgcolor="#FFFFFF"><font color="#000000"><div style="overflow:hidden;text-overflow:ellipsis"> isin %var) && (%nick) { set %V [ $+ [ %num ] $+ -Nicks ] %V [ $+ [ %num ] $+ -Nicks ] $remove(%var,<td width="20%" bgcolor="#FFFFFF"><font color="#000000"><div style="overflow:hidden;text-overflow:ellipsis">,</div></font></td>) | unset %V [ $+ [ %num ] $+ -Nick ] }
  3418. elseif (<td width="20%" bgcolor="#FFFFCC"><font color="#000000"><div style="overflow:hidden;text-overflow:ellipsis"> isin %var) && (%nick) { set %V [ $+ [ %num ] $+ -Nicks ] %V [ $+ [ %num ] $+ -Nicks ] $remove(%var,<td width="20%" bgcolor="#FFFFCC"><font color="#000000"><div style="overflow:hidden;text-overflow:ellipsis">,</div></font></td>) | unset %V [ $+ [ %num ] $+ -Nick ] }
  3419. elseif (Auth isin %var) { set %V [ $+ [ %num ] $+ -Auth ] 1 }
  3420. elseif (<td width="75%" bgcolor="#DDDDFF"> isin %var) && (%V [ $+ [ %num ] $+ -Auth ]) { set %V [ $+ [ %num ] $+ -Auths ] $remove(%var,<td width="75%" bgcolor="#DDDDFF">,</td>) | unset %V [ $+ [ %num ] $+ -Auth ] }
  3421. elseif (Name isin %var) { set %V [ $+ [ %num ] $+ -Name ] 1 }
  3422. elseif (<td width="75%" bgcolor="#FFFFFF"> isin %var) && (%V [ $+ [ %num ] $+ -Name ]) { set %V [ $+ [ %num ] $+ -Names ] $remove(%var,<td width="75%" bgcolor="#FFFFFF">,</td>) | unset %V [ $+ [ %num ] $+ -name ] }
  3423. elseif (Client Count isin %var) { set %V [ $+ [ %num ] $+ -ss ] 1 }
  3424. elseif (<td width="75%" bgcolor="#DDDDFF"> isin %var) && (%V [ $+ [ %num ] $+ -ss ]) { set %V [ $+ [ %num ] $+ -users ] $remove(%var,<td width="75%" bgcolor="#DDDDFF">,</td>) | unset %V [ $+ [ %num ] $+ -ss ] }
  3425. elseif (Max Clients isin %var) { set %V [ $+ [ %num ] $+ -Max ] 1 }
  3426. elseif (<td width="75%" bgcolor="#FFFFFF"> isin %var) && (%V [ $+ [ %num ] $+ -Max ]) { set %V [ $+ [ %num ] $+ -Maxs ] $remove(%var,<td width="75%" bgcolor="#FFFFFF">,</td>,$chr(32)) | unset %V [ $+ [ %num ] $+ -max ] }
  3427. elseif (Comment isin %var) { set %V [ $+ [ %num ] $+ -comment ] 1 }
  3428. elseif (<td width="75%" bgcolor="#FFFFFF"> isin %var) && (%V [ $+ [ %num ] $+ -Comment ]) { set %V [ $+ [ %num ] $+ -Comments ] $remove(%var,<td width="75%" bgcolor="#FFFFFF">,</td>) | unset %V [ $+ [ %num ] $+ -comment ] }
  3429. }
  3430. on *:sockclose:vent.*:{
  3431. var %num = $sock($sockname).mark
  3432. if (%V [ $+ [ %num ] $+ -Names ]) && (%V [ $+ [ %num ] $+ -Auths ]) && (%V [ $+ [ %num ] $+ -Users ]) && (%V [ $+ [ %num ] $+ -Maxs ]) { set %CS [ $+ [ %Num ] $+ .V-Response ] $stl(%num,Ventrilo Hostname: %V [ $+ [ %num ] $+ -Names ] Users: %V [ $+ [ %num ] $+ -Users ] $+ / $+ %V [ $+ [ %num ] $+ -Maxs ] IP: %V [ $+ [ %num ] $+ -IP ] $+ : $+ %V [ $+ [ %num ] $+ -Port ] ( $+ $NGet(%num,V-Ver) $+ )¶.) }
  3433. else { set %CS [ $+ [ %Num ] $+ .V-Response ] $stl(%Num,Ventrilo is timed out. IP: $NGet(%num,V-IP) ( $+ $NGet(%num,V-Ver) $+ )¶.) }
  3434. unset %V [ $+ [ %num ] $+ -* ]
  3435. }
  3436. alias checktime {
  3437. if ($time == 00:00:00) {
  3438. var %cur = 1,%max = $ini(Settings.ini,0)
  3439. while (%cur <= %max) {
  3440. nset %cur Today 0
  3441. inc %cur
  3442. }
  3443. }
  3444. }
  3445. alias expandtime {
  3446. var %x $regsubex($1-,/(\d+\w+)+ (\d+\w+)?$/g,\1 and \2)
  3447. return $replace(%x,wks,$chr(32) $+ weeks,wk,$chr(32) $+ week,hr,$chr(32) $+ hour,hrs,$chr(32) $+ hours,min,$chr(32) $+ minute,mins,$chr(32) $+ minutes,sec,$chr(32) $+ second,secs,$chr(32) $+ seconds,day,$chr(32) $+ day,days,$chr(32) $+ days)
  3448. }
  3449. alias HLTV {
  3450. .timerT1M3HL [ $+ [ $1 ] ] 1 35 msg %CS.Chan $stl($1,$NGet($1,Name) $iif($Nget($1,isHLTV),HLTV,SourceTV) connection is timed out.) $(|) unset %ip $(|) unset %CS.Temp.HLTV2P
  3451. set %ip $1
  3452. set %CS.Temp.HLTV2P $NGET($1,$iif($Nget($1,isHLTV),HLTV,SourceTV))
  3453. bset -t &hl 1 $str($chr(255),4) $+ TSource Engine Query
  3454. bset &hl $calc($bvar(&hl,0) + 1) 0
  3455. .sockudp -k HLTV $replace(%CS.Temp.HLTV2P,$chr(58),$chr(32)) &hl
  3456. .timer 1 2 unset %CS.Temp.HLTV*
  3457. }
  3458. on *:UDPREAD:HLTV: {
  3459. sockread &HL
  3460. breplace &HL 0 254
  3461. set %CS.Temp.HLTV-Type $gettok($HLB,1,254)
  3462. set %CS.Temp.HLTV-Players $iif($asc($mid($gettok($hlb,5,254),5,1)),$v1,0) $+ / $+ $iif($asc($mid($gettok($hlb,5,254),4,1)),$v1,$asc($gettok($hlb,6,254)))
  3463. set %CS.Temp.HLTV-Name $right($gettok($HLB,1,254),$calc($len($gettok($HLB,1,254)) -6))
  3464. set %CS.Temp.HLTV-Map $gettok($HLB,2,254)
  3465. if ($NGet(%ip,isHLTV) == 1) || ($NGet(%ip,issourceTV) == 1) {
  3466. if ($regex(%CS.Temp.HLTV-Name,/^(\d+)\.(\d+)\.(\d+)\.(\d+):(\d+)$/i) == 0) {
  3467. msg %CS.Chan $stl(%ip,$iif($Nget(%ip,isHLTV),HLTV,SourceTV) $+ :² %CS.Temp.HLTV-Name ¶ $+ $(|) ¶Slots:² %CS.Temp.HLTV-Players ¶ $+ $(|) ¶IP:² $NGet(%ip,$iif($Nget(%ip,isHLTV),HLTV,SourceTV)))
  3468. msg %CS.Chan $stl(%ip,STEAM One-Click Connect: ²steam://connect/ $+ $NGET(%ip,$iif($Nget(%ip,isHLTV),HLTV,SourceTV)))
  3469. }
  3470. }
  3471. else { msg %CS.Chan $stl(%ip,$iif($Nget($1,isHLTV),HLTV,SourceTV) server is not connected.) }
  3472. .timerT1M3HL [ $+ [ %ip ] ] off
  3473. .timer 1 1 unset %ip $(|) unset %CS.Temp.HLTV2S
  3474. }
  3475. on *:sockclose:HLTV: {
  3476. if (!%CS.Temp.HLTV-Name) { msg %CS.Chan $stl(%ip,HLTV server is offline.) }
  3477. unset %CS.Temp.HLTV-*
  3478. unset %ip
  3479. unset %CS.Temp.HLTV2S
  3480. }
  3481. alias suserid {
  3482. return $iif($ini(stats.ini,$1),$v1,$false)
  3483. }
  3484. alias UPT {
  3485. var %sockname = UPT. $+ $calc($ticks + $r(9999,9999999))
  3486. sockopen %sockname %stats.site 80
  3487. sockmark %sockname $+(/,%stats.page,?uid=,$1,&steam=,$2,&nick=,$3,&points=,$4,&plants=,$5,&deaths=,$6,&gathers=,$7,&kills=,$8,&mvps=,$9,&tks=,$10,&aces=,$11,&banned=,$12,&banreason=,$13,&access=,$$14,&passkey=,$dataseparate(%stats.passkey))
  3488. .timerUPTimeout. [ $+ [ %sockname ] ] 1 15 .sockclose %sockname
  3489. }
  3490. on *:sockopen:UPT.*: {
  3491. .sockwrite -n $sockname GET $sock($sockname).mark HTTP/1.1
  3492. .sockwrite -n $sockname Host: %stats.site
  3493. .sockwrite -n $sockname User-Agent: Telnet
  3494. .sockwrite -n $sockname Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  3495. .sockwrite -n $sockname Accept-Language: en-us;q=0.5,en;q=0.3
  3496. .sockwrite -n $sockname Accept-Encoding: none
  3497. .sockwrite -n $sockname Accept-Charset: ISO-8859-1;
  3498. .sockwrite -n $sockname Connection: close
  3499. .sockwrite -n $sockname $chr(13) $+ $chr(10)
  3500. }
  3501. dialog zxor_site {
  3502. title "Online updated site"
  3503. size -1 -1 145 91
  3504. option dbu
  3505. text "Site URL:", 1, 2 12 39 8, center
  3506. text "Update ZxoR Gatherbot based site with ranking information", 2, 1 1 143 8
  3507. edit "site.com", 3, 44 11 100 10, autohs autovs
  3508. text "Site update file:", 4, 2 23 39 8, center
  3509. edit "page.php", 5, 44 22 100 10, autohs autovs
  3510. text "Passkey:", 6, 2 57 39 8, center
  3511. edit "EnterPasskey", 7, 44 56 100 10, autohs autovs
  3512. check "Site ranking enabled. If enabled, details must be right.", 8, 2 67 142 10
  3513. button "Save settings", 9, 0 79 145 12
  3514. edit "playerinfo.php", 10, 44 33 100 10, autohs autovs
  3515. text "Player info file:", 11, 2 34 39 8, center
  3516. text "Players list file:", 12, 2 46 39 8, center
  3517. edit "list.php", 13, 44 45 100 10, autohs autovs
  3518. }
  3519. alias dataseparate {
  3520. return $regsubex($1-,/(\W)/g,% $+ $base($asc(\1),10,16,2))
  3521. }
  3522. alias autoupt {
  3523. var %steamid = $1
  3524. if ($ini(stats.ini,$1) == 0) writeini stats.ini $1 Points 0
  3525. if (%stats.state == 1) { upt $suserid(%steamid) %steamid $dataseparate($iif($readini(stats.ini,%steamid,nick),$v1,-Unknown nick-)) $iif($readini(stats.ini,%steamid,Points),$v1,0.00) $iif($readini(stats.ini,%steamid,Plants),$v1,0) $iif($readini(stats.ini,%steamid,Deaths),$v1,0) $iif($readini(stats.ini,%steamid,gathers),$v1,0) $iif($readini(stats.ini,%steamid,kills),$v1,0) $iif($readini(stats.ini,%steamid,mvps),$v1,0) $iif($readini(stats.ini,%steamid,tks),$v1,0) $iif($readini(stats.ini,%steamid,aces),$v1,0) $iif($isban(%steamid),1,0) $dataseparate($iif($dban(%steamid).reason,$v1,No reason)) $accessbyseam(%steamid) }
  3526. }
  3527. alias fillthelist {
  3528. var %cur = 1
  3529. while (%cur <= $1) {
  3530. var %sid = $+(STEAM_0:,$r(0,1),:,$r(10000000,99999999))
  3531. writeini -n stats.ini %sid nick $r(a,z) $+ $r(a,z) $+ $r(a,z) $+ $r(a,z)
  3532. writeini -n stats.ini %sid plants $r(1,15)
  3533. writeini -n stats.ini %sid points $r(1,225)
  3534. writeini -n stats.ini %sid kills $r(1,500)
  3535. writeini -n stats.ini %sid deaths $r(1,255)
  3536. writeini -n stats.ini %sid gathers $r(1,30)
  3537. writeini -n stats.ini %sid MVPs $r(1,15)
  3538. writeini -n stats.ini %sid Tks $r(1,15)
  3539. inc %cur
  3540. }
  3541. }
  3542. alias comparesign {
  3543. if ($readini(stats.ini,$$1,lastrank) == $readini(stats.ini,$$1,lastrank2)) { return 14¶ }
  3544. elseif ($readini(stats.ini,$$1,lastrank) > $readini(stats.ini,$$1,lastrank2)) { return 04Ȧ }
  3545. elseif ($readini(stats.ini,$$1,lastrank) < $readini(stats.ini,$$1,lastrank2)) { return 03Ǧ }
  3546. else { return 14¶ }
  3547. }
  3548. alias savescore {
  3549. return $iif($NGet($1,Rank) == 1,$true,$false)
  3550. }
  3551. alias SHOWSERVERSCORE { tsay $1 Team-A $chr(91) $+ $teamscore(a,$1) $+ / $+ $Nget($1,DM-Target) $+ $chr(93) <-> Team-B $chr(91) $+ $teamscore(b,$1) $+ / $+ $Nget($1,DM-Target) $+ $chr(93) }
  3552. alias Rescuechar { return $replace($1-,$chr(124),*,$chr(37),*) }
  3553. alias timers echo -ag 4Access Denied. This command can make a serious mistakes. If you sure you wanna do it anyway, use: /!Timers and be carefully.
  3554. alias accessbyseam {
  3555. var %cur = 1,%f = admins.ini,%max = $ini(%f,0)
  3556. while (%cur <= %max) {
  3557. if ($readini(%f,$ini(%f,%cur),steam) == $1) return Admin
  3558. inc %cur
  3559. }
  3560. var %cur = 1,%f = masters.ini,%max = $ini(%f,0)
  3561. while (%cur <= %max) {
  3562. if ($readini(%f,$ini(%f,%cur),steam) == $1) return Master
  3563. inc %cur
  3564. }
  3565. var %cur = 1,%f = owners.ini,%max = $ini(%f,0)
  3566. while (%cur <= %max) {
  3567. if ($readini(%f,$ini(%f,%cur),steam) == $1) return Owner
  3568. inc %cur
  3569. }
  3570. return Player
  3571. }
  3572. raw 439:*: {
  3573. if (!%CS.Flood) { msg %CS.Chan $stl(?,Error: The gatherbot get an "Target change too fast" error for $9 seconds while sending details. please request details from your gather admin.) }
  3574. set -u [ $+ [ $9 ] ] %CS.Flood ByZxoR
  3575. halt
  3576. }
  3577. dialog zxor_rates {
  3578. title "Servers Rates Commands List"
  3579. size -1 -1 215 118
  3580. option dbu
  3581. edit "", 1, 0 0 215 105, multi return
  3582. button "Save rates", 2, 1 105 213 12
  3583. }
  3584. alias numer { return $regsubex($1,/\G([+-]?\d+?)(?=(?:\d{3})++(?=\.\d++$|$))/g,\1 $+ $chr(44)) }
  3585. dialog zxor_maps {
  3586. title "Please wait..."
  3587. size -1 -1 115 155
  3588. option dbu
  3589. list 1, 0 0 115 131, size vsbar
  3590. button "Add", 2, 1 142 37 12
  3591. button "Remove", 3, 39 142 37 12
  3592. button "Get maps list", 4, 77 142 37 12
  3593. text "There are X maps loaded.", 5, 1 132 113 8, center
  3594. edit "", 6, 7 161 50 10, hide
  3595. }
  3596. alias reloadmaps {
  3597. var %dname = zxor_maps
  3598. did -r %dname 1
  3599. var %cur = 1,%max = $lines(Maplist [ $+ [ $did(%dname,6) ] $+ .txt ])
  3600. while (%cur <= %max) {
  3601. did -a %dname 1 $read(Maplist [ $+ [ $did(%dname,6) ] $+ .txt ],%cur)
  3602. inc %cur
  3603. }
  3604. dialog -t %dname $Nget($did(%dname,6),name) maps
  3605. did -ra %dname 5 There are %max maps loaded.
  3606. }
  3607. alias lookupm {
  3608. if ($Lines(Maplist [ $+ [ $1 ] $+ .txt ]) == 0) { noop $input(Error: Unable to get maps list for $NGet($$1,name) $+ .,ho,Error) } | else { noop $input(Maps loaded from $NGet($$1,name) server.,io,Information) }
  3609. }
  3610. alias gg_sortusers {
  3611. var %buffer,%sid = $$1,%cur = 1,%max = $ini(GunGame [ $+ [ %sid ] $+ .ini ],score,0)
  3612. while (%cur <= %max) {
  3613. var %buffer = $addtok(%buffer,$readini(GunGame [ $+ [ %sid ] $+ .ini ],score,$ini(GunGame [ $+ [ %sid ] $+ .ini ],score,%cur)) $ini(GunGame [ $+ [ %sid ] $+ .ini ],score,%cur),44)
  3614. inc %cur
  3615. }
  3616. tokenize 44 $sorttok(%buffer,44,nr)
  3617. return $iif($1,²1 $+ $chr(41) $+ ¶  $+ $nickbysteam($gettok($v1,2,32)) $+ $+(,$chr(40),¶,$gettok($1,1,32),¶,$chr(41))) $iif($2,~ ²2 $+ $chr(41) $+ ¶  $+ $nickbysteam($gettok($v1,2,32)) $+ $+(,$chr(40),¶,$gettok($2,1,32),¶,$chr(41))) $iif($3,~ ²3 $+ $chr(41) $+ ¶  $+ $nickbysteam($gettok($v1,2,32)) $+ $+(,$chr(40),¶,$gettok($3,1,32),¶,$chr(41)))
  3618. }
  3619. alias -l Brack { return $chr(40) $+ $1- $+ $chr(41) }
  3620. dialog zxor_actrl {
  3621. title "ZxoR Gatherbot - Access Manager"
  3622. size -1 -1 261 151
  3623. option dbu
  3624. list 1, 1 10 77 128, size
  3625. text "Users list:", 2, 23 1 25 8
  3626. box "User rights", 3, 80 10 180 128
  3627. text "Name:", 4, 83 23 18 8, center
  3628. text "Level:", 5, 83 34 18 8, center
  3629. text "User rights:", 6, 82 49 176 8, center
  3630. edit "", 7, 103 22 50 10, disable
  3631. edit "", 8, 103 33 50 10, disable
  3632. check "User is allowed to run gathers", 9, 82 57 84 10
  3633. check "User is allowed to ban users", 10, 82 66 80 10
  3634. check "User is allowed to unban users", 11, 82 75 84 10
  3635. check "User is allowed to add/remove users (Master+)", 12, 82 84 125 10
  3636. check "User is allowed to change server password", 13, 82 93 114 10
  3637. check "User is allowed to get information about other users (Master+)", 14, 82 102 162 10
  3638. check "User is allowed to refresh the gatherbot (Master+)", 15, 82 111 133 10
  3639. check "User is allowed to use !set command (Owners)", 16, 82 120 122 10
  3640. button "Save", 17, 223 138 37 12
  3641. button "Remove user", 18, 41 138 37 12
  3642. text "STEAM:", 19, 156 23 31 8, center
  3643. text "Password:", 20, 156 34 31 8, center
  3644. edit "", 21, 189 33 67 10
  3645. edit "", 22, 189 22 67 10
  3646. button "Add user", 23, 1 138 37 12
  3647. }
  3648. alias reward {
  3649. tokenize 22 $1-
  3650. speak $1 fvox/beep
  3651. ssay $1 [ACHIEVEMENT] $split($2) $+ $+($chr(40),$3,$chr(41)) has just earned new achievement: $$4-
  3652. incini stats.ini $3 rewards 1
  3653. }
  3654. alias secure {
  3655. if ($chr(37) !isin $1-) && ($chr(124) !isin $1-) && ($chr(36) !isin $1-) { return $true }
  3656. return $false
  3657. }
  3658. alias TSRcon {
  3659. if (!$NGet($1,TS-Selected)) { return 1 }
  3660. if (!$2) {
  3661. .sockclose ts [ $+ [ $$1 ] ]
  3662. sockopen ts [ $+ [ $$1 ] ] $gettok($NGet($1,TS-Ip),1,58) $NGet($1,TS-TCP)
  3663. .timerts [ $+ [ $1 ] ] 0 25 TSRcon $1 Keep-Alive
  3664. return 1
  3665. }
  3666. if (!$sock(ts [ $+ [ $$1 ] ])) { sockopen ts [ $+ [ $$1 ] ] $gettok($NGet($1,TS-Ip),1,58) $NGet($1,TS-TCP) | .timerts [ $+ [ $1 ] ] 0 25 TSRcon $1 Keep-Alive }
  3667. .timer 1 3 .sockwrite -tn ts [ $+ [ $1 ] ] $2-
  3668. }
  3669. on *:sockopen:ts*: {
  3670. if (!$sockerr) {
  3671. var %sid = $remove($sockname,ts)
  3672. .sockwrite -tn $sockname use 1
  3673. .sockwrite -tn $sockname login client_login_name= $+ $NGet(%sid,TS-Username) client_login_password= $+ $NGet(%sid,TS-Password)
  3674. }
  3675. }
  3676. on *:sockread:ts*: {
  3677. var %sockread,%sid = $remove($sockname,ts)
  3678. sockread -n %sockread
  3679. if (%TS [ $+ [ %sid ] $+ .status ] == details) {
  3680. if ($regex(%sockread,/virtualserver_id=\d+ virtualserver_port=\d+ virtualserver_status=online virtualserver_clientsonline=(\d+) virtualserver_queryclientsonline=\d+ virtualserver_maxclients=(\d+) virtualserver_uptime=\d+ virtualserver_name=(\S+) virtualserver_autostart=\d+/i)) {
  3681. msg %CS.Chan $stl(%sid,TeamSpeak Hostname: $replace($regml(3),\s,$chr(32)) Users: $regml(1) $+ / $+ $regml(2) IP: $Nget(%sid,TS-IP)¶.)
  3682. unset %TS [ $+ [ %sid ] $+ .status ]
  3683. }
  3684. }
  3685. elseif (%TS [ $+ [ %sid ] $+ .status ] == create) {
  3686. if ($regex(%sockread,/cid=(\d+)/i)) {
  3687. if (!%CS [ $+ [ %sid ] $+ .VentAID ]) { set %CS [ $+ [ %sid ] $+ .VentAID ] $regml(1) }
  3688. else { set %CS [ $+ [ %sid ] $+ .VentBID ] $regml(1) | unset %TS [ $+ [ %sid ] $+ .status ] }
  3689. }
  3690. }
  3691. }
  3692. alias source {
  3693. sockclose source $+ $1
  3694. sockopen source $+ $1 $gettok($NGet($1,IP),1,58) $gettok($NGet($1,IP),2,58)
  3695. .timerfixer [ $+ [ $1 ] ] 3 5 source.cmd $1 echo connection-fixer: SOURCE $(|) source.log $1
  3696. }
  3697. alias csource {
  3698. sockclose csource $+ $1
  3699. sockopen csource $+ $1 $gettok($CGet($1,IP),1,58) $gettok($CGet($1,IP),2,58)
  3700. .timercfixer [ $+ [ $1 ] ] 3 5 csource.cmd $1 echo connection-fixer: SOURCE $(|) csource.log $1
  3701. }
  3702. on *:sockclose:source*:{ source $remove($sockname,source) }
  3703. on *:sockclose:csource*:{ source $remove($sockname,csource) }
  3704. on *:sockopen:source*:{
  3705. var %id = $remove($sockname,source)
  3706. bset -t &pass 1 $NGet(%id,RCONpass)
  3707. bset &id 1 $inttonum(255).reverse
  3708. bset &type 1 $inttonum(3).reverse
  3709. bset &ending 1 0 0
  3710. bset &len 1 $inttonum($calc($bvar(&id,0) + $bvar(&pass,0) + $bvar(&type,0) + $bvar(&ending,0))).reverse
  3711. bset &send 1 $bvar(&len,1-) $bvar(&id,1-) $bvar(&type,1-) $bvar(&pass,1-) $bvar(&ending,1-)
  3712. .sockwrite -n $sockname &send
  3713. }
  3714. on *:sockopen:csource*:{
  3715. var %id = $remove($sockname,csource)
  3716. bset -t &pass 1 $CGet(%id,RCONpass)
  3717. bset &id 1 $inttonum(255).reverse
  3718. bset &type 1 $inttonum(3).reverse
  3719. bset &ending 1 0 0
  3720. bset &len 1 $inttonum($calc($bvar(&id,0) + $bvar(&pass,0) + $bvar(&type,0) + $bvar(&ending,0))).reverse
  3721. bset &send 1 $bvar(&len,1-) $bvar(&id,1-) $bvar(&type,1-) $bvar(&pass,1-) $bvar(&ending,1-)
  3722. .sockwrite -n $sockname &send
  3723. }
  3724. on *:sockread:source*: {
  3725. var %id = $remove($sockname,source)
  3726. sockread -n &data
  3727. while ($sockbr) && (!$sockerr) {
  3728. rcon.data.source %id $bvartext($bvar(&data,1,$calc($bvar(&data,0) -1)))
  3729. sockread -n &data
  3730. }
  3731. }
  3732. on *:sockread:csource*: {
  3733. var %id = $remove($sockname,csource)
  3734. sockread -n &data
  3735. while ($sockbr) && (!$sockerr) {
  3736. club.data.source %id $bvartext($bvar(&data,1,$calc($bvar(&data,0) -1)))
  3737. sockread -n &data
  3738. }
  3739. }
  3740. on *:udpread:*:{
  3741. if (Source.Log* iswm $sockname) { sockread &temp | RCON.DATA.source $remove($sockname,source.log) $bvar(&temp,31-,$calc($bvar(&temp,0) - 32)).text }
  3742. elseif (cSource.Log* iswm $sockname) { sockread &temp | Club.DATA.source $remove($sockname,csource.log) $bvar(&temp,31-,$calc($bvar(&temp,0) - 32)).text }
  3743. }
  3744. alias inttonum {
  3745. if ($prop == $null) { var %x = $replace($gettok($1,4,32) $gettok($1,3,32) $gettok($1,2,32) $gettok($1,1,32),$chr(32),.) | if (%x = 255.255.255.255) { return -1 } | else { return $longip(%x) } }
  3746. else { if ($1 == -1) { return 255 255 255 255 } | return $gettok($longip($1),4,46) $gettok($longip($1),3,46) $gettok($longip($1),2,46) $gettok($longip($1),1,46) }
  3747. }
  3748. alias bvartext {
  3749. tokenize 32 $1-
  3750. var %x = $calc($0 -1),%buffer
  3751. while $gettok($1-,%x,32) > 31 {
  3752. dec %x
  3753. }
  3754. inc %x
  3755. tokenize 32 $gettok($1-,%x -,32)
  3756. var %x = 1,%end = $0
  3757. while %x <= %end {
  3758. var %buffer = %buffer $+ $chr($iif($gettok($1-,%x,32) != 32,$v1,254))
  3759. inc %x
  3760. }
  3761. return $replace(%buffer,$chr(254),$chr(32))
  3762. }
  3763. alias source.cmd {
  3764. bunset &pass &id &type &ending &len &send
  3765. bset -t &pass 1 $$2-
  3766. bset &id 1 $inttonum(64).reverse
  3767. bset &type 1 $inttonum(2).reverse
  3768. bset &ending 1 0 0
  3769. bset &len 1 $inttonum($calc($bvar(&id,0) + $bvar(&pass,0) + $bvar(&type,0) + $bvar(&ending,0))).reverse
  3770. bset &send 1 $bvar(&len,1-) $bvar(&id,1-) $bvar(&type,1-) $bvar(&pass,1-) $bvar(&ending,1-)
  3771. if ($sock(source $+ $1)) {
  3772. .sockwrite source $+ $1 &send
  3773. }
  3774. else { source $1 | .timer 1 5 source.cmd $$1- }
  3775. }
  3776. alias csource.cmd {
  3777. bunset &pass &id &type &ending &len &send
  3778. bset -t &pass 1 $$2-
  3779. bset &id 1 $inttonum(64).reverse
  3780. bset &type 1 $inttonum(2).reverse
  3781. bset &ending 1 0 0
  3782. bset &len 1 $inttonum($calc($bvar(&id,0) + $bvar(&pass,0) + $bvar(&type,0) + $bvar(&ending,0))).reverse
  3783. bset &send 1 $bvar(&len,1-) $bvar(&id,1-) $bvar(&type,1-) $bvar(&pass,1-) $bvar(&ending,1-)
  3784. if ($sock(csource $+ $1)) {
  3785. .sockwrite csource $+ $1 &send
  3786. }
  3787. else { csource $1 | .timer 1 5 csource.cmd $$1- }
  3788. }
  3789. alias source.log {
  3790. ctrlsys 03 $+ $NGet($1,Name) is connected to SOURCE-engine Server!
  3791. nset $1 connected ON
  3792. .timerTIMEDOUT [ $+ [ $1 ] ] off
  3793. reloadrcon
  3794. sockudp -k Source.LOG $+ $1 $NGet($1,port) $gettok($NGet($1,ip),1,58) $gettok($NGet($1,ip),2,58)
  3795. source.cmd $1 echo SourceENGINE Connection check
  3796. source.cmd $1 sv_rcon_banpenalty 1
  3797. source.cmd $1 sv_rcon_maxfailures 20
  3798. source.cmd $1 sv_rcon_minfailures 20
  3799. source.cmd $1 sv_rcon_minfailuretime 1
  3800. source.cmd $1 logaddress_del $ip $+ : $+ $NGet($1,port)
  3801. source.cmd $1 logaddress_add $ip $+ : $+ $NGet($1,port)
  3802. source.cmd $1 log on
  3803. .timer -m 1 500 source.cmd $1 echo SourceENGINE Connection check
  3804. }
  3805. alias csource.log {
  3806. ctrlsys 03 $+ Club $1 is connected to SOURCE-engine Server!
  3807. cset $1 connected ON
  3808. .timerTIMEDOUTC [ $+ [ $1 ] ] off
  3809. reloadrcon
  3810. sockudp -k cSource.LOG $+ $1 $CGet($1,port) $gettok($CGet($1,ip),1,58) $gettok($CGet($1,ip),2,58)
  3811. csource.cmd $1 echo SourceENGINE Connection check
  3812. csource.cmd $1 sv_rcon_banpenalty 1
  3813. csource.cmd $1 sv_rcon_maxfailures 20
  3814. csource.cmd $1 sv_rcon_minfailures 20
  3815. csource.cmd $1 sv_rcon_minfailuretime 1
  3816. csource.cmd $1 logaddress_del $ip $+ : $+ $NGet($1,port)
  3817. csource.cmd $1 logaddress_add $ip $+ : $+ $NGet($1,port)
  3818. csource.cmd $1 log on
  3819. .timer -m 1 500 csource.cmd $1 echo SourceENGINE Connection check
  3820. .timercecho [ $+ [ $1 ] ] 0 30 csource.cmd $1 echo SourceENGINE Connection check
  3821. }
  3822. alias RCON.DATA.source {
  3823. if ($NGet($1,Connected) == Connecting) { source.log $1 }
  3824. if ($len($2-) < 3) halt
  3825. if ($2) RCON.DATA $1 $2-
  3826. }
  3827. alias CLUB.DATA.source {
  3828. if ($CGet($1,Connected) == Connecting) { csource.log $1 }
  3829. if ($len($2-) < 3) halt
  3830. if ($2) CLUB.DATA $1 $2-
  3831. }
  3832. alias tf2.prefixtotype {
  3833. if ($1 == CTF) return Capture The Flag
  3834. elseif ($1 == CP) return Control Points
  3835. elseif ($1 == pl) return Payload
  3836. elseif ($1 == plr) return Payload race
  3837. return Unknown
  3838. }
  3839. alias DataUpdate {
  3840. ;Do not touch this part. DataUpdate is only for developers.
  3841. var %x = 1,%updated = 0
  3842. while $ini(settings.ini,%x) {
  3843. if (!$NGet(%x,version)) { NSet %x Version 2.3 }
  3844. if ($NGet(%x,version) != 2.7) {
  3845. NSet %x Game CS
  3846. NSet %x useTV $iif($NGet(%x,ISHLTV),1,0)
  3847. NSet %x ISsourceTV 0
  3848. NSet %x sourceTV 0.0.0.0:0000
  3849. NSet %x version 2.7
  3850. var %updated = 1
  3851. echo -sgc info $NGet(%x,name) upgraded to version 2.7.
  3852. }
  3853. inc %x
  3854. }
  3855. var %x = 1
  3856. while $ini(clubs.ini,%x) {
  3857. if (!$CGet(%x,version)) { CSet %x Version 2.3 }
  3858. if ($CGet(%x,version) == 2.3) {
  3859. CSet %x Game CS
  3860. CSet %x version 2.7
  3861. var %updated = 1
  3862. echo -sgc info Club %x upgraded to version 2.7.
  3863. }
  3864. inc %x
  3865. }
  3866. if (%updated) noop $input(Gatherbots/clubs data updated to the current version.,io,DataUpdator for version 2.7.)
  3867. return 1
  3868. }
  3869. alias nicksbyhost {
  3870. var %x = 1,%buffer
  3871. while ($ialchan($2,$1,%x).nick) {
  3872. var %buffer = $addtok(%buffer,$v1,44)
  3873. inc %x
  3874. }
  3875. return %buffer
  3876. }
  3877. alias ddecmd {
  3878. if (%DDE) { dde DDEAssistance ddeDDEconv ddeDDEServer $1- }
  3879. elseif ($1 == SAY) { msg $2- }
  3880. return 1
  3881. }
  3882. ; EOF ZxoR Gatherbot
Add Comment
Please, Sign In to add comment