StanteaR,
WingmaN'ın size vermiş olduğu kodlama dizini çalışıyor.Bir pürüz dışında ki bunuda siz kodlamanızda belirtmişsiniz:
if $nick ison %muafkanallar çoğul olarak böyle bir operatör sorgusu olmaz.Buradaki muaf kanallar 1 den fazla ise kanalları tek tek if şartına bağlamalısınız.
Diğer çalışmama sebepleri:
1) Aynı sayfada birden fazla TEXT eventı mevcuttur.Remote sayfası hangisini uygulasın?
2) Kanala yazılan satırlardaki kelimeler Küfür.txt belgesinde mevcut değildir.Yada "isin" (içinde geçiyorsa) tanımına uygun değildir.
3) Mevcut şartlara baktığımızda;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
on @*:TEXT:*:#:{
if ($istok(%muafnickler,$nick,32)) { halt }
if ($nick isreg #) && !$istok(#operhelp #Help #yönetim,#,32) && $nick !ison #Ops {
var %i $lines(küfür.txt)
while (%i > 0) {
if ($read(küfür.txt,%i) iswm $1-) {
var %k $comchan($nick,0)
while (%k > 0) {
if ($nick !isop $comchan($nick,%k))
................
.....
a) Olayın geçtiği kanalda @ değilseniz,
b) Kanala yazan nick %muafnickler'den biriyse,
c) Kanala yazan nick herhangi bir prefix'e (.&@%+) sahipse,
d) Olayın geçtiği kanal #operhelp #help #yönetim kanallarından biriyse,
e) Kanala yazan nick #Ops kanalında bulunuyorsa
f) Kanala yazan nick,ortak bulunduğum kanallarda op ise,
koruma bu durumlara müdahele etmiyecektir.Kısacası "herkes küfür edebilir ama yetkisi olmayan sıradan bir user edemez" demek istemişsiniz.IRC'ye gönül veren bireyler olarak bu kısmı da tartışmak gerekir aslında.
4) Remote kısmı kapalı olabilir.
5) WingmaN'ın size sunmuş olduğu kodlama dizininde "isin" operatörü var iken siz bunu kendinize göre "iswm" operatörü ile değiştirmişsiniz.Hatırlatalım:
"isin" operatörü içinde geçiyorsa şartına denk gelir: if (salak isin asalaklar)
Bu örnekte "salak" kelimesi a
salaklar kelimesi içerisinde geçtiğinden şartlandırma pozitif olarak döner.
"iswm" operatörü,
wildcard tanımına bağlı olarak içinde geçiyorsa şartına denk gelir: if (*salak* iswm a
salaklar)
Burada eşleştirmenin pozitif dönüşümünü sağlamak için wildcard(*) kullanılması zorunludur.Aksi takdirde if (salak iswm asalaklar) sağlaması negatif dönecektir.
Şimdi,yapmış olduğunuz bu değişikliğe göre devam etmek istiyorsanız küfür.txt belgenizi *kelime* , kelime* , *kelime , k?l?m?
vb. durumlarına göre (wildcard tanımı getirecek şekilde) yeniden düzenlemelisiniz.