Merhaba, Syzop tarafından yazılan özel kapatma mödülünü hemen hemen bütün sunucular kullanmakta. Bu mödülü unreal'e entegre edip mödül olmaktan çıkartıp whoislerde kullanıcının özelini açık ya da kapalı olduğunu gösterdim. Buna ek olarak; bir kullanıcı özelini kapattiğında ve birisi ona yazmaya çalıştığında x rumuzlu kullanici size yazmaya çalıştı diye uyarı ekledim.
Gelelim düzenlemeye...
include/h.h dosyasını açıp
altına
ekleyin.
src/umodes.c dosyasını açıp
altına
ekleyin ve gene aynı dosya içerisinde
altına
ekleyin.
src/modules/m_message.c dosyasını açıp
/* Umode +R (idea from Bahamut) */ if (IsRegNickMsg(acptr) && !IsLoggedIn(sptr) && !IsULine(sptr) && !IsOper(sptr) && !IsServer(sptr)) { sendto_one(sptr, err_str(ERR_NONONREG), me.name, sptr->name, acptr->name); return 0; }
satırları altına
if ((acptr->umodes & UMODE_PDEAF) && !IsAnOper(sptr) && !IsULine(sptr) && !IsServer(sptr) && (sptr != acptr)) { sendto_one(sptr, ":%s: NOTICE %s :Mesajiniz '%s' rumuzuna gonderilemedi: Ozeli mesajlara kapali. (+D)", me.name, sptr->name, acptr->name); sendto_one(acptr, ":%s NOTICE %s :'%s' rumuzlu kullanici size yazmaya calisti. Ozeliniz kapali(+D)", me.name, acptr->name, sptr->name); return 0; }
ekleyin.
src/modules/webtv.c dosyası içerisinde ki
if (acptr->umodes & UMODE_BOT) { sendto_one(sptr, ":IRC PRIVMSG %s :%s is a Bot on %s", sptr->name, name, ircnetwork); }
satırlarının altına
if (acptr->umodes & UMODE_PDEAF) { sendto_one(sptr, ":IRC PRIVMSG %s :%s Ozelini Kapatmis(+D)", sptr->name, name); }
ekleyin.
src/modules/m_whois.c dosyası içerisinde
if (acptr->umodes & UMODE_BOT) sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, parv[0], name, ircnetwork);
satırları altına
if (acptr->umodes & UMODE_PDEAF) sendto_one(sptr, ":%s %d %s %s :%s", me.name, RPL_WHOISSPECIAL, parv[0], name, "Ozelini Kapatmis(+D)");
ekleyin ve daha sonra make çekerek kodlari derleyin.
NOT: Bu işlemi yapmadan önce privdeaf mödülünü mutlaka conf dosyasından silin ve deaktif edin yoksa hata verecektir.
Unreal3.2.10.4 sürümünde denenmiştir.