- Katılım
- 2 Mar 2023
- Mesajlar
- 242
- IFGT Puan
- 18
Syzop tarafından yazılan özel kapatma mödülünü hemen hemen bütün sunucular kullanmakta. Bu mödülü unreal'eentegre 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
Kod:
extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */
altına
Kod:
extern MODVAR long UMODE_PDEAF;
ekleyin.
src/umodes.c dosyasını açıp
Kod:
long UMODE_BOT = 0L; /* User is a bot */
altına
Kod:
long UMODE_PDEAF = 0L;
ekleyin ve gene aynı dosya içerisinde
Kod:
UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);
altına
Kod:
UmodeAdd(NULL, 'D', UMODE_GLOBAL, NULL, &UMODE_PDEAF);
ekleyin.
src/modules/m_message.c dosyasını açıp
Kod:
/* 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
Kod:
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;
}
src/modules/webtv.c dosyası içerisinde ki
Kod:
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
Kod:
if (acptr->umodes & UMODE_PDEAF)
{
sendto_one(sptr, ":IRC PRIVMSG %s :%s Ozelini Kapatmis(+D)",
sptr->name, name);
}
src/modules/m_whois.c dosyası içerisinde
Kod:
if (acptr->umodes & UMODE_BOT)
sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, parv[0], name, ircnetwork);
satırları altına
Kod:
if (acptr->umodes & UMODE_PDEAF)
sendto_one(sptr, ":%s %d %s %s :%s", me.name,
RPL_WHOISSPECIAL, parv[0], name, "Ozelini Kapatmis(+D)");
NOT: Bu işlemi yapmadan önce privdeaf mödülünü mutlaka conf dosyasından silin ve deaktif edin yoksa hata verecektir.
Yukarıdaki kodlar BehroozWolf'a aittir.
* Ek olarak, herhangi bir kullanıcı özelini kapattığında özeli kapalı olan kişiye mesaj yazmaya çalışanların mesajını bloke edip, özeli kapalı olan kişi tarafından mesaj göndermek için,
BU BÖLÜMÜ,
Kod:
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;
}
Kod:
if ((acptr->umodes & UMODE_PDEAF) && !IsAnOper(sptr) && !IsULine(sptr) && !IsServer(sptr) && (sptr != acptr))
{
sendto_one(sptr, ":%s PRIVMSG - :Özel mesaj isteklerini kabul etmiyorum.", acptr->name);
return 0;
}
Örnek çıktı,
Alıntı:
Kod:
[*:*] <Lazrail> s
Alıntı:
Kod:
[*:*] <IFGT> Özel mesaj isteklerini kabul etmiyorum.
