Skip to content
General IRCX

Aop Question.

A TG007 community discussion started by Molson™.

Closed discussion 25 posts
Page 1 of 2
Closed
Topic #10001 · 25 published posts · 6,480 views

($hget(AopAccounts,$gettok($ial($nick,1).addr,1,64),GlobalQ))

($hget(AopAccounts,$gettok($ial($nick,1).addr,1,64),$chan))

 

What is wrong with these? I add them like .hadd -m AopAccounts $gettok($ial($$1,1).addr,1,64) $chan %x and for global .hadd -m AopAccounts $gettok($ial($$1,1).addr,1,64) GlobalQ %x

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

What doesn't work? Do both not work? Is it just local?

Both don't, actucally. I get * /if: invalid format .

Edited Apr 18, 2008 3:08 PM by Molson™

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

What's on the line that the error occurs on?

I had something missing but now it Q's anyone who joins who is on the Aop list but says they are on global even when they are on local.

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

Try

$remove($replace($chan,$chr(35),$chr(37)))

 

I think that's how it is. Been so long since I've messed with %#.

Well I had it working before with elseif ($hget(AopAccounts,$gettok($ial($nick,1).addr,1,64)) == $chan) { but ever since I added aop reason it don't work that way. Same thing with Global it was if ($hget(AopAccounts,$gettok($ial($nick,1).addr,1,64)) == GlobalQ) {

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

If you added a reason, you probably have to adjust your $gettok from 64 to 32.

on @*:JOIN:#:{
  var %A = $hget(AopAccounts,$gettok($ial($nick,1).addr,1,32),GlobalQ)
  if ($hget(AopAccounts,$gettok($ial($nick,1).addr,1,32),GlobalQ)) {
    $iif($readini(message.ini,Options,Message) = on,msg #) GlobalQ $nick Logged as  $+($gettok(%A,2-,32))
    .raw mode # +q $nick
  }

 

I have that so far and it don't show the reason. And it still thinks your on GlobalQ when your on LocalQ.

Edited Apr 18, 2008 5:44 PM by Molson™

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

I was never a fan of hash tables

The Internet: where men are men, women are men, and children are FBI agents.

I don;t think the IAL has the address yet on join. Try adjusting $address to match the style you save the gate as.

 

I try to make the mask as simple as possible for these things. What I often do is use just the ident.

 

i.e: Ident@GatekeeperPassport

 

So I can use $gettok($address,1,64). I don't like having *'s in my lists to match user gates. I like to keep it straight, simple and plain.

 

SoulFly's aOp users are saved like this.

 

hadd users $address level.%#roomname <== this would be local, where level is: op.%#room man.%#room admin.%#room

 

Global is:

 

hadd users $address g_admin

hadd users $address g_man

 

 

I use $address because in every normal event $address returns Ident@GatekeeperPassport which makes it easy to match.

Edited Apr 19, 2008 1:46 AM by Travis

It doesn't when you join.. the /who command would have to be executed

The Internet: where men are men, women are men, and children are FBI agents.

That wasn't a me:*:join:#:{

 

That was a user join and I don't believe the user is in the IAL until after the join event which is why I suggested using $address.

 

You can also use $rawmsg and $gettok it.

Well I do /who when someone joins a channel. Travis, I've tried your way before and some reason it don't grab $address.

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

You shouldn't have to /who everytime someone joins, just when you join a channel

The Internet: where men are men, women are men, and children are FBI agents.

/who $nick and /who # when I join.

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

Try this, it works great for me

Enjoy

advaced aop list local and globle

 

pony :taz:

Edited Apr 19, 2008 6:58 PM by pony

PONY

Thanks Pony but ini is to simple and I want to try hash tables for my aop.

Edited Apr 19, 2008 1:10 PM by Molson™

Custom Computer

AMD Athlon 64 x2 Dual Core 5200+

Asus M2N-SLI MOB

2GB DDR2 @ 800mhz

160GB Hard Drive

NVidia GeForce 8400GS 256

ini is too slow for my tastes. I like hash or MySql if the list gets to be too big.

 

Molson, $address is a parameter in any normal event. I find it hard to believe you do not get the proper information. Unless, of course, you are using a socket connection that does not handle the event properly.

 

You can use $rawmsg and gettok the mask from it.

 

on *:join:#:{

echo 3 $chan . $nick 's address is $address

echo 12 $chan . $rawmsg

 

}

 

 

Id be really surprised if these echo's didn't return $address and $rawmsg. Try them please.

 

And yeah, you shouldn't who the channel whenever someone joins. If you do not plan on making your code public and the rooms you are in have 5 or 6 people in them then thats ok, but you wouldn't want to be in a room of 40 or 60 and who whenever someone joins. What if there is a join flood? What if 5 people join within 3 seconds of each other? It could easily flood you out, and will always impose strain on the server.

 

Just a sidenote to anyone ... contrary to popular belief, the chat servers aren't a hacking challenge, or "let's see if we can crash the server". Maybe when it was MSN and you felt all cool for messing with a huge corporation, but now the servers are run by hoobyists. The server is your chat livelihood, so be kind to it.

Edited Apr 19, 2008 4:15 PM by Travis

actuly its quite fast and stable

also have

[

stop owner local

stop host local

shitlist local

voice stop local

] above commands i do not have clear access on it for i didnt want to clear access in other peoples room

but can be easly add

also will deop the user

and if he/she is oped again it will deop both users ]

if added there is no way of use getting hammer as long as your a op

weath someone ops them or they use pass or access

worth a look at

 

advaced aop list local and globle

 

 

ether way let me know what you and others think

:taz:

Edited Apr 19, 2008 7:03 PM by pony

PONY