Giriş

Orijinalini görmek için tıklayınız : IRCServices 5.1.24 (+q) Founder Düzenlemesi


Code
23 Eylül 2015, 16:22
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
{ CA_AUTOPROTECT, ACCLEV_SOP, "AUTOPROTECT", CHAN_LEVEL_AUTOPROTECT,
CL_SET_MODE, { .cumode = {"a",0} } },
üzerine;
{ CA_AUTOOWNER, ACCLEV_FOUNDER, "", -1,
CL_SET_MODE, { .cumode = {"", 1} } },Aynı dosyada bunu bulup;
for (i = 0; levelinfo.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;
}
Böyle değiştir;
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;
}
Dosya: irc*.*/modules/chanserv/chanserv.h

Bunu bulup;
/* CA_AUTOOWNER 18 */ /* No longer used */
#define CA_AUTOOWNER 18
olarak değiştir.

Dosya: irc*.*/modules/chanserv/main.c

Bunu bulup;
else if (strcmp(cmd, "DEHALFOP") == 0)
target_nextacc = CA_AUTOOP;
else
target_nextacc = -1;Hemen altına;
if (strcmp(cmd, "DEPROTECT") == 0 && chanusermode_owner)
mode |= chanusermode_owner;
Dosya: irc*.*/modes.c

Bunu bulup;
char chanmode_multiple[257]; /* Chanmodes that can be set multiple times */
Hemen üstüne;
int32 chanusermode_owner;Aynı dosyada bunu bulup;
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);
}
}
}
}
Bununla değiştir;
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);
}
}
}
}
Dosya: irc*.*/modes.h

Bunu bulup;
#define MI_REGNICKS_ONLY 0x08 /* [ C] Only registered/ID'd nicks may join */
Hemen altına ekle;
#define MI_CHANOWNER 0x10
Aynı dosyada bunu bulup;
extern int32 chanmode_opersonly;/* Chanmodes indicating oper-only channels */
Hemen altına;
extern int32 chanusermode_owner;
Dosya: irc*.*/modules/protocol/ptlink.c

Bunu bulup;
static const struct modedata_init new_chanusermodes[] = {
{'a', {0x00000010,1,1,'.'}}, /* Channel owner */
};
Bununla değiştir;
static const struct modedata_init new_chanusermodes[] = {
{'a', {0x00000010,1,1,'.',MI_CHANOWNER}}, /* Channel owner */
};
Dosya: irc*.*/modules/protocol/trircd.c

Bunu bulup;
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 */
};
Bununla değiştir;
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 */
};
Dosya: irc*.*/modules/protocol/unreal.c

Bunu bulup;
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 */
};
Bununla değiştir;
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 */
};
make
make install[I]

Servisleri restartlamanız gerekmektedir.

-Alıntı

Warrior
04 Haziran 2016, 13:59
Merhaba paylaşım için teşekkürler, bu düzenlemelerin tamamı kullandığım Rulzz0.6 servislerde olmasına rağmen ne "cs levels #kanal list" komutunda "q" görünüyor, ne de "cs levels #kanal set seviye" komutu uygulanabiliyor. Bu kodların tamamı dosyalarda mevcut, neden aktif olmuyor olabilir?

Entrance
05 Haziran 2016, 15:37
Merhaba paylaşım için teşekkürler, bu düzenlemelerin tamamı kullandığım Rulzz0.6 servislerde olmasına rağmen ne "cs levels #kanal list" komutunda "q" görünüyor, ne de "cs levels #kanal set seviye" komutu uygulanabiliyor. Bu kodların tamamı dosyalarda mevcut, neden aktif olmuyor olabilir?

Başlıkta da belirtildiği gibi verilen kodların amacı örnek,

Tekrar Girilmeye Çalışılıyor...
Kanala Tekrar Giriliyor #sohbet
ChanServ mod değiştirdi:+oq Entrance Entrance


İşlevini yerine getirmesi içindir. Üst sürümlerden kaldırıldığından tekrardan ilave edilmesini sağlamışlar. Senin bahsettiğin olayla buradaki yapılanların alakası olmadığından yazmak istedim.)

Ayrıca rullz'dan da, kurtulmanı tavsiye ederim sana. 0'dan bir IRCServices programı indirip, veyahutta son versiyonlardan birini kullanman daha mantıklı bence.)

İyi forumlar. ^^

Warrior
05 Haziran 2016, 16:35
yaptık bi hata kullanıyoruz değişmek lazım evet üstad :)benim bahsettiğim olay vaktinde mircturk sunucusunda vardı farklı bir yerde kullanıldı mı bilmiyorum