-
Публикаций
400 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент Mass
-
Убирать 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. Примеров в оригинале предастаточно
-
Совсем непонятно что подразумевается под id
-
Переведи его в новую секцию схемы и используй новую секцию meet, но без use = self
-
IncognitaGames Пути для этого смарта walk и look есть в достаточном кол-ве? Как написали вам выше?
-
Проверка только для секции hit! Поддерживает список. Полный перечень костей можно взять из m_stalker.ltx В логике пишите on_hit = hit в самой секции hit on_info = {=hitted_on_bone(bip01_head:bip01_pelvis:bip01_neck:bip01_spine2:bip01_spine1) -hit_po_kosti} %+hit_po_kosti =destroy_object% Внимание: функция hitted_on_bone есть только в ЗП. Чтобы понадобилась в чн нужно просто перенести эту функцию из xr_conditions cop в cs. А для ТЧ нужен еще xr_hit.script поменять
-
Paradox27kms
-
Это тема для ЗП
-
Она не подходит для ЗП. Для ЧН да, там не строковый стори айди как в ЗП, а числовой
-
fenitЕсли смарт далеко то попробуй прописать always_arrived = true
-
Шаблон имени нпс точно нигде не повторяется? Непись идет потому что target_smart предписывает передвигаться между этими смартами Это при двоиточии он будет предвигатьтся таким способом. Сорри за диз инфу
-
А как нпс должен понять что вы ему хотите поменять смарт и логику, пропишите условие выталкивание из смарта 1-го по поршню, а во втором сделайте проверку на этот поршен, тогда логика переключится
-
а кондлист в с suitable?
-
Строковый тип (string) не заменялся?
-
Заменил или добавил?
-
В suitable в обоих смартах логики нпс что написано? Дополнено 0 минут спустя Я не знаю какие изменения вы делали. Предъявите нам свои правки в файлах игры
-
Это в скриптах! У меня был сильно модифицирован gulag_general.script. При загрузке одной локации ловил вылет. К слову, локация была из ТЧ. Счел должным об этом рассказать. А насчёт тестовых файлов, возможно!? Если там присутствует некорректный параметр
-
У меня были всякие вылеты с подобными логами, всему виной были либо зависшие функции либо повисания колбеков, например в движковую функцию пришел nil, а просили id. Также помню появлялся вылет, при склейки больших строк. через '..' Просто выжрало всю память Заменил на string.format. При string.format память расходуется меньше, но страдает скорость. Это так к сведению, может быть всё что угодно
-
makdm Безусловно этот метод имеет право на существование. Я не буду спорить. Задача состояла в том, чтобы решить проблему, а каким способом пусть выберет для себя сам юзер. Ах да, и я когда писал про движковые проблемы и их решение скриптами, имел ввиду и наоборот, решение скриптовых проблем движком =)
-
Через двиг всегда быстрее и удобнее. А через скрипты спавнить после удаления моба - это костыль и накладные расходы по ресурсам машины. Не все движковые проблемы стоит решать именно скриптами
-
Кстати да! В движке убрана это возможность. Но всё можно восстановить. Файл poltergeist.cpp и функция void CPoltergeist::Die(CObject* who) В принципе ничего сложного восстановить не составляет труда. Было бы желание =) Чтобы никак не напортачить можно взять исходники ТЧ и сверить
-
Серьёзно? Никогда не встречал такой баг. Может быть ему тогда повесить self.object:poltergeist_set_actor_ignore(true)? Не желаю проверять, но вдруг кто-нибудь захочет насладиться трупом моба