Tekil Mesaj gösterimi
Alt 19 Temmuz 2015, 22:54   #1
Çevrimdışı
BehroozWolf
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
/mode nick +D whois de gösterme(kullanıcı özelini kapatmış)




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

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */

altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
extern MODVAR long UMODE_PDEAF;

ekleyin.

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

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_BOT = 0L; /* User is a bot */

altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
long UMODE_PDEAF = 0L;

ekleyin ve gene aynı dosya içerisinde

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'B', UMODE_GLOBAL, NULL, &UMODE_BOT);

altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
UmodeAdd(NULL, 'D', UMODE_GLOBAL, NULL, &UMODE_PDEAF);

ekleyin.
src/modules/m_message.c dosyasını açıp

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* 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:   Kodu kopyalamak için üzerine çift tıklayın!
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
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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:   Kodu kopyalamak için üzerine çift tıklayın!
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

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
if (acptr->umodes & UMODE_BOT) sendto_one(sptr, rpl_str(RPL_WHOISBOT), me.name, parv[0], name, ircnetwork);

satırları altına

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet