-
Публикаций
305 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Календарь
Новости
Моды
Весь контент Mass
-
asarkus Это и есть вылет, просто игра не закрылась и процесс сё еще висит в памяти. Попробовать через ctl+alt+del. Однако на чистом движке лог может оказаться пустым после этого
-
asarkus Без лога вам никто не сможет помочь. Мы не знаем что вы там начудили именно какие правки делали
-
Prostomod После спавна у нпс еще нет логики. Поэтому смарт назначает логику объектам. А насчет автоматом телепортировать нпс, то тут может быть проблема нужен вертекс куда именно телепортировать сталкера self.object:set_npc_position(тут вектор) Можете ради теста закомментить строку в xr_motivator if smart_terrain.arriving_npc[se_obj.id] == nil then Это вроде как те кто уже пришел в данный момент на работу. Избавляясь от этой строки мы сделаем так что все и идущие неписи и те кто пришел на работу будут телепортированны. Но это лишь догадки. Я не проверял
-
imcrazyhoudini se_monster.script Попробуйте этот скрипт! Я не проверял если что! Но я бы изменил на ЗП вариант on_offline из логики мне кажется лучше подходит тыкни меня
-
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 конкатенация символов в строку прочитка из файлов игры
-
Через окна! Аттачим окно, затем по таймеру обновляем и деттачим если необходимо! Я не знаю как еще получить это время!Так как это уже движок. Воможно в ОГСР были добавлены функции для работы с пда
-
Paracetamol Если вопрос стоит о неком дополнительном элементе на интерфейсе ПДА - то тут уже через CUIStatic()
-
Mindallius on_info = {+инфо} схема %=give_task(название таска)% это из рестриктора или непися например. Лучше через рестриктор чтобы не вызывалась снова функция
-
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
-
Mindallius Раскомментируйте строчку printf(" select into, seq_id [%s], target [%s]", tostring(states.seq_id), tostring(states.target_state)) и покажите лог + 10-15 строк сверху
-
Stalkervernite попробуйте через принудительное обновление смарта! smart_terrain_force_update Тоесть в логике в секции перед подключением должно быть что-то вроде on_info = {+инфо} подключаем сразу активную секцию %=smart_terrain_force_update(тут сам смарт)%
-
Gerbys Возможно. что они находятся в экшене reach_target, тогда попробуйте в скваде указать always_arrived = true Дополнено 5 минуты спустя Prostomod Как вариант подкормить гг сразу же db.actor:eat(db.actor:object("conserva")) -- "подкормка" ГГ Дополнено 8 минуты спустя Возможно нет функции в xr_conditions.script который требует логика! Разумеется если xr_logic не менялся. Либо некорректный параметр "=" или же "!" в логике!
-
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! Это очень критично. Так как если в этот момент моба убить, то игра его неправильно разрегистрирует. Плюс подводные камни в самом движке с зависшими функциями!
-
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 ) на этой строке
-
imcrazyhoudini ну, мы же говорили о скрипте от камрада makdm. Попробуйте сделать так как я написал. Больше ничем не могу помочь
-
imcrazyhoudini Очевидно мой скрипт не работает, раз портится сейв! Отредактировать скрипт от товарища makdm для ЧН Оттестить логику на ЧН? - это будет морока для меня, нужно будет подключать скрипты и прочие правки
-
imcrazyhoudini тогда попробуйте заремить в скрипте строку look_pt:normalize() Возможно в Чн в deactivate нельзя юзать xr_logic.mob_capture(self.object, true) Также попробуйте совсем убрать функцию deactivate в этом скрипте
-
imcrazyhoudini 1)Не думаю что все ошибки о ссылкой на xr_logic были исправлены. Это может быть важным!. Так как таких строк у вас мильон! И могу с уверенностью сказать сохранения у вас нерабочие. Рано или поздно будут безлоговые вылеты! 2)При неизменном xr_logic, следует менять логику объектам которые еще не проспаунились, иначе в сейве могут остаться данные от схемы где логика объекта еще не менялась. Вроде как схемы должны сбрасываться, но мало ли для монстров могут быть исключения Сначала разберитесь с этими проблемами, а потом можно будет говорить о скрипте
-
Ничто не мешает вызвать по 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)
-
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 до тех пор пока не переключится на обычную незацикленную анимацию из другой секции
-
mirka Попробуйте поменять в логике reach_distance = 1
-
imcrazyhoudini Если делать через xr_effects, то думаю схема перебьет вашу анимку и ничего не получиться. Нужно делать через схему mob_remark или mob_walker. Иначе делать в апдейте монстра action(self.object, anim("незацикленная анимка"), sound(sound.idle), cond(cond.anim_end))
-
Сдаётся мне что люди, которые обладают экстрансенсионными знаниями(я в таких не верю) их не интересует игра под названием "Сталкер". Возможно кое-кто из таких спецов, каким-то магическим путём, через шар или через духов или.... сможет узреть ваш вылет и что-нибудь подскажет, зайдя на форум. А пока видим что есть 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 минуты спустя Примеров в игре полно! Ну, вот ссылка...
-
Дело не в ошибке или в вопросе. Нужно для начала разобраться как работает оружейная составляющая! Взять к примеру оружие из игры заменить его другим оружием из какого-нибудь мода, возможно подредактировать его для своих нужд! Вы же решили вместо того чтобы учиться ( делать ошибки, но иметь небольшое понимание в устройстве параметров оружия ( какая строчка за что отвечает)) просто скопировали не думая о последствиях! В итоге затерли необходимый инклуд! А что еще сделали, какие ошибки будут в последствии, неясно!
-
Причина понятна! Случается этот казус когда нпс находится под схемой 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()) конечно же