Перейти к содержанию

Рекомендуемые сообщения

В общем, проблема в том, что после того, как Сталкер / Чейзер скопирует скилл, любой который можно скопировать - все ок. Но, после того как он скопирует второй скилл то первый скилл не пропадает из списка до перезахода (и его нельзя юзать) в общем, просто иконка не пропадает.

Знает кто как пофиксить?

Ссылка на комментарий
Поделиться на другие сайты

Вот, попробуй у себя заменить кусок плагиаризма на этот


/**
* Making Plagiarism and Reproduce check their own function
* Previous prevention for NPC skills, Wedding skills, and INF3_DIS_PLAGIA are removed since we use skill_copyable_db.txt [Cydh]
* @param sd: Player who will copy the skill
* @param skill_id: Target skill
* @return 0 - Cannot be copied; 1 - Can be copied by Plagiarism 2 - Can be copied by Reproduce
* @author Aru - for previous check; Jobbie for class restriction idea; Cydh expands the copyable skill
*/
static char skill_isCopyable(struct map_session_data *sd, uint16 skill_id) {
uint16 idx = skill_get_index(skill_id);

// Only copy skill that player doesn't have or the skill is old clone
if (sd->status.skill[idx].id != 0 && sd->status.skill[idx].flag != SKILL_FLAG_PLAGIARIZED)
return 0;

// Check if the skill is copyable by class
if (!pc_has_permission(sd,PC_PERM_ALL_SKILL)) {
uint16 job_allowed = skill_db[idx].copyable.joballowed;
while (1) {
if (job_allowed&0x01 && sd->status.class_ == JOB_ROGUE) break;
if (job_allowed&0x02 && sd->status.class_ == JOB_STALKER) break;
if (job_allowed&0x04 && sd->status.class_ == JOB_SHADOW_CHASER) break;
if (job_allowed&0x08 && sd->status.class_ == JOB_SHADOW_CHASER_T) break;
if (job_allowed&0x10 && sd->status.class_ == JOB_BABY_ROGUE) break;
if (job_allowed&0x20 && sd->status.class_ == JOB_BABY_CHASER) break;
return 0;
}
}

//Plagiarism only able to copy skill while SC_PRESERVE is not active and skill is copyable by Plagiarism
if (skill_db[idx].copyable.option&1 && pc_checkskill(sd,RG_PLAGIARISM) && !sd->sc.data[SC_PRESERVE])
return 1;

//Reproduce can copy skill if SC__REPRODUCE is active and the skill is copyable by Reproduce
if (skill_db[idx].copyable.option&2 && pc_checkskill(sd,SC_REPRODUCE) && &sd->sc && sd->sc.data[SC__REPRODUCE] && sd->sc.data[SC__REPRODUCE]->val1)
return 2;

return 0;
}

Если у тебя ратена конечно же) Я уверен что ошибка у тебя где то вот тут ) Если нет то возможно выёбуются ЛУА или Екзе файлик

Изменено пользователем Fizik
Ссылка на комментарий
Поделиться на другие сайты

Протестил У меня всё работает ) Если сталкер копирует скилл всё нормально, копирую другой он заменяет прошлый скилл, так же использовал 3 профу 2 навыка копирует нормально. Если перекопировать то первый который скопировался пропадает на его место становится второй и новый который скопировал. Если не поможет сорц то скажи я дам 2 вида екзе файла 2012 и 2014 попробуешь на них )

Ссылка на комментарий
Поделиться на другие сайты

Да мне кажется что это проблема в луа либо в самом окне скиллов. Ибо затестил на двух версиях rA и тоже самое. Попозже луа обновлю попробую.

Ссылка на комментарий
Поделиться на другие сайты

Скорее в Луа) Окно скилов это уже ехе файлик могу дать другой попробовать если надо, вобщем пиши и клиенты 2012 2014 есть и ровные ехе и луа файлы есть соответствующие) Ты мне много помогал, Если смогу помогу в ответ)

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика