Giriş

Orijinalini görmek için tıklayınız : /Mode nick +D (whois'e özeli kapalı ilavesi).


Entrance
24 Temmuz 2015, 15:47
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

extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */altına

extern MODVAR long UMODE_PDEAF;ekleyin.

src/umodes.c dosyasını açıp

long UMODE_BOT = 0L; /* User is a bot */altına

long UMODE_PDEAF = 0L;ekleyin ve gene aynı dosya içerisinde

UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);altına

UmodeAdd(NULL, 'D', UMODE_GLOBAL, NULL, &UMODE_PDEAF);
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 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Ü,

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;
}
BU ŞEKİLDE DEĞİŞTİRİN,
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ı,
[*:*] <Taner> s[*:*] <Entrance> Özel mesaj isteklerini kabul etmiyorum.Bu bölümde bana aittir.


İyi forumlar .. ^^

BehroozWolf
24 Temmuz 2015, 22:58
En güzeli orjinal halidir :P