Skip to content
GuarDDog v. 5

Rookie Guard Dog 5 Questions

A TG007 community discussion started by Bannor.

Discussion 16 posts
Page 1 of 1
Open
Topic #6191 · 16 published posts · 2,217 views

Hey All;

 

First off, Guard Dog Kicks It! Great connection speed, FANTASTIC protections, great handling of the room visuals, etc etc.

 

I am using this script to co-run a very busy MSN Trivia Room. My partner and I co-run this room, originally using Hybrid Omega, transitioning to your script.

 

Alright, on with the questions.

 

First off, it is very important to us to be able to monitor who comes and goes in the room, in order to be able to, if necessary, banlist certain nics from coming back. This is accomplished via a "Gatekeeper" dialog in Hybrid. Any ideas where I can find a similar dialog in GD? That way, I could just copy and paste gate id's into your ban dialog, and remove obnoxious peoples.

 

Second, I use the "Bot Talk feature", as well as a number of other script snippets (techie term lol) that I have added to Hybrid.mrc. What I would like to do, perhaps, is create a new mrc script that automatically loads on startup, and can be referenced by users in the room. If you could, please explain how I could do that, and tell me again what the command is (X-Gen told me once in the forum, I didnt write it down) to create Bot-talk-style commands for the room.

 

On Text something?

 

Here is an example of the code I would like to be able to use in the room:

 

on *:TEXT:!1liner:#: {

if (!%msg.1liner. [ $+ [ $nick ] ]) { msg # S Tahoma;0 $read(TEXT\1liners.txt) $+ }

set -u5 %msg.1liner. [ $+ [ $nick ] ] $true

 

Simple stuff - goes to a text file called 1liner, retrieves a random line, spits it out. I can create a new mrc script, just tell me if I need to do anything special for that script to execute.

 

Third - Mirc 6.17. UNGH! By process of deduction, we have figured out that many of our difficulties revolve around this release. We are using a trivia script (tats trivia script) to pump questions into the room. Occasionally, it seems like there are too many room events, and the trivia script hangs up. Specifically, the questions continue to come out, but the answer dialog, HOF dialog, Ping dialog, and anything else gets hung up, and spits out many minutes later all together. I believe this is happening because of the "new" UTF-8 encode option. I am running GD5 and Hybrid Omega, my partner is also running GD 5 on a different computer different network (we are both DSL btw), and we both end up lagging when too many events occur in the room. We have turned off the UTF-8 "feature" (Options IRC Messages unclick) but that is not making a difference. Its still lagging. So, any ideas on how to truly turn this feature off, please pass it at me! Otherwise, do you think I should post on Mircs board? If we cannot resolve this, we are going to have to roll back to an earlier Mirc, which I know means we cant use GD 5! Help!

 

We are having multiple challenges with the trivia script messages in the room, and other scripts in the room as well, but I believe these are all sourced from Mirc 6.17, since both the GD 5 script and the Hybrid Omega Script (that also uses m 6.17) do the same lagging.

 

Thanks again for a fantastic script, and any ideas on the above would make my Sunday for sure :)

 

Bannor

 

 

 

 

 

 

 

Hey Bannor, thanks for the nice comments.

 

First off, i'd recommend leaving hybrid with a version ealier than 6.17. It runs more effectively on 6.16.

 

As for GD5, i built it to use mIRC 6.17, well not really, i just adapted it to work better. For trivia, don't use GD5 just yet, please be paitent, i have a lot of school work at the moment, but in about 3 weeks i will try and convert Super Trivia 5 across to work for GuarDDog v. 5. This will give users the ability to use trivia with all of the already working GD5 features.

 

So for now, i'd recommend running GD5 (on mIRC 6.17) without trivia addon, and at the same time, running Hybrid (on mIRC 6.16).

 

Let GD5 do all the protections and that, and let Hybrid do all the trivia stuff and that.

 

As for what you were saying about the loging, turn clone protection on. Set it to just message in mIRC screen (echo message), and then it will automatically collect the gates. These gates will appear in clone protection > database, and from there it contains the nicks (and previous nicks) with their gatekeeperid. You should be able to use that to do your gatekeeperid recordings.

Hya Bannor

As for mIRC 6.17 you may try to disable mIRC Flood protection. its work for me

i'd leave it on just incase. I am trying to modify MTSLoader so that it is a lot quicker and doesn't activiate the flood detection when you paste huge amounts of code and that.

Hya TGK

i know its make no sens but my scripts output were lagging with both Kenobi and GD5 and it stop when i untick enable food protection. i thought only input was affected but my experience prove that output is also. Strange..... but iam not an expert, iam a try and see.

yea, turning flood protection off can work, but i'd recommend leaving it on as it does sometimes prevent you from being disconnected. I will put the update out over the weekend, so you can try it there. I'm sure i have solved the problem though.

i untick enable food protection.

 

mmmmmm, food. :pizza:

lol, just kidding. For now if it is bothersome with slow inputs\outputs you can try unchecking flood protect. Then, go into "tools\options\IRC\Flood" in mirc controls, and inputting 400 for "Trigger flood check after:", 9999 for "Max. lines in buffer:", 9999 for "Max.lines per person:", and 300 for "Ignore person for:". I found this works pretty good for me. Hopefully it will for you as well. This is a temp fix until TGK's next update.

my next update isn't going to fix any problem you get using /msg, but if it's input based, where you are typing or paste large amounts of code into the input field, then it will.

 

If your streaming information out, you need to use ss infront of the command. So, msg $chan hi there, would become ss msg $chan hi there. Basically it allows for 300 milisecond gap between sends. For the update, the first 2 wont be put into the ss feed, but only the ones after it.

Hey GD Fans;

 

Yes we also figured the Flood Control out as well - and we have it disabled. That has come close to ending the lagging issues, although we still see it occasionally.

 

I am pretty sure its not GD at all, but rather Mirc 6.17. I think this because I am also using Hybrid Omega, also with M6.17, and both the hybrid script and the GD script were lagging, previous to turning off flood protection.

 

Ok, so I turned on the clone db, and yes there are all the nics that join. Now if only I could cut and paste the gatekeeperid into the ban list, I would be in nirvana (lol). Any ideas?

 

Also, I am also still interested in integrating my own personalized commands, both from Hybrids Bot Talk, and also !commands, like !yoda, or !1liner - where the command queries an outside text file (see code snippet above).

 

I know this stuff is easy for you guys, but I could use the suggestions!

 

Oh one more thing, we are using the Tatarize Trivia Script - and it added in just fine and runs well. Of course, the large blocks of text the script pumps through the GD connection script is probably what is triggering the flood control, and causing the nasty lag.

 

Ok thats it onmy front, any ideas on how to do the clone thing, and also how to build in some custom scripts, and I can completely get off my Hybrid addiction, and go GD all the way!!

 

Bannor

in the next update, i'll have it where you can right click and copy the information for the clone database.

 

If you look under making remote commands for GuarDDog v. 5, it explains it there. As i said, if you get stuck, post some of the code you've got, i'll convert it, and you should be able to work the rest out.

on admin:text:*testkick*:#: {
 if (admin isin $level($address($nick,6))) /msg $chan NO-WAY, they are protected! { halt }
 else set %chan $comchan($nick,1) | set %i $nick(%chan $+ ,0) | set %hit 0 | unset %kicknick | unset %kickaddr | unset %kickchan
 :next
 if ($2 isin $nick(%chan $+ ,%i)) { inc %hit | set %kickaddr $ial($nick(%chan $+ ,%i) $+ *,1).addr | set %kicknick $nick(%chan $+ ,%i) | set %kickchan $comchan($nick(%chan %+ ,%i),1) | if %hit > 1 { /notice $nick Too many hits, narrow your search! | halt } }
 dec %i | if %i > 0 goto next | if %hit = 0 { msg # No nicks found that match $2 $+ ! }
 if %i == 0 && %hit != 0 { kick %kickchan %kicknick $3-
 }
}

Can someone help to get this code to halt the kick on ADMIN level?

 

AdminLEVEL Joey testkick hawk

BOT no way they are protected

 

AdminLEVEL Joey testkick rookie

rookie has been kicked from $chan

I am not sure why its not halting, but I do see a couple of missing () errors. Should be corrected now.

 

