Kadir az/çok kod yazabildiğini biliyorum. En azından kendini hızla geliştirdiğinide biliyorum. Ben sana şimdi mantıkları açıklayacağım sende yazmaya çalışacaksın. Takıldığın yerde bizde sana yardımcı olacağız.
- 1. Sorunun için:
Sunucu girişi için; $ialchan vb. gibi bir identifier yok weilside. Senin yapman gereken, sunucuya giren kişilerin IP adreslerini herhangi bir işlem tablosuna/dosyasına eklemen. Yani örneğin hash table-a eklersin, eğer aynı IP-den 2. bir giriş olursa, işlem yaparsın. Örneğin: //if ($hget(_ips,IP-numarası)) { işlev } | hadd -m _ips IP-NUMARASI nick gibi.
Tabi, sunucuya girip sonra çıkan ve sonra tekrar gireni sunucudan atmamak için; client exiting mesajında hash table-ın içerisinden sunucudan çıkan nick-e ait ip adresini sildirmen lazım. Örneğin: //if ($hget(_ips,IP-numarası)) { hdel _ips ip-numarası } şeklinde.
- 2. Sorunun için:
ON op/deop vs. events/olayları gibi on admin şeklinde bir event yok. Daha doğrusu admin olduğunu algılayan bir event yok. Bunu ya operator olduğunda gelen snotice bilgisi ile tesipt edersin, yada $usermode tanımının verdiği bilgiyi kontrol ederek.
- 3. Sorunun için:
Sorununda belirttiğin kullanım doğrudur. Yani $usermode tanımından alacağın veri ile bir kontrol yapabilirsin. Örneğin: //if ($regex($usermode,A|O)) { işlev } gibi.
- 4. Sorunun için:
Burada kullanman gereken mantık; zline mesajında nick-i alıp notify listesinde olup olmadığını kontrol etmektir.. Tabi bunu snotice-den gelen zline mesajına ait veri ile yapacaksın. Örneğin: //if ($notify(nick)) { zline $+(-*@,yakalanan-ip-adresi) }
- 5. Sorunun için: 1) Tüm scripts dosyalarını birleştirirsen %90 ihtimal çakışma olacaktır diye düşünüyorum. TEXT, INPUT vb. event-lar çakışabilir. 2) Bir scripts dosyasına istediğin uzunlukta kod yazabilirsin. Herhangi bir yeterlilik ölçüsü yok. 15.000 satırda olabilir yani.
__________________ C/co/cod/code^man. |