Gather Bot

Platform:  mIRC
Published  Jan 04, 2008
Updated  Jan 06, 2008
Gather Bot v1.0 - Scripter: jamaicanos
Contact: jamaicanos@x-radio.org
/ Next version coming soon ( more commands ) /

[----Bot commands----]


[-User Commands-]
*Gather Channel Main Commands*
*******************************
!add
!add a
!add b
!addme
!addme a
!addme b
!remove
!next
!last
!mystats
!getpass
!totalgames
!mystats
*******************************
[-Admin Commands-]
*Gather`s Private Channel Main*
*******************************
!queue
!setmenext
!delme
*******************************
[-Admin Commands-]
*/msg GatherBot`s nickname*
*******************************
!addgame ( if nick is first on queue list only. )
!ip <server_ip:server_port> ( if game is on & nick is game`s admin. )
!Password <server_password> ( if game is on & nick is game`s admin. )
!cancelgame
*******************************
[-Admin Commands-]
*Gather Channel main commands*
*******************************
!myadminstats ( must be an op )
!addtype <game`s type> ( If game is on & nick is game admin. )
!addmap <server`s map> ( If game is on & nick is game admin. )
!removeplayer ( If nick is game admin only. )
*******************************
[-Master Commands-]
*Private channel main commands*
*******************************
!cancelgame
*******************************
[-Master Commands-]
*/msg GatherBot`s nickname*
*******************************
!control <command> - EXAMPLE: !control quit bye bye ! or !control msg nickname Shut up !
!settopic <channel topic>
*******************************



on *:TEXT:!add:%channel:{
if (%add == enable) {
add
}
}

on *:TEXT:!addme:%channel:{
if (%add == enable) {
add
}
}


on *:TEXT:!add*a:%channel:{
if (%add == enable) {
checkteamsa
}
}

on *:TEXT:!addme*a:%channel:{
if (%add == enable) {
checkteamsa
}
}

on *:TEXT:!add*b:%channel:{
if (%add == enable) {
checkteamsb
}
}

on *:TEXT:!addme*b:%channel:{
if (%add == enable) {
checkteamsb
}
}

on *:TEXT:!remove:%channel:{ .msgremove }

on *:TEXT:!removeplayer*:%channel:{ if ($nick == %admin) && ($2 isincs %teama) { .set %teama $reptok(%teama,$2,?,1,32) | .dec %slots | .dec %slots1 | teams }
elseif ($nick == %admin) && ($2 isincs %teamb) { .set %teamb $reptok(%teamb,$2,?,1,32) | .dec %slots | .dec %slots2 | teams }
}


on *:TEXT:!teams:%channel:{
if (%add == enable) { teams }
else { .notice $nick ***GatherServicesBot***: There is no gather in progress. }
}

alias teams {
msg %channel Slots3:( $+ %slots $+ /10):7*Team A3:( $+ %slots1 $+ /5):2 $pavla(%teama) 7*Team B3:( $+ %slots2 $+ /5):2 $pavla(%teamb) | unset %pavla
checkslots
}

alias add {
if (($nick !isincs %teama) && ($nick !isincs %teamb)) { testslots }
else { .notice $nick ***GatherServicesBot***: You are already added. }
}

alias testslots {
if (%slots1 > %slots2) { add-b }
else { add-a }
}

alias add-a {
if (%slots1 != 5) {
.set %teama $reptok(%teama,?,$nick,1,32)
.inc %slots
.inc %slots1
.teams
}
}

alias add-b {
if (%slots2 != 5) {
.set %teamb $reptok(%teamb,?,$nick,1,32)
.inc %slots
.inc %slots2
.teams
}
}

alias checkteamsa {
if (($nick !isincs %teama) && ($nick !isincs %teamb)) { add-a }
else { .nickremove | add-a }
}

alias checkteamsb {
if (($nick !isincs %teama) && ($nick !isincs %teamb)) { add-b }
else { .nickremove | add-b }
}

alias nickremove {
if ($nick isincs %teama) { .set %teama $instok($remtok(%teama,$nick,1,32),?,5,32) | .dec %slots | .dec %slots1 }
elseif ($nick isincs %teamb) { .set %teamb $instok($remtok(%teamb,$nick,1,32),?,5,32) | .dec %slots | .dec %slots2 }
}

alias msgremove {
if ($nick isincs %teama) { .set %teama $instok($remtok(%teama,$nick,1,32),?,5,32) | .dec %slots | .dec %slots1 | teams }
elseif ($nick isincs %teamb) { .set %teamb $instok($remtok(%teamb,$nick,1,32),?,5,32) | .dec %slots | .dec %slots2 | teams }
else { .notice $nick ***GatherServicesBot***: You are not on the game. }
}

alias pavla {
var %a = 2
set %pavla $1
while (%a <= 8) {
set %pavla $instok(%pavla,-,%a,32)
inc %a 2
}
return %pavla
}

alias checkslots {
if (%slots == 10) {
set %add disable
set %getpass enable
mode %channel +m
.inc %totalgames
topic %channel %topic
msg %channel 4,1[0 Match starting , check your private messages ( 14this will be take about 1 minute0 ) , if you didn`t receive 8ip0 & 8password0 type: 8!getpass0 after -m channel mode. 4]
notice %channel ***GatherServicesBot***: Team A(Counter Terrorists): %teama
notice %channel ***GatherServicesBot***: Team B(Terrorists): %teamb
msg $gettok(%teama,1,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team A (Counter Terrorists) 4]
msg $gettok(%teama,2,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team A (Counter Terrorists) 4]
msg $gettok(%teama,3,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team A (Counter Terrorists) 4]
msg $gettok(%teama,4,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team A (Counter Terrorists) 4]
msg $gettok(%teama,5,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team A (Counter Terrorists) 4]
msg $gettok(%teamb,1,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team B (Terrorists) 4]
msg $gettok(%teamb,2,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team B (Terrorists) 4]
msg $gettok(%teamb,3,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team B (Terrorists) 4]
msg $gettok(%teamb,4,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team B (Terrorists) 4]
msg $gettok(%teamb,5,32) 4,1[0 IP:8 %ip 7-0 Password:8 %password 7-0 Connect to the server asap 7*0 You are in 8Team B (Terrorists) 4]
.inc %mystats. [ $+ [ $gettok(%teama,1,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teama,2,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teama,3,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teama,4,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teama,5,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teamb,1,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teamb,2,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teamb,3,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teamb,4,32) ] ]
.inc %mystats. [ $+ [ $gettok(%teamb,5,32) ] ]
.inc %gstats. [ $+ [ %admin ] ]
mode %channel -m
}
}

