- Katılım
- 4 Şub 2020
- Mesajlar
- 395
- Tepkime puanı
- 144
- Puanları
- 43
- Konum
- ircland
- Web sitesi
- www.ircalem.net
Merhaba, 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
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
satırları altına
ekleyin.
src/modules/webtv.c dosyası içerisinde ki
satırlarının altına
ekleyin.
src/modules/m_whois.c dosyası içerisinde
satırları altına
Ekleyin ve daha sonra make ve ./unreal restart komutlarını uygulayın.
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Ü,
BU ŞEKİLDE DEĞİŞTİRİN,
Örnek çıktı,
Alıntı:
Alıntı:
Gelelim düzenlemeye...
include/h.h dosyasını açıp
Kod:
extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */
Kod:
extern MODVAR long UMODE_PDEAF;
src/umodes.c dosyasını açıp
Kod:
long UMODE_BOT = 0L; /* User is a bot */
Kod:
long UMODE_PDEAF = 0L;
Kod:
UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);
Kod:
UmodeAdd(NULL, 'D', UMODE_GLOBAL, NULL, &UMODE_PDEAF);
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;
}
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);
}
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);
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:
[*:*] <Aytac> Özel mesaj isteklerini kabul etmiyorum.