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

Mass

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

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

  • Посещение

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

  1. imcrazyhoudini Очевидно мой скрипт не работает, раз портится сейв! Отредактировать скрипт от товарища makdm для ЧН Оттестить логику на ЧН? - это будет морока для меня, нужно будет подключать скрипты и прочие правки
  2. imcrazyhoudini тогда попробуйте заремить в скрипте строку look_pt:normalize() Возможно в Чн в deactivate нельзя юзать xr_logic.mob_capture(self.object, true) Также попробуйте совсем убрать функцию deactivate в этом скрипте
  3. imcrazyhoudini 1)Не думаю что все ошибки о ссылкой на xr_logic были исправлены. Это может быть важным!. Так как таких строк у вас мильон! И могу с уверенностью сказать сохранения у вас нерабочие. Рано или поздно будут безлоговые вылеты! 2)При неизменном xr_logic, следует менять логику объектам которые еще не проспаунились, иначе в сейве могут остаться данные от схемы где логика объекта еще не менялась. Вроде как схемы должны сбрасываться, но мало ли для монстров могут быть исключения Сначала разберитесь с этими проблемами, а потом можно будет говорить о скрипте
  4. Ничто не мешает вызвать по on_info через xr_effects в функции если прям очень надо без target = actor action(self.object, look(look.point, db.actor:position()), cond(cond.time_end, 1000)) Так тоже не получиться иначе будет конфликт! Тогда может быть лучше так? --\\ Запускаем анимацию. if self.st.anim_movement == true then --\\ Анимация с движением. action( self.object, anim( self.anims[ self.count ], true ), sound( sound.idle ), self.cnd ) else --\\ Разворот в сторону ГГ, если задан параметр target. if self.st.target and self.st.target == "actor" then local target = db.actor:position() local look_pt = utils.vector_copy_by_val( target ):sub( self.object:position() ) look_pt:normalize() action(self.object, look(look.direction, look_pt), cond(cond.time_end, 1000)) action( self.object, anim( self.anims[ self.count ] ), sound( sound.idle ), self.cnd ) else --\\ Анимация без движения и без разворота в сторону ГГ. Куда моб до анимации смотрел - туда и смотрит во время анимации. action( self.object, anim( self.anims[ self.count ] ), sound( sound.idle ), self.cnd ) end end То есть если надо смотреть на актора, тогда даем секунду на это и уже играем анимку, иначе сразу играем анимку Но проблему по пунктам 1 и 3 это не решает! Я бы для начала посмотрел и исправил что вызывает это ! [LUA][ERROR] ERROR: xr_logic: pstor_load_all: not registered type in single_player encountered и ! Invalid HOM triangle (-221.605316,5.137728,-190.486877)-(-222.920380,5.138325,-188.826935)-(-222.508392,5.138325,-189.346985)
  5. makdm Посмотрел я ваш скрипт. Есть нюансы 1)При переключении логики с mob_walker монстр уходит в алайф 2) Не работают анимации из таблицы anim, моб просто виснет 3)При переключении анимаций. При дебаге движок ругается на Entity Action removed!!! Нужно посмотреть исходники Пункты 1 и 2 мне удалось исправить! mob_remark.script На счет последнего не знаю, насколько это критично. Но лучше использовать схему mob_walker для анимаций взятых из таблицей anim, если есть такая возможность, во избежании всяких недоразумений Upd: у себя тоже встретил баг. Если есть секция с анимацией из пространства имен anim и другая где идет переключение on_signal = action_end | mob_remark@sleep то при переключении на секцию mob_remark@sleep моб будет находится в состоянии idle до тех пор пока не переключится на обычную незацикленную анимацию из другой секции
  6. imcrazyhoudini Если делать через xr_effects, то думаю схема перебьет вашу анимку и ничего не получиться. Нужно делать через схему mob_remark или mob_walker. Иначе делать в апдейте монстра action(self.object, anim("незацикленная анимка"), sound(sound.idle), cond(cond.anim_end))
  7. Сдаётся мне что люди, которые обладают экстрансенсионными знаниями(я в таких не верю) их не интересует игра под названием "Сталкер". Возможно кое-кто из таких спецов, каким-то магическим путём, через шар или через духов или.... сможет узреть ваш вылет и что-нибудь подскажет, зайдя на форум. А пока видим что есть use = {=actor_enemy} false, {=dist_to_actor_le(3)} true Тут нет дефолтного состояния. Скрипт требует либо "true" либо "false" У вас получается "nil" use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false По правде говоря схема meet имеет недочёты, по видимому ёё доделывали в попыхах. Есть коллизии и недочёты, например при сравнении дистанции, а также перебитием схемы remark кое в каких моментов Дополнено 3 минуты спустя Примеров в игре полно! Ну, вот ссылка...
  8. Дело не в ошибке или в вопросе. Нужно для начала разобраться как работает оружейная составляющая! Взять к примеру оружие из игры заменить его другим оружием из какого-нибудь мода, возможно подредактировать его для своих нужд! Вы же решили вместо того чтобы учиться ( делать ошибки, но иметь небольшое понимание в устройстве параметров оружия ( какая строчка за что отвечает)) просто скопировали не думая о последствиях! В итоге затерли необходимый инклуд! А что еще сделали, какие ошибки будут в последствии, неясно!
  9. Причина понятна! Случается этот казус когда нпс находится под схемой animpoint и вдруг ему назначается self.npc:set_item(object.idle, self.npc:best_weapon()) в итоге непись виснет. Для того чтобы такого не было нужно проверять if self.npc:weapon_unstrapped() then перед self.npc:set_item(object.idle, self.npc:best_weapon()) Из этого поста я сделал ошибку npc:set_item(object.fire,npc:active_item()) конечно же
  10. Skala Что значит, вроде нет!? Кончайте флудить! Бездумное копирование файлов из другой игры или других модов без определенных знаний ни к чему хорошему не приведет. Как минимум, это не будет работать!
  11. Skala из конфига ;addons scope_status = 0 ; 0 - no addon silencer_status = 2 ; 1 - permanent grenade_launcher_status = 0 ; 2 - attachable Думаю всё понятно. Вот только лишь не на все классы оружия можно цеплять аддоны. Иначе портится нет пакет.
  12. Чтобы заставить работать этот параметр нужно редактировать 2 скрипта! В bind_heli.script в функции heli_die вписать if st.on_death_info ~= nil then db.actor:give_info_portion(st.on_death_info) end И далее в heli_move set_scheme в самом конце функции st.on_death_info = utils.cfg_get_string(ini, section, "on_death_info", npc, false, "", nil) Можно попробовать даже сделать поддержку кондлиста в heli_die
  13. Prostomod А что ели прописать on_death = %+инфо% в секции сквада? По идее сразу должно релизнуть через цепочку se_stalker/sim_squad_scripted! Я не проверял В смысле убить их по инфе. И релизнуть уже через alife():release(obj, true) Но они ведь судя по скрипту должны удаляться через squad:remove_squad() где и есть alife():release(obj, true)
  14. Prostomod Замена аномалии производится в 2-ух местах в surge_manager.script Можно попробовать добавить проверку на отсечение по имени в respawn_artefacts_and_replace_anomaly_zone
  15. Mindallius возможно в target_smart ошибка. Или nil или сам целевой смарт должен быть указан
  16. Очевидно, что этот смарт escape_smart_terrain не зарегистрирован! Ищите ошибку Файла нет на месте. Путь до указания файла указан неверно, или сам файл отсутствует/имеет другое имя. Проверяйте и исправляйте! Дополнено 3 минуты спустя Нужно использовать коллбек on_use, я так думаю! Или я неправильно понял вопрос =)! Дополнено 21 минуты спустя Кстати, так делать нельзя! Даже если и работает Для классов рестриктора и инвентори разные схемы Так попробуйте
  17. Mindallius У вас рабочий abort в _g.script? Ели нет, то поиском поищите как сделать отладочную инфу при abort! Должно быть в логе Incorrect next point [ваша точка] for squad [сквад]. Так и ищите по скваду
  18. В state_lib.script поменяйте wounded_heavy = { weapon = "drop", на wounded_heavy = { weapon = "strapped", А также и другие анимации начинающиеся с wounded Можете сделать аналогичные для конкретного нпс, только нужно будет тогда эти анимации добавлять в xr_wounded.script У меня у одного? remark в схеме wounded вёл себя странно Там ошибка в инициализации была ( не менялась анимация нпс, хотя здоровье менялось). Может и я накосячил в планировщике...
  19. Лучше сделать ему сразу здоровье на 0.2! Можете сделать через схему remark и через диалог по инфопоршню поменять нпс'у анимацию Дополнено 9 минуты спустя Формат настроек изменился в ЗП! Смотрите логику.Там появились параметры close_victim и far_victim вместо victim Дополнено 13 минуты спустя Тогда последний вариант, опечатка при назначении файла с логикой. Проверьте правильность пути к папке и самого файла Дополнено 19 минуты спустя Сработает через определенный интервал в 60 сек игрового времени. Если вы уже пересекли рестриктор тогда и время пришло тогда по идее покажется снова не только в другом рестрикторе. при on_game_timer 10 == 1 сек
  20. Boomer Что-то не вижу чтобы он был в скваде. Также стоит указать prior = . По умолчанию приоритет равен 45 для эксклюзивов. Лучше его сделать больше!
  21. vasyan54636 блок с if self.st.sound_idle ~= nil then xr_sound.set_sound_play(self.object:id(), self.st.sound_idle) end переместите верх( поставьте перeд end), чтобы оператор end мог закрыть функцию.
  22. vasyan54636 Похоже на синтаксическую ошибку. Покажите, как именно, в скрипт добавили строки? секция walker@start существует в данном файле? А если анимку поменять на hide_na?