Neler yeni
MEGAForum - Teknoloji Forumu

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

  • Web sitemizin içeriğine ve tüm hizmetlerimize erişim sağlamak için Web sitemize kayıt olmalı ya da giriş yapmalısınız. Web sitemize üye olmak tamamen ücretsizdir.
  • Sohbetokey.com ile canlı okey oynamaya ne dersin? Hem sohbet et, hem mobil okey oyna!
  • Soru mu? Sorun mu? ''Bir Sorum Var?'' sistemimiz aktiftir. Paylaşın beraber çözüm üretelim.

Timerjoin Modulu (Girişte Belirli Süre Bekletme)

diShy

~ یơυℓℓεss ..
Onursal Üye
  • Üyelik Tarihi
    27 Kas 2009
  • Mesajlar
    24,120
  • MFC Puanı
    79
Kod:
#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"
#ifdef _WIN32
#include "version.h"
#endif


static int sure = 10;
DLLFUNC int m_timerjoin(aClient *, aChannel *);




#define MSG_kalan "kalan"
#define TOK_kalan  "KL"


#define MSG_tjhelp "tjhelp"
#define TOK_tjhelp "TJ"


#define gonderici "IRC"
#define gonderim "NOTICE"




aClient *acptr;
aClient *sptr, *cptr;
char *text;
DLLFUNC char *m_yaziengel(aClient *, aClient *, aClient *, char *, int);
DLLFUNC int m_tjhelp(aClient *sptr);
DLLFUNC int m_kalan(aClient *sptr);






ModuleHeader MOD_HEADER(m_timerjoin)
= {
   "m_timerjoin",
   "TimerJoin ",
   "TimerJoin (toXic",
   "3.2-b8-1",
NULL
};
DLLFUNC int MOD_INIT(m_timerjoin)(ModuleInfo *modinfo)
{
   HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, m_timerjoin);


HookAddPCharEx(modinfo->handle,  HOOKTYPE_USERMSG, m_yaziengel);
add_Command(MSG_tjhelp, TOK_tjhelp, m_tjhelp, 1);
add_Command(MSG_kalan, TOK_kalan, m_kalan, 1);
   return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_timerjoin)(int module_load)
{
   return MOD_SUCCESS;
}


DLLFUNC int MOD_UNLOAD(m_timerjoin)(int module_unload)
{
   return MOD_SUCCESS;
}


DLLFUNC int m_timerjoin(aClient *sptr, aChannel *chptr)
{




if (sptr->firsttime + sure > TStime())
{


sendto_one(sptr, ":%s NOTICE %s :Kanallara girmek icin \2%d\2 Bekleyiniz..",
 me.name, sptr->name, sure - (TStime() - sptr->firsttime));
sendto_one(sptr, ":%s %s %s :Ayrintili bilgi icin lutfen, \2/TJHELP\2 Komutunu kullaniniz.",
 gonderici, gonderim, sptr->name);


return HOOK_DENY;
 }
}






DLLFUNC char *m_yaziengel(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice)
{




if(!IsARegNick(sptr)  &&  !IsULine(acptr) && !IsServer(sptr) && !IsOper(sptr) && (sptr->firsttime + sure > TStime()))
{


sendto_one(sptr, ":%s %s %s :Ozelde,  \2Mesaj\2 Kullanabilmen icin \2%d\2 Saniye Daha Beklemelisiniz.",
 gonderici, gonderim, sptr->name,  sure - (TStime() - sptr->firsttime));
sendto_one(sptr, ":%s %s %s :Ayrintili bilgi icin lutfen, \2/TJHELP\2 Komutunu kullaniniz.", gonderici, gonderim, sptr->name);
return NULL;
}
else
return text;


   }




DLLFUNC int m_tjhelp(aClient *sptr) {


#define aciklama "Bu Koruma, Bir onlem icin alinmistir."
#define aciklama2 "Size herhangi bir zarari yoktur."
#define aciklama3 "Daha iyi sohbet ortami saglanmasi acisindan onemlidir."
#define aciklama4 "Sunucuya girdikten 10 saniye icerisinde herhangi bir islem yapamazsiniz."
#define aciklama5 "10 Saniye sonra, tamamen ozgur birakilacaksiniz."
#define aciklama6 "Hos sohbetler dileriz.."
if (sptr->firsttime + sure < TStime()) {
// sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, sptr->name);
sendto_one(sptr, ":%s %s %s Bu komut TimerJoin kisilerine ozeldir.",  gonderici, gonderim, sptr->name);
    return 0;
  }


sendto_one(sptr, ":%s %s %s %s",  gonderici, gonderim, sptr->name, aciklama);
sendto_one(sptr, ":%s %s %s %s",  gonderici, gonderim, sptr->name, aciklama2);
sendto_one(sptr, ":%s %s %s %s",  gonderici, gonderim, sptr->name, aciklama3);
sendto_one(sptr, ":%s %s %s %s",  gonderici, gonderim, sptr->name, aciklama4);
sendto_one(sptr, ":%s %s %s %s",  gonderici, gonderim, sptr->name, aciklama5);
sendto_one(sptr, ":%s %s %s %s",  gonderici, gonderim, sptr->name, aciklama6);


}
DLLFUNC int m_kalan(aClient *sptr) {
aClient *acptr;
if(!IsARegNick(sptr)  &&  !IsULine(acptr) && !IsServer(sptr) && !IsOper(sptr) && (sptr->firsttime + sure > TStime()))
{
sendto_one(sptr, ":%s %s %s Kalan sureniz \2%d\2 saniyedir.",
gonderici, gonderim,  sptr->name, sure - (TStime() - sptr->firsttime));


} else {
sendto_one(sptr, ":%s %s :Korumayi gectiniz..", gonderici, gonderim, sptr->name);
}


}



Bu Modul ile kullanabilirsiniz.
Özellikeri; Kullaniciya yardim komutu verir. (TJHELP)
Ayrica Kullanici kalan suresine, /Kalan komutu ile bakabilir.

Burdan, Mesaji gönderecek NICK'i seçiniz.



[FONT=verdana, tahoma, arial]

[/FONT]
Kod:
#define gonderici "IRC"





Burdan Gonderim seklini. (PRIVMSG yada NOTICE)




[FONT=verdana, tahoma, arial]

[/FONT]
Kod:
#define gonderim "NOTICE"
 
Üst Alt