Назад

@partyexp (by Dkanze)

Автор: ZzAQ: Дата: 06.10.2008

Отказ от получения опыта в пати (только в режиме шары опыта)

в файле atcommand.h

ACMD_FUNC(partyexp);


{ AtCommand_Partyexp,        "@partyexp",        1, atcommand_partyexp},


int atcommand_partyexp(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
    nullpo_retr(-1, sd);
    
    if (sd->state.partyexp)
        sd->state.partyexp=0;
    else
        sd->state.partyexp=1;
    if (sd->state.partyexp)
        clif_displaymessage(fd, msg_txt(455));
    else
        clif_displaymessage(fd, msg_txt(456));
    return 0;
}


в файле party.c, находим функцию party_exp_share и дальше ищем кусочек текста:

for (i = c = 0; i < MAX_PARTY; i++)
        if ((sd[c] = p->data.sd)!=NULL && sd[c]->bl.m == src->m && !pc_isdead(sd[c])) {
            if (battle_config.idle_no_share && (sd[c]->chatID || sd[c]->vender_id || (sd[c]->idletime < (last_tick - battle_config.idle_no_share))))
                continue;
            c++;
        }


изменяем его на:

for (i = c = 0; i < MAX_PARTY; i++)
        if ((sd[c] = p->data.sd)!=NULL && sd[c]->bl.m == src->m && !pc_isdead(sd[c])) {
            if (battle_config.idle_no_share && (sd[c]->chatID || sd[c]->vender_id || (sd[c]->idletime < (last_tick - battle_config.idle_no_share))))
                continue;
            if (sd[c]->state.partyexp) {
                continue;
            }
            c++;
        }


далее в файле map.h, где-то на линии 571 добавляем
unsigned short partyexp;


добавляем в conf/msg_athena.conf

455: Вы больше не получаете опыт в пати
456: Нормальное получение опыта в пати

Автор: : Дата: 01.01.1970