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;
}
}
}
}