IRCALEM.Com Genel Forum, IRC Forumu IF - Genel IRCd (Sunucu, Servis, Botlar, Korumalar) UnrealIRCd Unreal3.2.x - Modülleri UnrealIRCd Random QUIT mesajı
irc

UnrealIRCd Random QUIT mesajı
Aytac
UnrealIRCd Random QUIT mesajı
0
471
  • 0 Oy - 0 Ortalama
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Etiketler
unrealircd random mesajı quit

Bu konuyu görüntüleyen kullanıcı(lar):1 Ziyaretçi
Şuan Offine!
Şuan Offine!
Aytac Administrator
********
Proje Sorumlusu

  • Üyelik tarihi    04.02.2020
  • Konum  78 Karabük
  • Konular351
  • Mesajlar364
  • Verilen beğeni8 in 5 posts
  • Alınan beğeni6
  • Rep puanı 6

Merhaba,

Herzaman olduğu gibi yine ve yeniden bir kullanıcının isteği üzerine idi.. :) olduğu gibi mesajımı kopyalıyorum umarım işinize yarar.

Bence o düzenlemeyle uğraşmayın az önce konuyu görünce Sky-Dancer, arkadaşımızın yapmış olduğu RandomQuit modülünü OPER ve ADMIN seviyesin de olan kişiler için düzenledim yapmanız gerekenler aşağıda ki adımları izlemek olacaktır.

Kod :
char *CikisListesi[] = { 
"Buraya normal kullanıcıların çıkış mesajını belirtiniz",  
};
Kod :
char *OperCikisListesi[] = {  
"Buraya ise, Oper ve adminlerin çıkış mesajlarını belirtiniz",
};

NOT: Mesajları çoğaltmak için aynı mantıkla devam edebilirsiniz.

randomquit.c modülü;

Kod :
/*
* RandomQuit Modülü -> Yapımcı : Sky-Dancer
* Yapılması Gerekenler:
* -> modül içinden CikisListesi değişkeni Çıkış listesini dilediğiniz gibi ayarlayınız.
* -> Modülü Diğer Modüller Gibi Kurunuz.
*/


/*
* Son Düzenleme; Entrance
* Böyle bir Modülü kullanıcılar ile buluşturduğu için kendisine teşekkür ediyorum.
* Son olarak, Modülü Oper/admin seviyesin de olan kişiler için düzenledim umuyorum ki, bu durumdan kendisi Hoşnut kalır.
*/

#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

char *CikisListesi[] = {
"Buraya normal kullanıcıların çıkış mesajını belirtiniz 
  };

char *OperCikisListesi[] = {
"Buraya ise, Oper ve adminlerin çıkış mesajlarını belirtiniz"
};



#define CMD_QUIT "Quit"

DLLFUNC int over_quit(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]);

DLLFUNC int over_quits(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]);


static Cmdoverride        *OvrQuit = NULL;

static ModuleInfo   *Module_RandomQuit;

ModuleHeader MOD_HEADER(RandomQuit) = {
    "RandomQuit",
    "Random    Quit Mesajı (By Sky-Dancer)",
    "Random Quit Mesajı (By Sky-Dancer)",
    "3.2-b8-1",
    NULL
};

DLLFUNC int MOD_TEST(RandomQuit)(ModuleInfo *modinfo) {
return MOD_SUCCESS;
}

DLLFUNC int MOD_INIT(RandomQuit)(ModuleInfo *modinfo) {
    Module_RandomQuit=modinfo;
return MOD_SUCCESS;
}

DLLFUNC int MOD_LOAD(RandomQuit)(int module_load) {
    int ret=MOD_SUCCESS;
    OvrQuit = CmdoverrideAdd(Module_RandomQuit->handle, CMD_QUIT,  over_quit);
                   OvrQuit = CmdoverrideAdd(Module_RandomQuit->handle, CMD_QUIT,  over_quits);
    if (!OvrQuit)
        ret=MOD_FAILED;
return ret;
}


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


DLLFUNC int over_quit(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]) {
    int Secim;
    char Mesajimiz[64];

    if (IsULine(sptr) || IsServer(sptr) || IsOper(sptr))
        return CallCmdoverride(ovr, cptr, sptr, parc, parv);

//    if (MyClient(sptr)) {
    if (IsPerson(sptr)) {
        srand(time(NULL));
         Secim = rand()%(sizeof(CikisListesi)/sizeof(*CikisListesi));
        strcpy(Mesajimiz, CikisListesi[Secim]);
    return exit_client(cptr, sptr, sptr, Mesajimiz);
    }

return CallCmdoverride(ovr, cptr, sptr, parc, parv);
}


DLLFUNC int over_quits(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, char *parv[]) {
    int Secims;
    char Mesajimizi[64];

    if (IsULine(sptr) || IsServer(sptr) && !IsOper(sptr))
        return CallCmdoverride(ovr, cptr, sptr, parc, parv);

//    if (MyClient(sptr)) {
                  if (IsPerson(sptr)) {
        srand(time(NULL));
         Secims = rand()%(sizeof(OperCikisListesi)/sizeof(*OperCikisListesi));
        strcpy(Mesajimizi, OperCikisListesi[Secims]);
    return exit_client(cptr, sptr, sptr, Mesajimizi);
    }

return CallCmdoverride(ovr, cptr, sptr, parc, parv);
}
“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş.


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  UnrealIRCd Port Koruması Aytac 0 645 12.04.2020, 16:13
Son Mesaj: Aytac
  Unreal3.2 Otomatik Random Global Mesajı Aytac 0 497 12.04.2020, 16:09
Son Mesaj: Aytac
  UnrealIRCd Sunucuya Baglantı Zamanını gösterme Modülü Aytac 0 503 12.04.2020, 13:08
Son Mesaj: Aytac
  UnrealIRCd Log Kanalı Modülü Aytac 0 422 12.04.2020, 13:05
Son Mesaj: Aytac

Foruma Git: