Kahkaha

Bayıldım

Cool

Kızgın

Mahcup

Öğretici

Şaşkın

Suskun

Tatlı

Üzgün

Süper

Renkli Ident Ve Host

Ana Sayfa » internet » IRC » Renkli Ident Ve Host
Renkli Ident Ve Host
Kod;
#include "macros.h"
#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"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
#define MSG_CHGHOST  "CHGHOST"
#define TOK_CHGHOST  "AL"
DLLFUNC int m_chghost(aClient *cptr, aClient *sptr, int parc, char *parv[]);
ModuleHeader MOD_HEADER(m_chghost)
  = {
 "chghost", /* Name of module */
 "$Id: m_chghost.c,v 1.1.6.9 2006/06/16 18:29:16 syzop Exp $", /*
"Renkli Düzenleme : toXic",
 "3.2-b8-1",
    };
DLLFUNC int MOD_INIT(m_chghost)(ModuleInfo *modinfo)
{
 /*
  * We call our add_Command crap here
 */
 add_Command(MSG_CHGHOST, TOK_CHGHOST, m_chghost, MAXPARA);
 MARK_AS_OFFICIAL_MODULE(modinfo);
 return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_chghost)(int module_load)
{
 return MOD_SUCCESS;

}
DLLFUNC int MOD_UNLOAD(m_chghost)(int module_unload)
{
 if (del_Command(MSG_CHGHOST, TOK_CHGHOST, m_chghost) < 0)
 {
  sendto_realops("Failed to delete commands when unloading %s",
    MOD_HEADER(m_chghost).name);
 }
 return MOD_SUCCESS;

}

DLLFUNC int m_chghost(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
 aClient *acptr;
 if (MyClient(sptr) && !IsAnOper(sptr))
 {
  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name,
   parv[0]);
  return 0;
 }
#ifdef DISABLE_USERMOD
 if (MyClient(sptr))
 {
  sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGHOST",
   "This command is disabled on this server");
  return 0;
 }
#endif

 if ((acptr = find_person(parv[1], NULL)))
 {
  DYN_LOCAL(char, did_parts, acptr->user->joined);
  if (!strcmp(GetHost(acptr), parv[2]))
  {
   sendnotice(sptr, "*** /ChgHost Error: requested host is same as current host.");
   DYN_FREE(did_parts);
   return 0;
  }
  switch (UHOST_ALLOWED)
  {
   case UHALLOW_NEVER:
    if (MyClient(sptr))
    {
     sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGHOST",
      "This command is disabled on this server");
     DYN_FREE(did_parts);
     return 0;
    }
    break;
   case UHALLOW_ALWAYS:
    break;
   case UHALLOW_NOCHANS:
   if (IsPerson(acptr) && MyClient(sptr) && acptr->user->joined)
    {
     sendnotice(sptr, "*** /ChgHost can not be used while %s is on a channel", acptr->name);
     DYN_FREE(did_parts);
     return 0;
    }
    break;
   case UHALLOW_REJOIN:
    rejoin_doparts(acptr, did_parts);
    /* join sent later when the host has been changed */
    break;
  }

  if (!IsULine(sptr))
  {
   sendto_snomask(SNO_EYES,
       "%s changed the virtual hostname of %s (%s@%s) to be %s",
       sptr->name, acptr->name, acptr->user->username,
       acptr->user->realhost, parv[2]);
   /* Logging added by XeRXeS */
          ircd_log(LOG_CHGCMDS,
    "CHGHOST: %s changed the virtual hostname of %s (%s@%s) to be %s",
    sptr->name, acptr->name, acptr->user->username, acptr->user->realhost, parv[2]);
  }

  acptr->umodes |= UMODE_HIDE;
  acptr->umodes |= UMODE_SETHOST;
  sendto_serv_butone_token(cptr, sptr->name,
      MSG_CHGHOST, TOK_CHGHOST, "%s %s", acptr->name, parv[2]);
  if (acptr->user->virthost)
  {
   MyFree(acptr->user->virthost);
   acptr->user->virthost = 0;
  }
  acptr->user->virthost = strdup(parv[2]);
  if (UHOST_ALLOWED == UHALLOW_REJOIN)
   rejoin_dojoinandmode(acptr, did_parts);
  DYN_FREE(did_parts);
  return 0;
 }
 else
 {
  sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name,
      parv[1]);
  return 0;
 }
 return 0;
}

Burdaki m_chghost.c modulunu, FTP’Nizdeki ile değiştirim, make ve rehash cekin.

Kod:
#include "macros.h"
#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"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
#define MSG_CHGIDENT  "CHGIDENT"
#define TOK_CHGIDENT  "AZ"
DLLFUNC int m_chgident(aClient *cptr, aClient *sptr, int parc, char *parv[]);

