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

Mass

Сталкеры
  • Публикаций

    400
  • Зарегистрирован

  • Посещение

Весь контент Mass

  1. Убирать 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. Но тогда это критическая ошибка, нужно делать логирование
  2. IncognitaGames Условия надо ставить в каждой ветке. Обычно использую <has_info>, <dont_has_info>... Нужно действовать аккуратно чтобы не получить знаменитую ошибку с логом No available phrase to say
  3. Это тоже мусор! затрется другой строчкой Вот тут логическая ошибка! если актор враг, то гг может юзнуть нпс Иногда схема xr_meet может перебить другие схемы так как имеет высокий приоритет, поэтому проверку на условия я бы всё-таки поставил Нужно дополнить условие use = {+pred_samostrel_hodunok_start_info !actor_enemy = dist_to_actor_le(7)} self, {=actor_enemy} false, true
  4. Гляди у тебя тут постоянный инфопоршен активирован. Тебе надо выдать инфо когда закончится диалог. и в условии проверять нет ли инфо Как-то так: 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 ; Это тоже мусор Совсем нужно удалить
  5. По поршню например: on_info = {+поршен} walker. Примеров в оригинале предастаточно
  6. Переведи его в новую секцию схемы и используй новую секцию meet, но без use = self
  7. IncognitaGames Пути для этого смарта walk и look есть в достаточном кол-ве? Как написали вам выше?
  8. Проверка только для секции 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 поменять
  9. Она не подходит для ЗП. Для ЧН да, там не строковый стори айди как в ЗП, а числовой
  10. fenitЕсли смарт далеко то попробуй прописать always_arrived = true
  11. Шаблон имени нпс точно нигде не повторяется? Непись идет потому что target_smart предписывает передвигаться между этими смартами Это при двоиточии он будет предвигатьтся таким способом. Сорри за диз инфу
  12. А как нпс должен понять что вы ему хотите поменять смарт и логику, пропишите условие выталкивание из смарта 1-го по поршню, а во втором сделайте проверку на этот поршен, тогда логика переключится
  13. В suitable в обоих смартах логики нпс что написано? Дополнено 0 минут спустя Я не знаю какие изменения вы делали. Предъявите нам свои правки в файлах игры
  14. Это в скриптах! У меня был сильно модифицирован gulag_general.script. При загрузке одной локации ловил вылет. К слову, локация была из ТЧ. Счел должным об этом рассказать. А насчёт тестовых файлов, возможно!? Если там присутствует некорректный параметр
  15. У меня были всякие вылеты с подобными логами, всему виной были либо зависшие функции либо повисания колбеков, например в движковую функцию пришел nil, а просили id. Также помню появлялся вылет, при склейки больших строк. через '..' Просто выжрало всю память Заменил на string.format. При string.format память расходуется меньше, но страдает скорость. Это так к сведению, может быть всё что угодно
  16. makdm Безусловно этот метод имеет право на существование. Я не буду спорить. Задача состояла в том, чтобы решить проблему, а каким способом пусть выберет для себя сам юзер. Ах да, и я когда писал про движковые проблемы и их решение скриптами, имел ввиду и наоборот, решение скриптовых проблем движком =)
  17. Через двиг всегда быстрее и удобнее. А через скрипты спавнить после удаления моба - это костыль и накладные расходы по ресурсам машины. Не все движковые проблемы стоит решать именно скриптами
  18. Кстати да! В движке убрана это возможность. Но всё можно восстановить. Файл poltergeist.cpp и функция void CPoltergeist::Die(CObject* who) В принципе ничего сложного восстановить не составляет труда. Было бы желание =) Чтобы никак не напортачить можно взять исходники ТЧ и сверить
  19. Серьёзно? Никогда не встречал такой баг. Может быть ему тогда повесить self.object:poltergeist_set_actor_ignore(true)? Не желаю проверять, но вдруг кто-нибудь захочет насладиться трупом моба