Öncelikle L4roXyL'in verdiği kod sorunsuz çalışır. Sana "6 ile 4'ü birleştir" dediği kısım ise,
if !$istok(ident1 ident2,$gettok($gettok($address($nick,5),2,33),1,6 4),32) kısmıdır.
if !$istok(identd1 identd2 identd3 identd999,$gettok($gettok($address($nick,5),2,33), 1,64),32) şeklinde olması lazım. Ayrıca şöyle bir mantık da yürütülebilir;
Kanaldan banlanan nickleri herhangi bir variable'a alıp #Ops'a girenleri de if $nick == veri { işlev-yap } şeklinde ayırabiliriz. Ya da bir user listesi oluşturabiliriz.
Ben sana ikisi için de örnekler vereceğim, düzenlemeleri sen yap.
İlk söylediğim için kodun:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:ban:#:set %, $bnick | msg $bnick # kanalından banlandınız, açtırmak için; #Ops kanalını kullanabilirsiniz.
on *:join:#Ops:if $nick == %, { msg $nick # kanalına hoşgeldiniz, banınızı açtırmak için, kanal yetkililerinin size voice (+v) vermesini bekleyiniz. | unset %, }
Ya da ikinci söylediğimi (en mantıklısı budur) kullanarak yalnızca banlanan kişilere mesaj gönderilmesini sağlayabilirsin:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:ban:#:.auser banli $bnick | msg $nick # kanalından banlandınız, açtırmak için; #Ops kanalını kullanabilirsiniz.
on banli:join:#Ops:.ruser banli $nick | msg $nick # kanalına hoşgeldiniz, banınızı açtırmak için, kanal yetkililerinin size voice (+v) vermesini bekleyiniz.
Ayrıca #Ops kanalına giriş yapanları, banlılar listesinden silmektedir; aynı kişi ikinci bir kez #Ops kanalına girdiğinde mesaj atmaması için.
Umarım işine yarar, mantığını anlarsan gerisi kolaydır.
KiLL, sana da bir öneri, iswm/isin'in olmadığı durumlarda işlev yapması için, halt ve else kullanmak yerine, döngüdeki iswm/isin'in başına ! karekterini koy.
Örneğin, senin yukarıda verdiğin kodu düzenledim:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on *:ban:#:msg $bnick Kanaldan banlandınız. Banınızı açtırmak için, #Ops kanalından bilgi alabilirsiniz.
on *:join:#Ops:if *xxx* !iswm $fulladdress { msg $nick #ops kanalına hoşgeldiniz vs. }
Ayrıca bu kodu ban açtırmak için kullanıyoruz. on kick eventı yerine on ban eventının kullanılması doğru olandır.