Kod;
#include "macros.h" #include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.h" #include "channel.h" #include <time.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _WIN32 #include <io.h> #endif #include <fcntl.h> #include "h.h" #include "proto.h" #ifdef STRIPBADWORDS #include "badwords.h" #endif #ifdef _WIN32 #include "version.h" #endif #define MSG_CHGHOST "CHGHOST" #define TOK_CHGHOST "AL" DLLFUNC int m_chghost(aClient *cptr, aClient *sptr, int parc, char *parv[]); ModuleHeader MOD_HEADER(m_chghost) = { "chghost", /* Name of module */ "$Id: m_chghost.c,v 1.1.6.9 2006/06/16 18:29:16 syzop Exp $", /* "Renkli Düzenleme : toXic", "3.2-b8-1", }; DLLFUNC int MOD_INIT(m_chghost)(ModuleInfo *modinfo) { /* * We call our add_Command crap here */ add_Command(MSG_CHGHOST, TOK_CHGHOST, m_chghost, MAXPARA); MARK_AS_OFFICIAL_MODULE(modinfo); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_chghost)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_chghost)(int module_unload) { if (del_Command(MSG_CHGHOST, TOK_CHGHOST, m_chghost) < 0) { sendto_realops("Failed to delete commands when unloading %s", MOD_HEADER(m_chghost).name); } return MOD_SUCCESS; } DLLFUNC int m_chghost(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aClient *acptr; if (MyClient(sptr) && !IsAnOper(sptr)) { sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]); return 0; } #ifdef DISABLE_USERMOD if (MyClient(sptr)) { sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGHOST", "This command is disabled on this server"); return 0; } #endif if ((acptr = find_person(parv[1], NULL))) { DYN_LOCAL(char, did_parts, acptr->user->joined); if (!strcmp(GetHost(acptr), parv[2])) { sendnotice(sptr, "*** /ChgHost Error: requested host is same as current host."); DYN_FREE(did_parts); return 0; } switch (UHOST_ALLOWED) { case UHALLOW_NEVER: if (MyClient(sptr)) { sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGHOST", "This command is disabled on this server"); DYN_FREE(did_parts); return 0; } break; case UHALLOW_ALWAYS: break; case UHALLOW_NOCHANS: if (IsPerson(acptr) && MyClient(sptr) && acptr->user->joined) { sendnotice(sptr, "*** /ChgHost can not be used while %s is on a channel", acptr->name); DYN_FREE(did_parts); return 0; } break; case UHALLOW_REJOIN: rejoin_doparts(acptr, did_parts); /* join sent later when the host has been changed */ break; } if (!IsULine(sptr)) { sendto_snomask(SNO_EYES, "%s changed the virtual hostname of %s (%s@%s) to be %s", sptr->name, acptr->name, acptr->user->username, acptr->user->realhost, parv[2]); /* Logging added by XeRXeS */ ircd_log(LOG_CHGCMDS, "CHGHOST: %s changed the virtual hostname of %s (%s@%s) to be %s", sptr->name, acptr->name, acptr->user->username, acptr->user->realhost, parv[2]); } acptr->umodes |= UMODE_HIDE; acptr->umodes |= UMODE_SETHOST; sendto_serv_butone_token(cptr, sptr->name, MSG_CHGHOST, TOK_CHGHOST, "%s %s", acptr->name, parv[2]); if (acptr->user->virthost) { MyFree(acptr->user->virthost); acptr->user->virthost = 0; } acptr->user->virthost = strdup(parv[2]); if (UHOST_ALLOWED == UHALLOW_REJOIN) rejoin_dojoinandmode(acptr, did_parts); DYN_FREE(did_parts); return 0; } else { sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name, parv[1]); return 0; } return 0; }
Burdaki m_chghost.c modulunu, FTP’Nizdeki ile değiştirim, make ve rehash cekin.
#include "macros.h" #include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.h" #include "channel.h" #include <time.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _WIN32 #include <io.h> #endif #include <fcntl.h> #include "h.h" #include "proto.h" #ifdef STRIPBADWORDS #include "badwords.h" #endif #ifdef _WIN32 #include "version.h" #endif #define MSG_CHGIDENT "CHGIDENT" #define TOK_CHGIDENT "AZ" DLLFUNC int m_chgident(aClient *cptr, aClient *sptr, int parc, char *parv[]); ModuleHeader MOD_HEADER(m_chgident) = { "chgident", /* Name of module */ "$Id: m_chgident.c,v 1.1.6.9 2006/06/16 18:29:16 syzop Exp $", /* Version */ "Renkli Düzenleme : toXic", "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(m_chgident)(ModuleInfo *modinfo) { add_Command(MSG_CHGIDENT, TOK_CHGIDENT, m_chgident, MAXPARA); MARK_AS_OFFICIAL_MODULE(modinfo); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_chgident)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_chgident)(int module_unload) { if (del_Command(MSG_CHGIDENT, TOK_CHGIDENT, m_chgident) < 0) { sendto_realops("Failed to delete commands when unloading %s", MOD_HEADER(m_chgident).name); } return MOD_SUCCESS; } int m_chgident(aClient *cptr, aClient *sptr, int parc, char *parv[]) { aClient *acptr; char *s; int legalident = 1; if (MyClient(sptr) && !IsAnOper(sptr)) { sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]); return 0; } #ifdef DISABLE_USERMOD if (MyClient(sptr)) { sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGIDENT", "This command is disabled on this server"); return 0; } #endif if ((parc < 3) || !*parv[2]) { sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "CHGIDENT"); return 0; } if (strlen(parv[2]) > (USERLEN)) { sendnotice(sptr, "*** ChgIdent Error: Requested ident too long -- rejected."); return 0; } if ((acptr = find_person(parv[1], NULL))) { DYN_LOCAL(char, did_parts, acptr->user->joined); switch (UHOST_ALLOWED) { case UHALLOW_NEVER: if (MyClient(sptr)) { sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGIDENT", "This command is disabled on this server"); DYN_FREE(did_parts); return 0; } break; case UHALLOW_ALWAYS: break; case UHALLOW_NOCHANS: if (IsPerson(acptr) && MyClient(sptr) && acptr->user->joined) { sendnotice(sptr, "*** /ChgIdent can not be used while %s is on a channel", acptr->name); DYN_FREE(did_parts); return 0; } break; case UHALLOW_REJOIN: rejoin_doparts(acptr, did_parts); /* join sent later when the ident has been changed */ break; } if (!IsULine(sptr)) { sendto_snomask(SNO_EYES, "%s changed the virtual ident of %s (%s@%s) to be %s", sptr->name, acptr->name, acptr->user->username, GetHost(acptr), parv[2]); /* Logging ability added by XeRXeS */ ircd_log(LOG_CHGCMDS, "CHGIDENT: %s changed the virtual ident of %s (%s@%s) to be %s", sptr->name, acptr->name, acptr->user->username, GetHost(acptr), parv[2]); } sendto_serv_butone_token(cptr, sptr->name, MSG_CHGIDENT, TOK_CHGIDENT, "%s %s", acptr->name, parv[2]); ircsprintf(acptr->user->username, "%s", parv[2]); if (UHOST_ALLOWED == UHALLOW_REJOIN) rejoin_dojoinandmode(acptr, did_parts); DYN_FREE(did_parts); return 0; } else { sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name, parv[1]); return 0; } return 0; }
Buda chgident.c modulu aynı sekilde bunuda değiştiriniz.
Renkli Ident Ve Host - Yorumlar
Yapılan Yorumlar
BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler
Irc Oper Komutlarının Bir Tanesinde Kısaltma 19 Şubat 2011
irc ban parametrelerinin kullanımı 17 Ocak 2011
irc invex komutu 17 Ocak 2011
irc notify kullanımı 17 Ocak 2011
SOSYAL MEDYADA BİZSitemizin sosyal medya hesapları
ÖNE ÇIKAN KATEGORİLER
FACEBOOK'TA BİZ
Hoşgeldiniz
kelebek.gen.tr – kelebek mirc - Tüm Hakları Saklıdır