mirc, mirc indir, mirc turk, turkce mirc, türkçe mirc
mIRC addonlar , mIRC Script için hazır kodlar, mIRC Bot ve İnviterler, mIRC dosyaları, Türkçe mIRC ve mIRC hakkında aradığınız herşey burada! Türkçe mIRC indirmek için Tıklayın.
mirc
mirc
mirc
mirc
mIRCALem Taraftar Scripti Yayınlandı.. Seçtiğiniz Takımın Temasını Kullanıp Scriptinizi Değiştirebilir.. Tuttuğunuz takımın sohbet odalarından dilediğinizce sohbet edebilirsiniz..
İndirmek İçin Tıklayınız

tekrar koruması norepeat.c
Merhaba değerli arkadaşlar. elimde sunucuda tekrar koruması sağlayan bir modul var. bu modulu aldım inceledim bazı dezavantajları var

kodlamadan anlayan arkadaslarımdan bazı ricalarım olacak yapılabilirse sevinirim. bu modul daha önce verildi mi bilmiyorum forumda arattırdım bulamadım. umarım işinize yarar arkadaslar. Moduldeki aksaklıklardan biri. gülücük işaretini :d i de tekrardan sayması ve engellemesidir. ayrıca tekrar icin sabit bir süre konmuşmu anlamadım ikinci tekrarı engelledigini biliyorum denedim. ben bu modul için bir set blogu oluştararak şu kadar zaman icin de şu kadar tekrar yapılırsa bir sonraki tekrar icin şukarda süre beklet gibi bir seçenek yaratmanın iyi olacağını dusunuyorum. böylece sunucularda flood engellenmiş olacak en azından tekrar bazında. yardımlarınızı bekliyorum tşkler.




Kod :
#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\"
#ifdef STRIPBADWORDS
#include \"badwords.h\"
#endif
#ifdef _WIN32
#include \"version.h\"
#endif

// Channel Mode Flag. Change Z to whatever you want but MUST be one character.
#define FLAG_NOREPEAT \'Z\'
#define IsNoRepeat(x) ((x)->mode.extmode & MODE_NOREPEAT)

Cmode_t MODE_NOREPEAT = 0L;
Cmode *ModeNoRepeat;

static char *cb_chanmsg(aClient *, aClient *, aChannel *, char *, int);
static Hook *HookChanMsg;


typedef struct _norepeat norepeat;
struct _norepeat {
norepeat *prev,*next;
aClient *cptr;
aChannel *chptr;
char msg[BUFSIZE];
};
norepeat *norepeat_last;

norepeat *new_norepeat(void);
void remove_norepeat(norepeat *);
norepeat *find_norepeat(aClient *,aChannel *);


ModuleHeader MOD_HEADER(NoRepeat)
= {
\"NoRepeat\",
\"v0.1\",
\"+Z No repeat by penna\",
\"3.2-b8-1\",
NULL
};

DLLFUNC int MOD_INIT(NoRepeat)(ModuleInfo *modinfo)
{
CmodeInfo ModeNR;
#ifndef STATIC_LINKING
ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);
#endif
memset(&ModeNoRepeat, 0, sizeof ModeNoRepeat);

ModeNR.paracount = 0;
ModeNR.is_ok = extcmode_default_requirechop;
ModeNR.flag = FLAG_NOREPEAT;
ModeNoRepeat = CmodeAdd(modinfo->handle, ModeNR, &MODE_NOREPEAT);

#ifndef STATIC_LINKING
if (ModuleGetError(modinfo->handle) != MODERR_NOERROR || !ModeNoRepeat)
{
config_error(\"Error adding channel mode +%c when loading module %s: %s\",
ModeNR.flag,MOD_HEADER(NoRepeat).name,ModuleGetErrorStr(modinfo->handle));
}
#else
if (!ModeNoRepeat)
{
config_error(\"Error adding channel mode +%c when loading module %s:\",
ModeNR.flag,MOD_HEADER(NoRepeat).name);
}
#endif

HookChanMsg = HookAddPCharEx(modinfo->handle,HOOKTYPE_CHANMSG,cb_chanmsg);

return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(NoRepeat)(int module_load)
{
return MOD_SUCCESS;
}

DLLFUNC int MOD_UNLOAD(NoRepeat)(int module_unload)
{
if (ModeNoRepeat)
CmodeDel(ModeNoRepeat);
HookDel(HookChanMsg);

return MOD_SUCCESS;
}

DLLFUNC char *cb_chanmsg(aClient *cptr, aClient *sptr, aChannel *chptr, char *text, int notice)
{
static char retbuf[4096];
norepeat *nr;

if (!IsNoRepeat(chptr) || !MyClient(sptr))
return text;

nr = find_norepeat(cptr,chptr);
if (nr == NULL)
{
nr = new_norepeat();
nr->cptr = cptr;
nr->chptr = chptr;
}
if (!strcmp(nr->msg,text))
return NULL;

strcpy(nr->msg,text);
return text;
}

norepeat *new_norepeat(void)
{
norepeat *nr;

nr = (norepeat *)malloc(sizeof(norepeat));
memset(nr,0, sizeof(norepeat));

nr->next = norepeat_last;
norepeat_last = nr;
if (nr->next)
nr->next->prev = nr;

return nr;
}

void remove_norepeat(norepeat *nr)
{
if (nr->prev)
nr->prev->next = nr->next;
else
{
norepeat_last = nr->next;
if (norepeat_last)
norepeat_last->prev = NULL;
}
if (nr->next)
nr->next->prev = nr->prev;

free(nr);
nr = NULL;
}

norepeat *find_norepeat(aClient *cptr,aChannel *chptr)
{
norepeat *nr;
for (nr = norepeat_last;nr;nr = nr->next)
{
if ((nr->cptr == cptr) && (nr->chptr == chptr))
return nr;
}
return NULL;
}



mirc indir - tekrar koruması norepeat.c
mirc
Dünyanın en büyük arama motoru olan Google üzerinde mIRC , mirc , mırc , mırç , mirç kelimelerinde öncülük yapan mIRC Alem sitesi olarak sizler için hazırladığımız Türkçe mIRC ile daha rahat sohbet edebilirsiniz.

Türkçe mIRC indirmek için tıklayın!

Mirc, mırc indir

mirc
MircAlem Sohbet Sunucumuzun Oyun ve Kelime Kanalına Herkezi Bekleriz..Bu Ayın Sıralamaları
Oyun Kanalı
1) gazel
2) snake
3) yelmisss
Kelime Kanalı
1) kitty
2) CenqeR
3) Musem
Yarışma Kanalı
1) SheqirL
2) FaCToR_06
3) haki
Favori Scriptler
MircAlem Script V2
MircAlem Kullanıcıları için özel hazırlanmış olan yeni Versiyonumuzu Kullanımınıza Sunuyoruz.. Bir Çok özellik eklenmiştir. kullanımı kolay ve tasarımı gayet güzel olan bu scripti kullanmanızı tavsiye ederiz...
Profesyonel Script
MircAlem Sohbet Sunucusu Kullanıcılarının İsteği Üzerine Kanal Yetkilileri ve Kullanıcılar İçin Hazırladığımız Profesyonel Script Piyasaya Sunuyoruz.. Umarım Beğenilerinizi Toplar Ve Yeni Sürümleri İle Devamlılığını Sağlarız
Kameralı Mirc İndir
Mirc ile görüntülü sohbet imkanı hemen yükle
Kelebek Mirc İndir
Türkiye'nin 1 numaralı sohbet chat programı kelebek Mirc mutlaka deneyiniz