Unreal3.2.x Oper giriş bildirimleri
Merhabalar,
• Klasör: Unreal3.2*/src/modules/
• Dosya: m_oper.c
BULUN,
1 |
DLLFUNC int m_oper(aClient *cptr, aClient *sptr, int parc, char *parv[]); |
ÜSTÜNE,
1 2 |
#define Monitor "#opers" aChannel *chptr; |
EKLEYİN,
* Oper açanları kanala bildirmesi için;
1 2 3 4 5 |
if (announce != NULL) sendto_snomask_global(SNO_OPER, "%s (%s@%s) [%s] %s", parv[0], sptr->user->username, sptr->sockhost, parv[1], announce); |
* Hemen altına ekleyin..
1 2 3 4 5 |
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :%s (%s@%s) [%s] %s", Monitor, parv[0], sptr->user->username, sptr->sockhost, parv[1], announce); } |
* OPER şifresini hatalı girenleri kanala yansıtmak için;
1 2 |
(SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [FAILEDAUTH]", parv[0], sptr->user->username, sptr->sockhost, name); |
* Altına ekleyin..
1 2 3 4 5 |
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%s@%s) using UID %s [FAILEDAUTH]", Monitor, parv[0], sptr->user->username, sptr->sockhost, name); } |
* OPER maxlogins reached, bildirimleri için;
1 2 3 4 |
(SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [maxlogins reached]", parv[0], sptr->user->username, sptr->sockhost, name); ircd_log(LOG_OPER, "OPER TOOMANYLOGINS (%s) by (%s!%s@%s)", name, parv[0], sptr->user->username, sptr->sockhost); |
* Altına ekleyin..
1 2 3 4 5 |
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%s@%s) using UID %s [maxlogins reached]", Monitor,parv[0], sptr->user->username, sptr->sockhost, name); } |
* OPER i olmayıpta, oper deneyenleri kanala bildirmesi için;
1 2 3 4 |
(SNO_OPER, "Failed OPER attempt by %s (%s@%s) [unknown oper]", parv[0], sptr->user->username, sptr->sockhost); ircd_log(LOG_OPER, "OPER UNKNOWNOPER (%s) by (%s!%s@%s)", name, parv[0], sptr->user->username, sptr->sockhost); |
* Altına ekleyin..
1 2 3 4 5 |
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%s@%s) [unknown oper]", Monitor, parv[0], sptr->user->username, sptr->sockhost); } |
* OPER host doesnt match, bildirimleri için;
1 2 3 4 |
(SNO_OPER, "Failed OPER attempt by %s (%s@%s) using UID %s [host doesnt match]", parv[0], sptr->user->username, sptr->sockhost, name); ircd_log(LOG_OPER, "OPER NOHOSTMATCH (%s) by (%s!%s@%s)", name, parv[0], sptr->user->username, sptr->sockhost); |
* Altına ekleyin..
1 2 3 4 5 |
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) { sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :by %s (%s@%s) using UID %s [host doesnt match]", Monitor, parv[0], sptr->user->username, sptr->sockhost, name); } |
* En son olarakta OPER açan kişilerin özeline belli başlı OPER kurallarını göndermek için ise;
1 2 3 4 5 |
if (do_cmd(cptr, sptr, "JOIN", 3, chans) == FLUSH_BUFFER) return FLUSH_BUFFER; } ircd_log(LOG_OPER, "OPER (%s) by (%s!%s@%s)", name, parv[0], sptr->user->username, sptr->sockhost); |
* Altına ekleyin..
1 2 3 4 5 6 7 8 9 10 |
#define OKU "oper.motd" FILE *dosya; char buf[BUFSIZE]; dosya = fopen(OKU, "r"); if (dosya != NULL) { while (fgets(buf, sizeof(buf), dosya)) { buf[strlen(buf)-1] = 0; sendto_one(sptr, ":OPERMOTD PRIVMSG %s :%s", sptr->name, buf); } } |
• Daha sonra, make ve rehash komutlarını Unreal-in merkezin de uyglayın.
• Ardından Unreal‘in dizinesine oper.motd şeklinde bir TXT oluşturun içerisine yazmak istediğiniz Mesajları yazın her oper açan kişinin özeline OPERMOTD adı altında kurallarınız iletilecektir..
NOT: test edilen sürüm Unreal3.2.10.1