ID пользователя #1739
Сообщений: 41
Зарегистрирован: Sep 22 2012, 20:51
смотрел... ситуация странная... вот пример.
пишет "Ошибка. 'at_remove_hench' не составляется. hench_i0_generic.nss(31): ОШИБКА: ВЫПОЛНЕНИЕ ФУНКЦИИ И ОПРЕДЕЛЕНИЕ ОТЛИЧАЮТСЯ" на сколько я понял, ошибка не в русском описание выглядит так "FUNCTION IMPLEMENTATION AND DEFINITION DIFFER"
в коде ругается на строку 34
// returns TRUE if creature can use items from their inventory
int GetCreatureUseItems(object oCreature);
описание так же подходящее... вот только нет упоминания о функции (нет объявления)
GetCreatureUseItemsOverride(oCreature)
, хотя имплементация функции есть...
добавляю объявление функции ДО объявления функции
GetCreatureUseItems(object oCreature)
и компилятор начинает ругаться на дублирование первой функции в скрипте, где возникла ошибка (hench_i0_generic.nss). предполагая, что сделал что-то не так, закомментировал объявление функции
// returns TRUE if creature can use items from their inventory
int GetCreatureUseItems(object oCreature);
пробую снова откомпилировать - продолжает ругаться на дублирование первой функции в скрипте... убираю все изменения. все - в смысле до первоначального состояния. пробую снова откомпилировать - продолжает ругаться на дублирование первой функции в скрипте... через несколько попыток компиляции - наконец-то возвращается к первоначальной ошибке в строке 34...
такое поведение мне абсолютно НЕ понятно.
предполагал, что проблема в операционной системе, или некорректной установке NWN. но за неделю перепробовал на разных OC, с разной локализацией (включая английскую), с разными установками NWN, и даже перезакачивал несколько раз модуль с HAK-файлом(пробовал на оригинальном файле, который НЕ трогал переводом), но результат один и тот же.
после чего у меня возник вопрос - а действительно ли нужно делать сборку модуля, или достаточно сохранить все изменения в модуле? понимаю, что во время сборки показываются все ошибки, но может ли быть так, что некоторые скрипты вообще не нужны для игры, и ошибки в них стоить игнорировать?.. конечно ошибки компиляции в скриптах не позволяют собрать модуль, потому возвращаюсь снова к первому вопросу - а действительно ли нужно делать сборку модуля, или достаточно сохранить все изменения в модуле?
Сообщений: 574
Зарегистрирован: Nov 09 2007, 12:36
Достаточно сохранить изменения. У автора модуля могли быть ошибки, он мог не компилировать весь модуль, а косяк поймал ты. Но может быть, что версия модуля была сделана на одной версии НВН, а потом продолжена в другой. Соответственно, многие функции были изменены, но в теле модуля остались старые. Именно поэтому, наши модули ПВ и ПЛ привязаны к версии НВН. Попросту мы задолбались на с каждым новым патчем перелопачивать весь модуль ища ошибки, которые теперь появлялись, так как Биовар меняло что-то в своих скриптах и инклюдах.