ModuleHeader MOD_HEADER(m_chgident)
  = {
 "chgident", /* Name of module */
 "$Id: m_chgident.c,v 1.1.6.9 2006/06/16 18:29:16 syzop Exp $", /* Version */
 "Renkli Düzenleme : toXic",
 "3.2-b8-1",
 NULL
    };
DLLFUNC int MOD_INIT(m_chgident)(ModuleInfo *modinfo)
{
 add_Command(MSG_CHGIDENT, TOK_CHGIDENT, m_chgident, MAXPARA);
 MARK_AS_OFFICIAL_MODULE(modinfo);
 return MOD_SUCCESS;
}
DLLFUNC int MOD_LOAD(m_chgident)(int module_load)
{
 return MOD_SUCCESS;
}
DLLFUNC int MOD_UNLOAD(m_chgident)(int module_unload)
{
 if (del_Command(MSG_CHGIDENT, TOK_CHGIDENT, m_chgident) < 0)
 {
  sendto_realops("Failed to delete commands when unloading %s",
    MOD_HEADER(m_chgident).name);
 }
 return MOD_SUCCESS;
}

int m_chgident(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
aClient *acptr;
char *s;
int  legalident = 1;
 if (MyClient(sptr) && !IsAnOper(sptr))
 {
  sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
  return 0;
 }

#ifdef DISABLE_USERMOD
 if (MyClient(sptr))
 {
  sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGIDENT",
   "This command is disabled on this server");
  return 0;
 }
#endif
 if ((parc < 3) || !*parv[2])
 {
  sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS), me.name, sptr->name, "CHGIDENT");
  return 0;
 }
 if (strlen(parv[2]) > (USERLEN))
 {
  sendnotice(sptr, "*** ChgIdent Error: Requested ident too long -- rejected.");
  return 0;
 }

 if ((acptr = find_person(parv[1], NULL)))
 {
  DYN_LOCAL(char, did_parts, acptr->user->joined);
  switch (UHOST_ALLOWED)
  {
   case UHALLOW_NEVER:
    if (MyClient(sptr))
    {
     sendto_one(sptr, err_str(ERR_DISABLED), me.name, sptr->name, "CHGIDENT",
      "This command is disabled on this server");
     DYN_FREE(did_parts);
     return 0;
    }
    break;
   case UHALLOW_ALWAYS:
    break;
   case UHALLOW_NOCHANS:
    if (IsPerson(acptr) && MyClient(sptr) && acptr->user->joined)
    {
     sendnotice(sptr, "*** /ChgIdent can not be used while %s is on a channel", acptr->name);
     DYN_FREE(did_parts);
     return 0;
    }
    break;
   case UHALLOW_REJOIN:
    rejoin_doparts(acptr, did_parts);
    /* join sent later when the ident has been changed */
    break;
  }
  if (!IsULine(sptr))
  {
   sendto_snomask(SNO_EYES,
       "%s changed the virtual ident of %s (%s@%s) to be %s",
       sptr->name, acptr->name, acptr->user->username,
       GetHost(acptr), parv[2]);
   /* Logging ability added by XeRXeS */
   ircd_log(LOG_CHGCMDS,
    "CHGIDENT: %s changed the virtual ident of %s (%s@%s) to be %s",
    sptr->name, acptr->name, acptr->user->username,
    GetHost(acptr), parv[2]);
  }

  sendto_serv_butone_token(cptr, sptr->name,
      MSG_CHGIDENT,
      TOK_CHGIDENT, "%s %s", acptr->name, parv[2]);
  ircsprintf(acptr->user->username, "%s", parv[2]);
  if (UHOST_ALLOWED == UHALLOW_REJOIN)
   rejoin_dojoinandmode(acptr, did_parts);
  DYN_FREE(did_parts);
  return 0;
 }
 else
 {
  sendto_one(sptr, err_str(ERR_NOSUCHNICK), me.name, sptr->name,
      parv[1]);
  return 0;
 }
 return 0;

}

Buda chgident.c modulu aynı sekilde bunuda değiştiriniz.

Renkli Ident Ve Host - Yorumlar

YORUMLARINIZI PAYLAŞIN

 

Yapılan Yorumlar

BENZER İÇERİKLERİlginizi çekebilecek diğer içerikler

irc invex komutu

irc invex komutu 17 Ocak 2011

irc notify kullanımı

irc notify kullanımı 17 Ocak 2011

SOSYAL MEDYADA BİZSitemizin sosyal medya hesapları

RASTGELE İÇERİKLER

Web Sohbet Güncellendi Dost aradım Çocuklarda şişmanlık nasıl tedavi edilmeli? Baldıran Karınca ile Hz. Süleyman(a.s) RM MEKATRONİK MÜHENDİSLİK YAZILIM VE TİCARET LTD. Böyle olsaydı hayat

FACEBOOK'TA BİZ

Hoşgeldiniz

kelebek.gen.tr – kelebek mirc - Tüm Hakları Saklıdır