Merhabalar,
• Klasör: Unreal3.2*/src/modules/
• Dosya: m_oper.c
BULUN,
Kod :
DLLFUNC int m_oper(aClient *cptr, aClient *sptr, int parc, char *parv[]);
ÜSTÜNE,
Kod :
#define Monitor "#opers"
aChannel *chptr;
EKLEYİN,
* Oper açanları kanala bildirmesi için;
Kod :
if (announce != NULL)
sendto_snomask_global(SNO_OPER,
"%s (%[email protected]%s) [%s] %s",
parv[0], sptr->user->username, sptr->sockhost,
parv[1], announce);
Kod :
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :%s (%[email protected]%s) [%s] %s",
Monitor, parv[0], sptr->user->username, sptr->sockhost, parv[1], announce);
}
* OPER şifresini hatalı girenleri kanala yansıtmak için;
Kod :
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) using UID %s [FAILEDAUTH]",
parv[0], sptr->user->username, sptr->sockhost, name);
Kod :
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%[email protected]%s) using UID %s [FAILEDAUTH]",
Monitor, parv[0], sptr->user->username, sptr->sockhost, name);
}
* OPER maxlogins reached, bildirimleri için;
Kod :
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) using UID %s [maxlogins reached]",
parv[0], sptr->user->username, sptr->sockhost, name);
ircd_log(LOG_OPER, "OPER TOOMANYLOGINS (%s) by (%s!%[email protected]%s)", name, parv[0],
sptr->user->username, sptr->sockhost);
* Altına ekleyin..
Kod :
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%[email protected]%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;
Kod :
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) [unknown oper]",
parv[0], sptr->user->username, sptr->sockhost);
ircd_log(LOG_OPER, "OPER UNKNOWNOPER (%s) by (%s!%[email protected]%s)", name, parv[0],
sptr->user->username, sptr->sockhost);
* Altına ekleyin..
Kod :
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :Failed OPER attempt by %s (%[email protected]%s) [unknown oper]",
Monitor, parv[0], sptr->user->username, sptr->sockhost);
}
* OPER host doesnt match, bildirimleri için;
Kod :
(SNO_OPER, "Failed OPER attempt by %s (%[email protected]%s) using UID %s [host doesnt match]",
parv[0], sptr->user->username, sptr->sockhost, name);
ircd_log(LOG_OPER, "OPER NOHOSTMATCH (%s) by (%s!%[email protected]%s)", name, parv[0],
sptr->user->username, sptr->sockhost);
* Altına ekleyin..
Kod :
if ((chptr = find_channel(Monitor, NullChn)) != NullChn) {
sendto_channel_butone(&me, &me, chptr, ":Monitor PRIVMSG %s :by %s (%[email protected]%s) using UID %s [host doesnt match]",
Monitor, parv[0], sptr->user->username, sptr->sockhost, name);
}
- Örnek çıktılar aşağıdaki gibi olacaktır.:
Kod :
<Monitor> Failed OPER attempt by s ([email protected]) using UID Entrance [FAILEDAUTH]
Kod :
<Monitor> Failed OPER attempt by s ([email protected]) using UID Entrance [maxlogins reached]
Kod :
<Monitor> Failed OPER attempt by s ([email protected]) [unknown oper]
Kod :
<Monitor> s ([email protected]) [Entrance] is now a network administrator (N)
* En son olarakta OPER açan kişilerin özeline belli başlı OPER kurallarını göndermek için ise;
Kod :
if (do_cmd(cptr, sptr, "JOIN", 3, chans) == FLUSH_BUFFER)
return FLUSH_BUFFER;
}
ircd_log(LOG_OPER, "OPER (%s) by (%s!%[email protected]%s)", name, parv[0], sptr->user->username,
sptr->sockhost);
* Altına ekleyin..
Kod :
#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);
}
}
• 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
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.