on 1:PART:%channel:{
if ($nick isincs %teama) { .set %teama $reptok(%teama,$nick,?,1,32) | .dec %slots | .dec %slots1 | teams }
elseif ($nick isincs %teamb) { .set %teamb $reptok(%teamb,$nick,?,1,32) | .dec %slots | .dec %slots2 | teams }
}

on 1:QUIT:%channel:{
if ($nick isincs %teama) { .set %teama $reptok(%teama,$nick,?,1,32) | .dec %slots | .dec %slots1 | teams }
elseif ($nick isincs %teamb) { .set %teamb $reptok(%teamb,$nick,?,1,32) | .dec %slots | .dec %slots2 | teams }
}

on *:TEXT:!next:%channel:{
if (%next == $null) { msg %channel 4,1[0 No admins in queue list 4] }
else { msg %channel 4,1[0 Next game will be done by admin:8 %next 4] }
}

on *:TEXT:!queue:%prive:{ showqueue }

on *:TEXT:!setmenext:%prive:{
if (%slots != 8) { checkqueue }
}

alias checkqueue {
if ($nick !isincs %queue) {
set %queue $reptok(%queue,?,$nick,1,32)
.inc %qslots
showqueue
checknext
}
}

on 1:PART:%prive:{
if ($nick isincs %queue) { qremove }
}

on 1:KICK:%prive:{
if ($knick isincs %queue) { qremove }
}

on 1:BAN:%prive:{
if ($bnick isincs %queue) { qremove }
}

on 1:QUIT:%prive:{
if ($nick isincs %queue) { qremove }
}

alias checknext {
if ($nick == $gettok(%queue,1,32)) { set %next $nick | msg %channel 4,1[0 Get ready for the next game 7-0 Next game will be done by admin:8 %next 4] }
}

alias showqueue {
msg %prive 4,1[0 Admins in Queue:3( $+ %qslots $+ /8):8 %queue 4]
}

on *:TEXT:!delme:%prive:{
if ($nick isincs %queue) { qremove }
else { .notice $nick ***GatherServicesBot***: You are not on Queue list.
}
}

alias qremove { set %queue $reptok(%queue,$nick,?,1,32) | .dec %qslots | showqueue | checkqnext }

alias checkqnext {
if ($nick == %next) { unset %next }
}

on *:TEXT:!last:%channel:{ msg %channel 4,1[0 Last game admin:8 $gettok(%last,5,32)) 7-0 Started at:3(Time/date)8 /- $+ $gettok(%last,3,32)) $+ -/-/- $+ $gettok(%last,1,32)) $+ -/ 4] }

on *:TEXT:!addgame:?:{
if (%add == disable) {
checkgame
}
}

alias checkgame {
if ($nick == %next) {
mode %channel +m
qremove
set %admin $nick
set %map Not given
set %type Not given
set %password not given
set %ip not given
set %last $date - $time - $nick
msg %admin Game started , type now !ip <server_ip:server_port> & !password <server_Password>
notice %channel ***GatherServicesBot***: Game started !
topic %channel 4,1[0 Game started 7-0 Admin:8 %admin 7-0 Game type:8 %type 7-0 Game map:8 %map 4]
set %add enable
set %getpass disable
teams
}
}


on *:text:!getpass:%channel:{
if ($nick isincs %teama) {
.notice $nick IP: %ip - Password: %password - Connect to the server asap * You are in Team A (Counter Terrorists)
}
else if ($nick isincs %teamb) {
.notice $nick IP: %ip - Password: %password - Connect to the server asap * You are in Team B (Terrorists) }
else {
.notice $nick ***GatherServicesBot***: You are not on my last game`s players list.
}
}

on *:TEXT:!cancelgame:?:{
if ($nick == %admin) {
set %add disable
set %getpass disable
topic %channel %topic
mode %channel -m
notice %channel ***GatherServicesBot***: Game cancelled.
unset %admin
}
}

on 30:TEXT:!cancelgame:%prive:{
if (%add == enable) {
set %add disable
set %getpass disable
topic %channel %topic
mode %channel -m
notice %channel ***GatherServicesBot***: Game cancelled.
unset %admin
}
}

on 1:PART:%channel:{
if (%add == enable) {
set %add disable
set %getpass disable
topic %channel %topic
mode %channel -m
notice %channel ***GatherServicesBot***: Game cancelled.
unset %admin
}
}

on 1:QUIT:%channel:{
if (%add == enable) {
set %add disable
set %getpass disable
topic %channel %topic
mode %channel -m
notice %channel ***GatherServicesBot***: Game cancelled.
unset %admin
}
}

on 1:OPEN:{ .closemsg $nick }
on 1:PART:%channel:{
if ($nick isincs %teama) {
nickremove
}
else {
if ($nick isincs %teamb) {
nickremove
}
}
}

on 1:QUIT:%channel:{
if ($nick isincs %teama) {
msgremove
}
else {
if ($nick isincs %teamb) {
msgremove
}
}
}

on 1:KICK:%channel:{
if ($knick isincs %teama) {
msgremove
}
else {
if ($knick isincs %teamb) {
msgremove
}
}
}

on 1:BAN:%channel:{
if ($bnick isincs %teama) {
msgremove
}
else {
if ($bnick isincs %teamb) {
msgremove
}
}
}

on 1:START:{
if (%csystem == off) {
.set %channel #$$?="Enter you Gather`s channel name please - without (#)"
.set %prive #$$?="Enter you Gather`s private channel name please (for admins) - without (#)"
.auser 5 $$?="Enter bot`s master nickname please"
.set %server $$?="Enter an IRC server (auto-reconnect if bot quits)"
.set %identify $$?="Enter bot`s identify password (NickServ type)"
.set %csystem on
}
}

on 1:START:{ dialog -md welcome welcome }

dialog welcome {
title "GatherBot v1.0 2008 - Scripted by: Jamaicanos"
size -1 -1 190 150
option dbu
text "GatherBot Script - Scripted by JamaicanoS", 1, 8 5 162 9, center
text "Contact: jamaicanos@x-radio.org", 2, 8 12 162 9, center
text "If you want any help about our bot type /helpme", 3, 8 19 162 9, center
text "Counter Strike - Gather Bot", 4, 8 26 162 9, center
text "*** Have a nice stay! ***", 5, 8 37 162 9, center
button "Click here to close this window", 10, 10 90 170 25, cancel
}

on 1:DISCONNECT:{
if (%csystem == on) {
.server %server
}
}

on 1:CONNECT:{
if (%csystem == on) {
/ns id %identify
/j %channel
/j %prive
}
}

on *:TEXT:!mystats:%channel:{
if (%mystats. [ $+ [ $nick ] ]) {
.notice $nick 4,1[0 You have play:8 $gettok(%mystats. [ $+ [ $nick ] ],1,32) 0games 4]
}
else { .notice $nick 4,1[0 No stats available for you. 4] }
}

on *:TEXT:!myadminstats:%channel:{
if ($nick isop %channel) { adminstats }
}

alias adminstats {
if (%gstats. [ $+ [ $nick ] ]) {
.notice $nick 4,1[0 You have create:8 $gettok(%gstats. [ $+ [ $nick ] ],1,32) 0gathers 4]
}
else { .notice $nick 4,1[0 No stats available for you. 4] }
}

on *:TEXT:!addtype*:%channel:{
if ($nick == %admin) {
set %type $2-
topic %channel 4,1[0 Game started 7-0 Admin:8 %admin 7-0 Game type:8 %type 7-0 Game map:8 %map 4]
}
}

on *:TEXT:!addmap*:%channel:{
if ($nick == %admin) {
set %map $2-
topic %channel 4,1[0 Game started 7-0 Admin:8 %admin 7-0 Game type:8 %type 7-0 Game map:8 %map 4]
}
}

on *:TEXT:!ip*:?:{
if ($nick == %admin) {
set %ip $2
msg $nick IP has been saved - (Current ip: %ip $+ ) }
}

on *:TEXT:!password*:?:{
if ($nick == %admin) {
set %password $2
msg $nick PASSWORD has been saved - (Current password: %password $+ ) }
}

on *:TEXT:!totalgames:%channel:{
msg %channel 4,1[0 Totalgames:8 %totalgames 4]
}

on 5:TEXT:!control*:?:{
. $+ $2-
}

on 5:TEXT:!settopic*:?:{
.set %topic $2-
}

on 1:LOAD:{
set %slots 0
set %slots1 0
set %slots2 0
set %qslots 0
set %teama ? ? ? ? ?
set %teamb ? ? ? ? ?
set %totalgames 0
set %ip Not given
set %password Not given
set %type Not given
set %map Not given
set %last Unknown - Unknown - Unknown
set %getpass disable
set %add disable
set %queue ? ? ? ? ? ? ? ?
}

Comments

Sign in to comment.
ellhnas   -  Sep 22, 2012
pos meta 8a to balw sto cs auto to bot? pls help kante me add parakalw sto facebook ursus44@yahoo.com h sto skype ursus445 parakalwwwwwwwwwwwwwwwwwwwww
 Respond  
Sarks   -  Sep 22, 2012
Hi all.
About the script , as jamaicanos said, just type those two at your status or your channel window.
/set %channel #You_Gather_channel
/set %prive #Your_private_channel

for example:

/set %channel #gather
/set %prive #gather-ops

WITH the # or else it won't work.

The script will get these commands in #gather-ops channel and ONLY if the user is with an @. ex. @sarks, and not a simple user such as +sarks , sarks etc.

!queue
!setmenext
!delme

The script will get these commands in #gather channel
!add
!add a
!add b
!addme
!addme a
!addme b
!remove
!next
!last
!mystats
!getpass
!totalgames
!mystats

-ONLY if the user is with an @.
!myadminstats ( must be an op )
!addtype ( If game is on & nick is game admin. )
!addmap ( If game is on & nick is game admin. )
!removeplayer ( If nick is game admin only. )
-

Don't forget the mirc you're going to use this script for is the bot. In my opinion if you wanna use this, use a separate mirc installed elsewhere, different directory even a different hdd and another .exe name. for example mircbot.exe (always start with the word "mirc") instead of mirc.exe.

This commands must be written in the bots prv.
!addgame ( if nick is first on queue list only. )
!ip ( if game is on & nick is game`s admin. )
!Password ( if game is on & nick is game`s admin. )
!cancelgame

"ultralord
you can see here for gatherbot www.gatherbot.gr :>"

There's no such page.

I'll take a better look at it soon and try to combine it with other scripts such as channel accesses for opers and stuff .
Hope that helped you.
For more help
/s -m nini.irc.gr
/msg Sarks

Chears

Ελπιζω να βοηθησα.
 Respond  
Gale   -  Aug 13, 2012
Lenooox:
i type in main of my channel !addgame but nothing ..Why? i put !setmenext on my private channel but when i type !addgame on main it doesn't work(Sorry for my english) please if you can help join in GRNet ( /s rea.irc.gr ) and /q Gale or /w Gale if i am online message me please!

ellhnas:
auto edw einai gatherbot
τι βοηθεια θες πες μας!
 Respond  
ellhnas   -  Aug 07, 2012
Please help

Παρακαλώ βοήθεια!!!

/disable: insufficient parameters (line 256, bot)

what is going on?

Τι γινετε!!!!??
 Respond  
Lenooox   -  Jul 24, 2012
!addgame ( if nick is first on queue list only. )
 Respond  
Gale   -  Jul 23, 2012
how can i start a gather ? i type !addgame but nothing
Please tell me

All of commands are working but only the command !addgame dont works! Why ?
 Respond  
DowNFaLL   -  Jan 01, 2012
!setmenext command dont works!
 Respond  
DowNFaLL   -  Dec 29, 2011
hi plz help me i dont know what to do!I paste this in scripts editor in mIrc it's wrong?Plz help!
 Respond  
`Tex   -  Jan 05, 2011
where i depoisit the code and where i put the ip of the servers
 Respond  
Jethro   -  Mar 21, 2010
This script needs being reworked and improved.
 Respond  
Lenooox   -  Mar 21, 2010
not work for me !
 Respond  
ultralord   -  Jul 17, 2009
you can see here for gatherbot www.gatherbot.gr :>

hf
 Respond  
envious1   -  Mar 06, 2009
Doesnt work for me at all :S
 Respond  
rafzzz   -  Aug 17, 2008
i cant use this gather bot...
i popy all to notepad save has bot.mrc,
put /load -rs bot.mrc and appears this
"unknown command/\{\PAR
unknown command/\{\PAR"

Please help me!
 Respond  
WinDuSs   -  Jun 29, 2008
Lack line NICK. :(
 Respond  
bLacKpoisoN   -  Jan 11, 2008
There is a bug, when you !add then change ur nick, u can !add again.
 Respond  
bLacKpoisoN   -  Jan 11, 2008
nevermind i found out how, but there is a problem now. when i !cancelgame the topic doesnt change back to normal
 Respond  
bLacKpoisoN   -  Jan 11, 2008
how do i start a gather and how do i add myself to the !queue list?
 Respond  
jamaicanos   -  Jan 08, 2008
type:
/set %channel #You_Gather_channel
/set %prive #Your_private_channel
 Respond  
bLacKpoisoN   -  Jan 07, 2008
Hey, i copied the scrip and pasted it in notepad and named it gather.mrc in my mirc file

how do i load it up now, cause it is not working
 Respond  
jamaicanos   -  Jan 04, 2008
Is for gather channel , exactly:
when the team players = 10 : game completed , gather bot sends ip & password to connect on Counter Strike server.

( Mixed Games - 5versus5 )

!add a \\
----------> to join Counter Terrorists
!addme a /


!add b \\
----------> to join Terrorists
!addme b /


( on the server )

Sorry but , i`m not speak so good english ! Ty.
 Respond  
LucSatise   -  Jan 04, 2008
can i ask exactly what this is for?
 Respond  
jamaicanos   -  Jan 04, 2008
If you found bugs , pls post a comment with the bug.....
Have Fun!
mitcakos12  -  Apr 17, 2013
/set %prive #Your_private_channel and /set %channel #You_Gather_channe doesnt works. Why ?


Δεν δουλεύουν αυτά ούτε το spcript. giati? kante m add skype dimitris.minoob na m peite gt
Sign in to comment

Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.