on admin:text:*testkick*:#: {
if (admin isin $level($address($nick,6))) /msg $chan NO-WAY, they are protected! { halt }
else set %chan $comchan($nick,1) | set %i $nick(%chan $+ ,0) | set %hit 0 | unset %kicknick | unset %kickaddr | unset %kickchan
:next
if ($2 isin $nick(%chan $+ ,%i)) { inc %hit | set %kickaddr $ial($nick(%chan $+ ,%i) $+ *,1).addr | set %kicknick $nick(%chan $+ ,%i) | set %kickchan $comchan($nick(%chan %+ ,%i),1) | if (%hit > 1) { /notice $nick Too many hits, narrow your search! | halt } }
dec %i | if (%i > 0) goto next | if (%hit = 0) { msg # No nicks found that match $2 $+ ! }
if (%i == 0) && (%hit != 0) { kick %kickchan %kicknick $3-
}
}

 

 

"Diplomacy is the art of saying 'Nice doggie' until you can find a rock".-Will Rogers

if it's GD5 based, you need to use $aop.level($chan,$nick) as i use a different system for GD5.

Thanks TGK but its for GD5 and for DC.

Edited May 27, 2006 4:43 PM by lostboyjoey

for a script using DC, the above code should work because the user system is based on what you use. For GD5, you use if statements. Try this.

 

Normal Scripts

on admin:text:*testkick*:#: {
 var %l = 1 , %n = $iif(* isin $2,$2,* $+ $2 $+ *) , %i , %c | while ($nick($chan,%l)) {
   %i = $ifmatch
   if (%n iswm %i) {
     if ($level($address(%i,6) == admin) inc %c
     else %n = $addtok(%n,%i,44)
   inc %l
 }
 if (!%n) && (%c) msg $chan %c matching $iif(%c == 1,user,users) $+ , but on admin list. Kick Failed.
 elseif (%n) {
   kick $chan %n :Bye Bye
   if (%c >= 1) msg $chan There were another %c matching $iif(%c == 1,user,users), but on admin list so was not kicked.
 }
}

 

GD5 Script (though this should already be in there under the !kick code

on admin:text:*testkick*:#: {
 var %l = 1 , %n = $iif(* isin $2,$2,* $+ $2 $+ *) , %i , %c | while ($nick($chan,%l)) {
   %i = $ifmatch
   if (%n iswm %i) {
     if (?admin iswm $aop.level($chan,%i)) inc %c
     else %n = $addtok(%n,%i,44)
   inc %l
 }
 if (!%n) && (%c) msg $chan %c matching $iif(%c == 1,user,users) $+ , but on admin list. Kick Failed.
 elseif (%n) {
   kick $chan %n :Bye Bye
   if (%c >= 1) msg $chan There were another %c matching $iif(%c == 1,user,users), but on admin list so was not kicked.
 }
}

on admin:text:*testkick*:#: {
var %l = 1 , %n = $iif(* isin $2,$2,* $+ $2 $+ *) , %i , %c | while ($nick($chan,%l)) {
%i = $ifmatch
if (%n iswm %i) {
if ($level($address(%i,6) == admin) inc %c
else %n = $addtok(%n,%i,44)
inc %l
}
if (!%n) && (%c) msg $chan %c matching $iif(%c == 1,user,users) $+ , but on admin list. Kick Failed.
elseif (%n) {
kick $chan %n :Bye Bye
if (%c >= 1) msg $chan There were another %c matching $iif(%c == 1,user,users), but on admin list so was not kicked.
}
}

TGK I tried this piece and it freezes IRC, i have to end task and get that send error report.

on admin:text:*testkick*:#: {
if (admin isin $level($address($nick,6))) /msg $chan NO-WAY, they are protected! { halt }
else set %chan $comchan($nick,1) | set %i $nick(%chan $+ ,0) | set %hit 0 | unset %kicknick | unset %kickaddr | unset %kickchan
:next
if ($2 isin $nick(%chan $+ ,%i)) { inc %hit | set %kickaddr $ial($nick(%chan $+ ,%i) $+ *,1).addr | set %kicknick $nick(%chan $+ ,%i) | set %kickchan $comchan($nick(%chan %+ ,%i),1) | if (%hit > 1) { /notice $nick Too many hits, narrow your search! | halt } }
dec %i | if (%i > 0) goto next | if (%hit = 0) { msg # No nicks found that match $2 $+ ! }
if (%i == 0) && (%hit != 0) { kick %kickchan %kicknick $3-
}
}

Mail i tried this too but it says the user is protected and halts, even if they are not in the level list.

 

I thank you both for the help though...game me some ideas and new coding techniques to try...ty ty ty