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

Mass

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

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

  • Посещение

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

  1. asarkus Это и есть вылет, просто игра не закрылась и процесс сё еще висит в памяти. Попробовать через ctl+alt+del. Однако на чистом движке лог может оказаться пустым после этого
  2. asarkus Без лога вам никто не сможет помочь. Мы не знаем что вы там начудили именно какие правки делали
  3. Prostomod После спавна у нпс еще нет логики. Поэтому смарт назначает логику объектам. А насчет автоматом телепортировать нпс, то тут может быть проблема нужен вертекс куда именно телепортировать сталкера self.object:set_npc_position(тут вектор) Можете ради теста закомментить строку в xr_motivator if smart_terrain.arriving_npc[se_obj.id] == nil then Это вроде как те кто уже пришел в данный момент на работу. Избавляясь от этой строки мы сделаем так что все и идущие неписи и те кто пришел на работу будут телепортированны. Но это лишь догадки. Я не проверял
  4. imcrazyhoudini se_monster.script Попробуйте этот скрипт! Я не проверял если что! Но я бы изменил на ЗП вариант on_offline из логики мне кажется лучше подходит тыкни меня
  5. Prostomod Так попробуйте! local result,sec = {},nil for sec in str:gmatch('%b[]') do -- можно через gfind local section = sec:sub(2, sec:len()-1) table.insert(result, section) end return result где str конкатенация символов в строку прочитка из файлов игры
  6. Через окна! Аттачим окно, затем по таймеру обновляем и деттачим если необходимо! Я не знаю как еще получить это время!Так как это уже движок. Воможно в ОГСР были добавлены функции для работы с пда
  7. Paracetamol Если вопрос стоит о неком дополнительном элементе на интерфейсе ПДА - то тут уже через CUIStatic()
  8. Mindallius on_info = {+инфо} схема %=give_task(название таска)% это из рестриктора или непися например. Лучше через рестриктор чтобы не вызывалась снова функция
  9. Mindallius Просто уберите 2 тире перед этой строкой в файле state_mgr_animation.script. Также у вас критическая проблема, которая в последствии вызовет порчу сейвов. А имено: you are trying to spawn two or more objects with the same story_id:[escape_default_boar_squad] --> [escape_default_boar_squad0435] try to add:[escape_default_boar_squad0780] У вас наверное в скваде повторяются story_id и в simulation_object
  10. Mindallius Раскомментируйте строчку printf(" select into, seq_id [%s], target [%s]", tostring(states.seq_id), tostring(states.target_state)) и покажите лог + 10-15 строк сверху
  11. Stalkervernite попробуйте через принудительное обновление смарта! smart_terrain_force_update Тоесть в логике в секции перед подключением должно быть что-то вроде on_info = {+инфо} подключаем сразу активную секцию %=smart_terrain_force_update(тут сам смарт)%
  12. Gerbys Возможно. что они находятся в экшене reach_target, тогда попробуйте в скваде указать always_arrived = true Дополнено 5 минуты спустя Prostomod Как вариант подкормить гг сразу же db.actor:eat(db.actor:object("conserva")) -- "подкормка" ГГ Дополнено 8 минуты спустя Возможно нет функции в xr_conditions.script который требует логика! Разумеется если xr_logic не менялся. Либо некорректный параметр "=" или же "!" в логике!
  13. imcrazyhoudini нужно так по формату из ЗП target = path | pri_a28_horror_look, 0 Для актора и других со стори ид в ЧН нужно поменять на число id target_id = get_story_object_id(story_id) Поменять на это local sid = tonumber(story_id) if sid == 0 then target_id = 0 else target_id = id_by_sid(sid) end тогда в логике можете написать target = story | 0 Дополнено 41 минуты спустя Это появилось после моей правки! Каюсь! Без этого анимации работают, однако при дебаге в лог в вашем скрипте и в моём также =) Object zat_b18_dog_noah7093 has an empty script queue! Это очень критично. Так как если в этот момент моба убить, то игра его неправильно разрегистрирует. Плюс подводные камни в самом движке с зависшими функциями!
  14. makdm Монстр при переключении схемы на ремарк по прежнему висит в алайфе какое-то время и сдвигается с места. Возможно причина в самой машине, так как на разных компьютерах разный апдейт. Я доработал эту ситуацию if self.st.target then ... else action(self.object, look(look.cur_dir), cond(cond.time_end, 500)) -- без этого моб находится в алайфе end И тогда elseif self.anims[ self.count ] then -- При вышеуказанной правке сюда будет приходить нил! --\\ Анимация без движения и без разворота в сторону ГГ. Куда моб до анимации смотрел - туда и смотрит во время анимации. action( self.object, anim( self.anims[ self.count ] ), sound( sound.idle ), self.cnd ) end БАГРЕПОРТ! Также когда в секции указанны анимации из движка и мы переключаемся на обычную анимацию, то когда мы возвращаемся с помощью логики в секцию где анимация из таблицы anim монстр отыгрывает всё равно обычную анимацию, хотя секция переключилась и анимация тоже должна была бы переключиться , но почему-то виснет action( self.object, anim( xray_anim[ self.anims[ self.count ] ], 0 ), sound( sound.idle ), self.cnd ) на этой строке
  15. imcrazyhoudini ну, мы же говорили о скрипте от камрада makdm. Попробуйте сделать так как я написал. Больше ничем не могу помочь
  16. imcrazyhoudini Очевидно мой скрипт не работает, раз портится сейв! Отредактировать скрипт от товарища makdm для ЧН Оттестить логику на ЧН? - это будет морока для меня, нужно будет подключать скрипты и прочие правки
  17. imcrazyhoudini тогда попробуйте заремить в скрипте строку look_pt:normalize() Возможно в Чн в deactivate нельзя юзать xr_logic.mob_capture(self.object, true) Также попробуйте совсем убрать функцию deactivate в этом скрипте
  18. imcrazyhoudini 1)Не думаю что все ошибки о ссылкой на xr_logic были исправлены. Это может быть важным!. Так как таких строк у вас мильон! И могу с уверенностью сказать сохранения у вас нерабочие. Рано или поздно будут безлоговые вылеты! 2)При неизменном xr_logic, следует менять логику объектам которые еще не проспаунились, иначе в сейве могут остаться данные от схемы где логика объекта еще не менялась. Вроде как схемы должны сбрасываться, но мало ли для монстров могут быть исключения Сначала разберитесь с этими проблемами, а потом можно будет говорить о скрипте
  19. Ничто не мешает вызвать по 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)
  20. 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 до тех пор пока не переключится на обычную незацикленную анимацию из другой секции
  21. imcrazyhoudini Если делать через xr_effects, то думаю схема перебьет вашу анимку и ничего не получиться. Нужно делать через схему mob_remark или mob_walker. Иначе делать в апдейте монстра action(self.object, anim("незацикленная анимка"), sound(sound.idle), cond(cond.anim_end))
  22. Сдаётся мне что люди, которые обладают экстрансенсионными знаниями(я в таких не верю) их не интересует игра под названием "Сталкер". Возможно кое-кто из таких спецов, каким-то магическим путём, через шар или через духов или.... сможет узреть ваш вылет и что-нибудь подскажет, зайдя на форум. А пока видим что есть 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 минуты спустя Примеров в игре полно! Ну, вот ссылка...
  23. Дело не в ошибке или в вопросе. Нужно для начала разобраться как работает оружейная составляющая! Взять к примеру оружие из игры заменить его другим оружием из какого-нибудь мода, возможно подредактировать его для своих нужд! Вы же решили вместо того чтобы учиться ( делать ошибки, но иметь небольшое понимание в устройстве параметров оружия ( какая строчка за что отвечает)) просто скопировали не думая о последствиях! В итоге затерли необходимый инклуд! А что еще сделали, какие ошибки будут в последствии, неясно!
  24. Причина понятна! Случается этот казус когда нпс находится под схемой 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()) конечно же