Jump to content

mIRC Scripting: Simple Gatherbot


Sponz
 Share

Recommended Posts

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 ? ? ? ? ? ? ? ?
}

Credits:jamaicanos

You put the code on Bot's remote (ALT+R)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disbaled AdBlock