23 Eylül 2015, 16:22 | #1 |
Üyelik tarihi: 01 Mart 2015
Mesajlar: 203 WEB Sitesi: www.code.com IRC Sunucusu: irc.code.com İlgi Alanı: Alınan Beğeni: 33 |
IRCServices 5.1.24 (+q) Founder Düzenlemesi
IRCServices 5.1.24 sürümü ile kaldırılan founder sorunun daha önceden sorusu sorulmuş ve çözümler yetersiz kalmış, bende hazır ora yazmışken döküman haline getireyim dedim, yardımcı olabildiysem ne mutlu bana.
Biraz eskidi konu ancak hala sorun yaşayanlar varsa ben çözdüğüm yöntemi anlatmak istiyorum; Dosya: irc*.*/modules/chanserv/access.c Kod:
{ CA_AUTOPROTECT, ACCLEV_SOP, "AUTOPROTECT", CHAN_LEVEL_AUTOPROTECT, CL_SET_MODE, { .cumode = {"a",0} } }, Kod:
{ CA_AUTOOWNER, ACCLEV_FOUNDER, "", -1, CL_SET_MODE, { .cumode = {"", 1} } }, Kod:
for (i = 0; levelinfo[i].what >= 0; i++) { int type = levelinfo[i].action & CL_TYPEMASK; if (type == CL_SET_MODE || type == CL_CLEAR_MODE) { /* Use MODE_NOERROR to deal with protocols that don't * support some modes (e.g. +h in AUTODEOP) */ levelinfo[i].target.cumode.flags = mode_string_to_flags(levelinfo[i].target.cumode.modes, MODE_CHANUSER | MODE_NOERROR); } def_levels[levelinfo[i].what] = levelinfo[i].defval; lev_is_max[levelinfo[i].what] = levelinfo[i].action & CL_LESSEQUAL; } Kod:
for (i = 0; levelinfo[i].what >= 0; i++) { int type = levelinfo[i].action & CL_TYPEMASK; if (type == CL_SET_MODE || type == CL_CLEAR_MODE) { if (levelinfo[i].what == CA_AUTOOWNER) { if (chanusermode_owner) levelinfo[i].target.cumode.flags = chanusermode_owner; else levelinfo[i].action = CL_OTHER; /* make it a no-op */ } else { /* Use MODE_NOERROR to deal with protocols that don't * support some modes (e.g. +h in AUTODEOP) */ levelinfo[i].target.cumode.flags = mode_string_to_flags(levelinfo[i].target.cumode.modes, MODE_CHANUSER | MODE_NOERROR); } } def_levels[levelinfo[i].what] = levelinfo[i].defval; lev_is_max[levelinfo[i].what] = levelinfo[i].action & CL_LESSEQUAL; } Bunu bulup; Kod:
/* CA_AUTOOWNER 18 */ /* No longer used */ Kod:
#define CA_AUTOOWNER 18 Dosya: irc*.*/modules/chanserv/main.c Bunu bulup; Kod:
else if (strcmp(cmd, "DEHALFOP") == 0) target_nextacc = CA_AUTOOP; else target_nextacc = -1; Kod:
if (strcmp(cmd, "DEPROTECT") == 0 && chanusermode_owner) mode |= chanusermode_owner; Bunu bulup; Kod:
char chanmode_multiple[257]; /* Chanmodes that can be set multiple times */ Kod:
int32 chanusermode_owner; Kod:
modelist = chanusermodes; flaglist = chanuserflags; for (i = 0; i < 256; i++) { if (modelist[i].flag) { int n = 0; uint32 tmp = (uint32) modelist[i].flag; prefixtable[ (uint8)modelist[i].prefix ] = tmp; while (tmp >>= 1) n++; if (n < 31) flaglist[n] = (char)i; if (modelist[i].plus_params!=1 || modelist[i].minus_params!=1) { log("modes: Warning: channel user mode `%c' takes %d/%d" " parameters (should be 1/1)", i, modelist[i].plus_params, modelist[i].minus_params); } } } } Kod:
modelist = chanusermodes; flaglist = chanuserflags; for (i = 0; i < 256; i++) { if (modelist[i].flag) { int n = 0; uint32 tmp = (uint32) modelist[i].flag; prefixtable[ (uint8)modelist[i].prefix ] = tmp; if (modelist[i].info & MI_CHANOWNER) chanusermode_owner |= tmp; while (tmp >>= 1) n++; if (n < 31) flaglist[n] = (char)i; if (modelist[i].plus_params!=1 || modelist[i].minus_params!=1) { log("modes: Warning: channel user mode `%c' takes %d/%d" " parameters (should be 1/1)", i, modelist[i].plus_params, modelist[i].minus_params); } } } } Bunu bulup; Kod:
#define MI_REGNICKS_ONLY 0x08 /* [ C] Only registered/ID'd nicks may join */ Kod:
#define MI_CHANOWNER 0x10 Kod:
extern int32 chanmode_opersonly;/* Chanmodes indicating oper-only channels */ Kod:
extern int32 chanusermode_owner; Bunu bulup; Kod:
static const struct modedata_init new_chanusermodes[] = { {'a', {0x00000010,1,1,'.'}}, /* Channel owner */ }; Kod:
static const struct modedata_init new_chanusermodes[] = { {'a', {0x00000010,1,1,'.',MI_CHANOWNER}}, /* Channel owner */ }; Bunu bulup; Kod:
static const struct modedata_init new_chanusermodes[] = { {'h', {0x00000004,1,1,'%'}}, /* Half-op */ {'a', {0x00000008,1,1,'~'}}, /* Protected (no kick or deop by +o) */ {'u', {0x00000010,1,1,'.'}}, /* Channel owner */ }; Kod:
static const struct modedata_init new_chanusermodes[] = { {'h', {0x00000004,1,1,'%'}}, /* Half-op */ {'a', {0x00000008,1,1,'~'}}, /* Protected (no kick or deop by +o) */ {'u', {0x00000010,1,1,'.',MI_CHANOWNER}}, /* Channel owner */ }; Bunu bulup; Kod:
static const struct modedata_init new_chanusermodes[] = { {'h', {0x00000004,1,1,'%'}}, /* Half-op */ {'a', {0x00000008,1,1,'~'}}, /* Protected (no kick or deop by +o) */ {'q', {0x00000010,1,1,'*'}}, /* Channel owner */ }; Kod:
static const struct modedata_init new_chanusermodes[] = { {'h', {0x00000004,1,1,'%'}}, /* Half-op */ {'a', {0x00000008,1,1,'~'}}, /* Protected (no kick or deop by +o) */ {'q', {0x00000010,1,1,'*',MI_CHANOWNER}}, /* Channel owner */ }; Kod:
make make install Servisleri restartlamanız gerekmektedir. -Alıntı |
Alıntı
|
Etiketler |
düzenlemesi, founder, ircservices |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
|
|
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Türkiyenin 1numarali sunucusu olmaya and içtik.2 adet founder alimi olacaktir. | hipnos | Yetki Arıyorum, Yetkili Arıyorum! | 0 | 14 Haziran 2016 01:02 |
Prefix - Founder'i (.) Olarak Değiştirmek. | Entrance | Unreal - Parça Kodlar | 1 | 15 Aralık 2015 21:54 |
Aop(@), Sop(&), Founder(.~) yetkilerine sahip kişileri belirtilen odada toplamak. | Entrance | IRCServices Hazır Kodlar | 0 | 30 Temmuz 2015 22:03 |
Global Sunucuların #Help Founder Listesi | Toprak | Help Haberleri | 2 | 29 Temmuz 2015 10:09 |
Aop , Sop, Founder Admin Alımları ... | dadashasan | Yetki Arıyorum, Yetkili Arıyorum! | 1 | 07 Mayıs 2015 20:19 |