Tekil Mesaj gösterimi
Alt 26 Aralık 2009, 04:59   #49
Çevrimdışı
nyrax
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: /cs temizle #kanal




Sky-Dancer Nickli Üyeden Alıntı
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Anope için olanda:
Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int do_TEMIZLE(User * u) { char *chan = strtok(NULL, " "); Channel *c; ChannelInfo *ci; if (!chan) { syntax_error(s_ChanServ, u, "TEMIZLE", CHAN_HELP_TEMIZLE); } else if (!(c = findchan(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); } else if (!(ci = c->ci)) { notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); } else if (!ci->bi) { notice_help(s_BotServ, u, BOT_NOT_ASSIGNED); } else if (ci->flags & CI_VERBOTEN) { notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan); } else if (!check_access(u, ci, CA_UNBAN)) { notice_lang(s_ChanServ, u, PERMISSION_DENIED); } else { anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); notice(s_NickServ, u->nick, "Kanal Temizlendi"); } return MOD_CONT; }

bu satırları şu şekilde değiştirirseniz; hem fazladan kod derdi olmayacaktır, hem de irc üzerinde oper girişi yapmış olan kişiler veya Unban yetkisine sahip olan kişiler bu komutu uygulayabileceklerdir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
int do_TEMIZLE(User * u) { int i=0; char *chan = strtok(NULL, " "); Channel *c; ChannelInfo *ci; if (!chan) { syntax_error(s_ChanServ, u, "TEMIZLE", CHAN_HELP_TEMIZLE); } else if (!(c = findchan(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); } else if (!(ci = c->ci)) { notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); } else if (!ci->bi) { notice_help(s_BotServ, u, BOT_NOT_ASSIGNED); } else if (ci->flags & CI_VERBOTEN) { notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan); } else if (!check_access(u, ci, CA_UNBAN) && !isoper(u)) { notice_lang(s_ChanServ, u, PERMISSION_DENIED); } else { for (i=0; i<40; i++) anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", yazi); notice(s_NickServ, u->nick, "Kanal Temizlendi"); } return MOD_CONT; }

Irc-Services için olanda:

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_baho(User *u) { char *chan = strtok(NULL, " "); Channel *c; ChannelInfo *ci; if (!chan || strtok(NULL, " ")) { notice(s_ChanServ, u->nick, "Kullanimi: /msg %s TEMIZLE kanal", s_ChanServ); notice(s_ChanServ, u->nick, "Daha fazla bilgi icin /msg %s help TEMIZLE yazabilirsiniz.", s_ChanServ); } else if (!(c = get_channel(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); } else if (!(ci = c->ci)) { notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); } else if (ci->flags & CI_VERBOTEN) { notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan); } else if (!u || !check_access_cmd(u, ci, "TEMIZLE", NULL)) { notice_lang(s_ChanServ, u, PERMISSION_DENIED); return; } else if (c->ci && check_access(u, c->ci, CA_AUTOOP)) { send_cmd(s_ChanServ, "NOTICE %s :kanali temizleniyor. Komutu uygulayan %s!", chan, u->nick); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :Kanaliniz temizlenmistir.", chan); } }

bu satırları şu şekilde değiştirirseniz; hem fazladan kod derdi olmayacaktır, hem de irc üzerinde oper girişi yapmış olan kişiler veya Unban yetkisine sahip olan kişiler bu komutu uygulayabileceklerdir.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
static void do_baho(User *u) { int i=0; char *chan = strtok(NULL, " "); Channel *c; ChannelInfo *ci; if (!chan || strtok(NULL, " ")) { notice(s_ChanServ, u->nick, "Kullanimi: /msg %s TEMIZLE kanal", s_ChanServ); notice(s_ChanServ, u->nick, "Daha fazla bilgi icin /msg %s help TEMIZLE yazabilirsiniz.", s_ChanServ); } else if (!(c = get_channel(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); } else if (!(ci = c->ci)) { notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); } else if (ci->flags & CI_VERBOTEN) { notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan); } else if (!u || !check_access_cmd(u, ci, "TEMIZLE", NULL)) { notice_lang(s_ChanServ, u, PERMISSION_DENIED); return; } else if (c->ci && (check_access(u, c->ci, CA_AUTOOP) || isoper(u))) { send_cmd(s_ChanServ, "NOTICE %s :kanali temizleniyor. Komutu uygulayan %s!", chan, u->nick); for (i=0; i<40; i++) send_cmd(s_ChanServ, "PRIVMSG %s :.", chan); send_cmd(s_ChanServ, "PRIVMSG %s :Kanaliniz temizlenmistir.", chan); } }

2 kodu da denemedim fakat, çalışması gerekir bu kodların..

iyi Çalışmalar..

} else if (c->ci && (check_access(u, c->ci, CA_AUTOOP) || isoper(u))) {

şu satırdaki isoper bölümü is_oper olarak değişirse hata vermiyor, sanırım skydancer'ın gözünden kaçmış.

Ayrıca;

ircservices-5.0.59]$ make
make[1]: Entering directory `/home/user/ircservices-5.0.59/modules'
make[2]: Entering directory `/home/user/ircservices-5.0.59/modules/chanserv'
cd ../.. && gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -fno-buil tin-log -I. -c modules/chanserv/main.c -o modules/chanserv/main.o
modules/chanserv/main.c: In function âdo_suspendâ:
modules/chanserv/main.c:1686: warning: format â%sâ expects type âchar *â, but ar gument 5 has type âtime_tâ
touch .stamp


gibi bir uyarı verip umursama***** devam ettiği bir mesaj var konu ile alakalı bir durum kodu eklemeden önce böyle bir hata vermiyordu önerilere açığım.

Kolay gelsin iyi çalışmalar.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver