-
Публикаций
385 -
Зарегистрирован
-
Посещение
Репутация
118 ХорошаяКонтакты
Информация о Mass
- Сейчас Просмотр форумов
-
Звание
Бывалый
Посетители профиля
2 343 просмотра профиля
-
NewValveCom в xr_gather_items.script в evaluator_gather_items:evaluate() Добавить проверку после if self.object:section() == "название секции актора в кат сцене, которого спавнить" then return false end А также в добавить в логику take_items = false, можно и в секцию логики, тогда предмет он точно не должен подбирать Если и это не поможет, то тут несколько вариантов: повис алайф или биндер, что в свою очередь сказалось на логике, либо нпс просто не берется под логику, тут проверять правильность пути файла до логики сталкера
-
Ничего подозрительного не вижу. Объект точно берется под схему? С путями всё нормально? Тогда добавить в эвалуатор проверку по секции на отсечение заспавненного актора, если конечно секция не идентична ЗП
-
Создать константу со значением 30 (дефолтным значением) где-нибудь вверху функции punch и лучше всего присвоить local. Делаешь новую функцию с любым неповторяющемся именем с тремя аргументами, 3-тьим будем параметр, который мы передадим в функцию punch. Дальше уже в функции punch делаем: если есть параметр присваиваем новое значение, иначе дефолт? Почему я не расписываю функцию. А вот хочу чтобы было хоть какое-нибудь понимание в скриптовой области. Если не получиться расписать могу - не проблема, но лучше сам постарайся Дополнено 3 минуты спустя А вот так незя! xr_logic проверяет значение параметра по последовательности сначала актор, нпс и сам параметр см функцию pick_section_from_condlist Это касается только вызова из логики объекта
-
Ошибка в моём понимании - это не только краш, зависание игры или порча данных! Всякие коллизии, баги, рекурсии одной и той же функции и недочёты тоже являются для меня ошибками. Я не зря уточнил в своём посте о И ты же сам пишешь тоже самое Далеко нет.. Я бы вынес переменную за пределы функции, создал новую функцию, вызвал бы эту самую функцию из новоявленной уже с новым значением константы. Можно сделать или через флажок или например через новые аргументы функции и по проверке параметра вызвать с новым значением, или создать аналогичную функцию, но уже с измененным значением. Вот тебе, как минимум, 3 идеи подкинул
-
И получишь ошибку, если захочешь использовать анимацию под названием "punch" .А также если будет настройка в схеме meet при abuse = true. В результате актор будет проверять расстояние от самого себя до самого себя. В вызове функции из анимации 1-ым стоит не актор, а нпс
-
set_inactivate_input_time(num) -- num поставьте больше
-
А почему нет?! Примеров много в оригинале
-
Лог работоспособный? Если да! раскомментируй строчку printf("LOGIC[%s]: Object... в xr_logic activate_by_section
-
Если анимка используется не в анимпоинте - это нормальная реакция. В таких анимках крутится только верхняя часть туловища. А метод is_body_turning всегда возвращает false. Попробуй убрать moving = true у этой анимации в state_mgr_scenario.script. А лучше создай новую с тем же содержанием например с именем jup_b41_novikov_stand_with_turn, и убери то что я указал
-
И что? Это не означает что скрипт виноват в ошибке. При проверки не дошел ли нпс до смарта, возникает какая-то серьёзная ошибка. Вот здесь и стоит задуматься почему obj == nil. Используй trace и логирование. Если со скриптами на Вы, то сверяй файлы логики и смарта, а также про сквады не забудь
-
Убирать string.find из функции не рекомендую. дело в том что, игра гинеририрует id и добавляет его к имени, можно убрать цифры например с помощью шаблона %d* в string.sub. Но тогда столкнешься с идентичной проблемой predbannik_ment_guard_1 и predbannik_ment_guard_2 вернет predbannik_ment_guard_. Оно надо? стрелок_2009 Скрипт из оргинала? Если да, то возможно проблема в сквадах local squad = smart.board.squads[obj.group_id] Эта же строчка? Возможно значение потерялось в таблице arriving_npc. Но тогда это критическая ошибка, нужно делать логирование
-
IncognitaGames Условия надо ставить в каждой ветке. Обычно использую <has_info>, <dont_has_info>... Нужно действовать аккуратно чтобы не получить знаменитую ошибку с логом No available phrase to say
-
Это тоже мусор! затрется другой строчкой Вот тут логическая ошибка! если актор враг, то гг может юзнуть нпс Иногда схема xr_meet может перебить другие схемы так как имеет высокий приоритет, поэтому проверку на условия я бы всё-таки поставил Нужно дополнить условие use = {+pred_samostrel_hodunok_start_info !actor_enemy = dist_to_actor_le(7)} self, {=actor_enemy} false, true
-
Гляди у тебя тут постоянный инфопоршен активирован. Тебе надо выдать инфо когда закончится диалог. и в условии проверять нет ли инфо Как-то так: use = {+pred_samostrel_hodunok_start_info -new_info !actor_enemy = dist_to_actor_le(7)} self, true Где new_info это инфопоршен который ты пропишешь после диалога или по какому-то событию, не важно snd_on_use = {=actor_has_weapon} meet_hello, nill Правильно nil combat_ignore_cond = false combat_ignore = combat_ignore; Бред сивой кабылы combat_ignore_keep_when_attacked = false invulnerable = false ; бессмертие А также no_move = true ; Это тоже мусор Совсем нужно удалить
-
По поршню например: on_info = {+поршен} walker. Примеров в оригинале предастаточно