Jump to content

mIRC Scripting: Simple Gatherbot


Sponz

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.
Note: Your post will require moderator approval before it will be visible.

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.



  • Posts

    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchihamkt.mysellix.io/ Join our server for more products : https://discord.gg/hood-services https://campsite.bio/utchihaamkt  
    • Server Rates: » Xp 500x. » Sp 500x. » Aden 500x. » Drop 1x. » PartyXp 2x. » PartySp 2x. » Starting character level -61. Enchant rates: » Safe enchant +4. » Blessed and simple scrolls max enchant (+16). » Crystal scrolls max enchant (+20). » Simple enchant scrolls chance – 65%. » Blessed enchant scrolls chance – 100%. » Crystal enchant scrolls chance – 50% Augmentations: » Mid life stone skill chance – 5%. » High life stone skill chance – 10%. » Top life stone skill chance – 20%. » Augments 1+1 Unique features: » Main town – Giran » Automatic-Manual Potions. » Working 2 castle sieges. (Giran-Aden) » SPS cancel lasts 10 seconds and than buffs come back. » Stackable scrolls, lifestones, book of giants. » Unique pvp zone » More then 11 active raid bosses. » Wedding system. » Unique farming areas. » Npc skill enchanter. » Full npc buffer with auto buff. » Max count of buffs – 55. » Max subclasses – 4. » Free and no quest class change. » Free and no quest sub class. » Raid boss drop nobless item. » No weight limit. » Unique protection anti-hwy armor for archers/daggers etc. » Ingame password change. » Top pvp/pk/online ranks NPC. » Unique monsters & NPC. » Interlude retail skills. » Server up-time [24/7] [99]%. » Perfect class balance (all class can kill all class depending on players skill and setup knowledge,gear,augmentations). » Announcements on double kills triple kills etc. » Announcements on Grand Boss death , with the name of the killer as well as clan name of the player. » Information Npc in game with all servers infromations. Custom server gear : 1). Titanium Armor Lv.1 2). Epic Armor Lv.2 3). Epic Weapons-Kamikaze-Black S grade (Same Stats) 4). Demonic-Angelic Wings-Baium Hair-Custom Accessories (SameStats) 5). Custom Fighter/Mage tattoo Lv1-Lv2-Lv3 6). Shirt (STR,CON,INT +1) 7). Custom Shields Server Commands: .tvtjoin .tvtleave – Join or leave tvt event. .ctfjoin .ctfleave – Join or leave ctf event. .dmjoin .dmleave – Join of leave dm event. .online – current online players count. .repair – repairs stuck character in world. .menu – opens online menu panel. .exit – PVP zone exit in case you are bullied. .changepassword - Opens online menu then u can change ur password in game. .farm - Enable/disable autofarm Event system: » TVT event » CTF event » DM event » Tournament Event » Party Zone » Unique event shop. Olympiad game: » Retail olympiad game. » Competition period [1] week. » Olympiad start time [18:00] end [00:00] GMT+2. » New Heroes every Sunday.
    • Tomorrow grand opening lests go 🙂 
    • New season of Warfire X150 has been postponed to September 28th.
  • Topics

×
×
  • Create New...