Merhaba arkadaşlar.
Bir çok mirc kodu ve tcl olarak yapılan bir sistemdir. Artık mirc ve tcl kodlarıyla uğraşmaya gerek yok. Bu modül sayesinde kolaylıkla sorununuzu çözmüş olacaksınız. Sunucunuzda Halfop – Aop – Protect Olanları belirtilen kanala sajoinler. Founders yani Owner olan kişiyi ise #Founders kanalına sajoinlemektedir.
Bu sistem PrefixHost.c modülü, üzerinden yapılmıştır. Modül yazarı Entrance (Taner)
/* Bu sistem PrefixHost.c modülü, üzerinden yapılmıştır. */ #include "config.h" #include "struct.h" #include "common.h" #include "sys.h" #include "numeric.h" #include "msg.h" #include "channel.h" #include #include #include #include #include #ifdef _WIN32 #include #endif #include #include "h.h" #include "proto.h" #ifdef STRIPBADWORDS #include "badwords.h" #endif #ifdef _WIN32 #include "version.h" #endif #define Module "m_autojoin" #define Aciklama "Prefix: -> @,&,~) alan kullanıcıları belirtilen kanala alma by Entrance" /* GLOBAL kanallarda AOP ve SOP yetkilerine sahip olan kullanıcı'ların toplanacağı kanal. */ char *joins[3], kanal[512]; char *kanalx = "#GlobalOps"; /* GLOBAL kanallarda founder yetkisine sahip olan kullanıcı'ların toplanacağı kanal. */ char *join[3], kanall[512]; char *kanalinismi = "#Founders"; static int m_Mod(aClient *, aClient *, aChannel *, char *, char *, TS, int); static int m_Mods(aClient *, aClient *, aChannel *, char *, char *, TS, int); ModuleHeader MOD_HEADER(m_autojoi) = { Module, Aciklama, Aciklama, "3.2-b8-1", NULL }; DLLFUNC int MOD_INIT(m_autojoin)(ModuleInfo *modinfo) { HookAddEx(modinfo->handle, HOOKTYPE_REMOTE_CHANMODE, m_Mod); HookAddEx(modinfo->handle, HOOKTYPE_REMOTE_CHANMODE, m_Mods); return MOD_SUCCESS; } DLLFUNC int MOD_LOAD(m_autojoin)(int module_load) { return MOD_SUCCESS; } DLLFUNC int MOD_UNLOAD(m_autojoin)(int module_unload) { return MOD_SUCCESS; } int CKanal(aClient *sptr) { aChannel *chptr; if (IsServer(sptr) || IsULine(sptr) || IsOper(sptr)) return 0; strlcpy(kanal, kanalx, sizeof(kanal)); joins[0] = sptr->name; joins[1] = kanal; joins[2] = NULL; do_cmd(sptr, sptr, "JOIN", 2, joins); return 0; } int Kname(aClient *sptr) { aChannel *chptr2; if (IsServer(sptr) || IsULine(sptr) || IsOper(sptr)) return 0; strlcpy(kanall, kanalinismi, sizeof(kanall)); join[0] = sptr->name; join[1] = kanall; join[2] = NULL; do_cmd(sptr, sptr, "JOIN", 2, join); return 0; } static int m_Mod(aClient *cptr, aClient *sptr, aChannel *chptr, char *modebuf, char *parabuf, TS sendts, int samode) { char *p, *prefixx, *prefixx2; aClient *pree; if (stricmp(sptr->name,"ChanServ")) return 0; if (!strcmp(modebuf,"+o") || !strcmp(modebuf,"+oa")) { prefixx = strtoken(&p, parabuf, " "); if (!BadPtr(parabuf)) { if ((pree = find_client(parabuf, NULL))) { CKanal(pree); return 0; } } } } static int m_Mods(aClient *cptr, aClient *sptr, aChannel *chptr, char *modebuf, char *parabuf, TS sendts, int samode) { char *p, *prefix, *prefix2; aClient *pre; if (stricmp(sptr->name,"ChanServ")) return 0; if (!strcmp(modebuf,"+oq")) { prefix = strtoken(&p, parabuf, " "); if (!BadPtr(parabuf)) { if ((pre = find_client(parabuf, NULL))) { Kname(pre); return 0; } } } }