Merhaba arkadaşlar.
Yine Entrance (Taner) arkadaşımızın yazmış olduğu bir modülden bahsedeceğim sizlere. Modülün işleyişi, sunucu üzerinde modül içerisine belirtmiş olduğunuz mesajları 10 dakika da bir random olarak, NOTICE veya PRIVMSG olarak gönderme imkânı sunuyor. Tabii bazen aynı metini bir kaç kez gönderebiliyor bilginize..)
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "proto.h"
#include "channel.h"
#include
#include
#include
#include
#include
#ifdef _WIN32
#include
#endif
#include
#include "h.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
/* Mesaj türü ister özele attırabilir isterseniz de NOTICE olarak kullanabilirsiniz. */
#define mesaj "PRIVMSG"
/* Global mesajı gönderecek olan NICK, dilediğiniz gibi değiştirebilirsiniz. */
#define nick "DUYURU"
/* Buraya random olarak atmasını istediğiniz mesajları ekleyiniz. */
char *Liste[8]={
"Mesaj1",
"Mesaj2",
"Mesaj3",
"Mesaj4",
"Mesaj5",
"Mesaj6",
"Mesaj7",
"Mesaj8",
};
#define ACIKLAMA "Otomatik random global modülü by Entrance"
EVENT(E_oto_global);
static Event *e = NULL;
ModuleInfo Modinfo;
ModuleHeader MOD_HEADER(otomatikglobal) = {
"Otoglobal",
ACIKLAMA,
ACIKLAMA,
"3.2-b8-1",
NULL
};
DLLFUNC int MOD_INIT(otomatikglobal)(ModuleInfo *module)
{
bcopy(module,&Modinfo,module->size);
return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(otomatikglobal)(int module_load)
{
e = EventAddEx(Modinfo.handle, "E_oto_global", 600, 0, E_oto_global, NULL);
return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(otomatikglobal)(int module_unload)
{
EventDel(e);
return MOD_SUCCESS;
}
EVENT(E_oto_global)
{
aClient *sptr;
srand (time(NULL));
int ent = rand()%8;
for (sptr = client; sptr; sptr = sptr->next)
{
if (MyClient(sptr))
sendto_one(sptr, ":%s!RGlobal@%s %s %s %s", nick, me.name, mesaj, sptr->name, Liste[ent]);
}
return;
}