Graff46 598 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 3 минуты назад, Overfirst сказал: поглядеть, как воспроизведение партиклов реализовано в sr_particle.script Побыстрому глянул, я так понял, что там апдейт проверяет партикл на проигрывание, если партикл "выключился" - то запускает его по новой... Ссылка на комментарий
Graff46 598 Опубликовано 10 Апреля 2018 Поделиться Опубликовано 10 Апреля 2018 (изменено) 1 час назад, Overfirst сказал: Можно пример секции такого объекта? не видит physic_object Можете эту секцию скинуть, она наверно в system.ltx? *Не нужно Изменено 10 Апреля 2018 пользователем Graff46 1 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 11 Апреля 2018 Поделиться Опубликовано 11 Апреля 2018 Партикл - партиклу рознь. Есть бесконечные, есть те, для которых время ограничено. Последние - да, надо перезапускать, если еще нужны. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Graff46 598 Опубликовано 11 Апреля 2018 Поделиться Опубликовано 11 Апреля 2018 (изменено) 39 минут назад, Dennis_Chikin сказал: Есть бесконечные Time_limit'а нет, может death убрать, что бы партикл играл бесконечно? И по каким полям в СДК опрделить бесконечный ли партикл? Изменено 11 Апреля 2018 пользователем Graff46 Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 11 Апреля 2018 Поделиться Опубликовано 11 Апреля 2018 А death - это вообще где ? И, да, я не уверен, что движок делает с партиклами, хранящимися внутри функций. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Graff46 598 Опубликовано 11 Апреля 2018 Поделиться Опубликовано 11 Апреля 2018 5 часов назад, Dennis_Chikin сказал: А death - это вообще где ? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 11 Апреля 2018 Поделиться Опубликовано 11 Апреля 2018 Так это вообще-то запуск другого элемента, когда закончился основной. Вообще, на сколько я понял, запускается particle group, а не element, так ? Тогда время надо смотреть для каждого из элементов. И, да, отключенные, но оставленные эффекты и элементы - хороший способ получить странных и загадочных вылетов. p.s. Но вообще это все уже явно не скрипты. Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Sla-Sla 43 Опубликовано 12 Апреля 2018 Поделиться Опубликовано 12 Апреля 2018 Всем привет, у меня такой вопрос: знает ли кто-нибудь, как реализован разрыв тел в аномалиях? Какой скрипт за это отвечает? Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 13 Апреля 2018 Поделиться Опубликовано 13 Апреля 2018 Ни какой. 1 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
The ReapeR 72 Опубликовано 15 Апреля 2018 Поделиться Опубликовано 15 Апреля 2018 (изменено) Господа, вопрос. Работаю на довольно сильно измененной скриптовой базе. В какой-то момент стал ловить вылет на юзании неписей, причем только генериков, и только когда по идее должны появиться стандартные фразы "Что интересного можешь рассказать?" и т.д. Сидорович полностью рабочий. Диалог с Волком проходит безо всяких проблем, пока не тыкнешь "Я попробую" или "Не слабо. Но не пойду". Вылет не содержит никаких отсылок к LUA, лишь ни о чем мне не говорящий стектрейс: stack trace: 0023:0773F45E xrGame.dll Предыдущий снапшот папки scripts такой проблемы не содержит, но изменений с тех пор гора. Сам вопрос: какова цепочка вызовов функций при юзании генерик-непися (в ванили)? Одним из первых, насколько понимаю, вызывается xr_motivator.motivator_binder:use_callback(). И судя по добавленному дебагу, он отрабатывает от начала и до конца. А далее? Благодарю. UPD: к слову, death_manager полностью рабочий. Сталкеры убиваются, инвентарь чистится, лут генерится в соответствии с дроп-секциями. Можно обыскать, стянуть предметы, никаких проблем. UPD2: вылет исправил -- накосячил в dialog_manager. Но цепочку вызовов для общего развития все ж интересно узнать. Изменено 15 Апреля 2018 пользователем The ReapeR New Level Changer 5.08: Раритеты ReapeR build 3: Раритеты Я на YouTube: Vincent Vega Ссылка на комментарий
Fenrir02 199 Опубликовано 18 Апреля 2018 Поделиться Опубликовано 18 Апреля 2018 Доброго времени! Помогите составить таблицу. if box:is_inv_box_empty() then if box:section()=="box" then level.start_stop_menu(level.main_input_receiver(), true) alife():create("treasure_item", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) alife():release(alife():object(box:id())) end end Другими словами, нужна таблица секций рюкзаков, составленная в примерно таком виде: local box = { "box", "box_2", "box_3" } Заранее спасибо. Важнейшая задача цивилизации - научить человека мыслить. Ссылка на комментарий
AndreySol 215 Опубликовано 21 Апреля 2018 Поделиться Опубликовано 21 Апреля 2018 В 18.04.2018 в 22:49, Fenrir02 сказал: нужна таблица секций рюкзаков Ну так таблица уже есть. Тебе нужно в ф-ции проверить наличие конкретного тайника в этой таблице ? Тогда так: таблицу лучше назвать к примеру local all_box_table = {"box","box_2","box_3"} if box:is_inv_box_empty() then if all_box_table[box:section()] then level.start_stop_menu(level.main_input_receiver(), true) alife():create("treasure_item", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) alife():release(alife():object(box:id())) end end 1 Ссылка на комментарий
qwertyuiop 16 Опубликовано 24 Апреля 2018 Поделиться Опубликовано 24 Апреля 2018 Оживил непись: alife():release(obj) .. obj = alife():create(spawn_id) Пытаюсь сделать другом, в другом скрипте и не сразу. if obj and IAmAStalker[obj:clsid()] and obj:alive() and obj:name() == name then printf("set friend %s",name) obj:set_relation(game_object.friend,db.actor) end вылет attempt to call method 'set_relation' (a nil value) Непись живая, на одном уровне с ГГ, воюет. Почему может быть вылет? Прошел Солянку, иду в NLC Ссылка на комментарий
Graff46 598 Опубликовано 24 Апреля 2018 Поделиться Опубликовано 24 Апреля 2018 Подскажите где в ТЧ в скриптах отловить момент когда НПС повернулся куда ему надо и начал выполнять анимацию? Ссылка на комментарий
dsh 3 824 Опубликовано 24 Апреля 2018 Поделиться Опубликовано 24 Апреля 2018 @qwertyuiop судя по всему, obj у тебя является серверным объектом, а у него нет метода set_relation(). Этот метод есть только у клиентского объекта. 2 dsh mod: https://github.com/dsh2dsh/op2ogse Ссылка на комментарий
The ReapeR 72 Опубликовано 28 Апреля 2018 Поделиться Опубликовано 28 Апреля 2018 Вот сейчас интересненького (наверное) на поболтать принес. Unfortunately, @Bak пока так и не объявился в сети, решил отзеркалить часть лички тут: В 10.04.2018 в 15:11, The ReapeR сказал: Салют! Заметил интересную особенность с AI additions 2.0f4 для Теней. Я сейчас копаюсь со своим модом, подсмотрел в ZRP 1.09 (http://www.metacognix.com/files/stlkrsoc/index.html) механизм валидации основных модулей еще до открытия главного меню. Если вкратце, там в ui_main_menu добавляется переменная а-ля: local all_good = db and modules and xr_logic Потом на ините меню проверяется ее значение, и в случае false предупреждаем о проблемах (modules, как знаешь, загружает все схемы при любом обращении). Ну и вот, если раньше все схемы загружались уже после загрузки спавна, то теперь это происходит дважды: при ините главного меню и на "Сервер: Старт" (тоже по вине ui_main_menu). На этом моменте спавн еще не загружен, clsids, скорее всего, не валидны, A-Life тоже. А в rx_ai первой строчкой идет rx_utils.init() -> init_clsids() -> запрашивается куча клсидов, далее local alife = alife() и проч. В такой комбинации на нетспавне актора загрузка дропается с логом "attempt to access field actor_net_spawn (a nil value)" на строчке из bind_stalker if rx_ai rx_ai.actor_net_spawn(). Дебаг показал интересненькое: init_clsids() из rx_utils падает на запросе клсида актора, ни rx_utils, ни rx_ai, ни modules далее уже не читаются, потому движок LUA и не видит функцию. Собственно, вопрос, чисто из спортивного интереса. Что в принципе правильнее: исправить инит rx_ai или не заигрывать с модулями (по идее, могу и то, и то)? Насколько адекватно загружать схемы в такую рань, и должны ли они все быть независимыми от этапа инита (SANB и все ванильные модули, включая xr_kamp с оттаскиванием трупов, загружаются без проблем)? Спасибо) В 15.04.2018 в 11:32, The ReapeR сказал: А. Насчет дедманов из xr_kamp чуть наврал) Пришлось инит таблицы body_grab_bones перенести в конструктор, так как там запрашиваются клсиды. По всем rx_* очмного различного инита выполняется за пределами функций, просто в теле. Полностью как следует прибраться пока не смог, загружаю схемы отдельно от вызова modules, позже, на ините спавна. Кстати, насколько же шатка и зависима от условий загрузка схем в ванили: первый вызов modules приходится на get_stype() в xr_gulag, когда запускается первая gulag:beginJob() для, если не ошибаюсь, раненого Толика. То есть любое вмешательство в данную функцию, либо же референс к modules в каком-либо другом кастомном скрипте раньше данного места приведет к более ранней или поздней загрузке схем (или вообще незагрузке). Явно нигде схемы они не грузят, все юзание modules сводится к запросам значений stype_*. М? New Level Changer 5.08: Раритеты ReapeR build 3: Раритеты Я на YouTube: Vincent Vega Ссылка на комментарий
Dennis_Chikin 3 658 Опубликовано 28 Апреля 2018 Поделиться Опубликовано 28 Апреля 2018 Ы ? Как бы да, стартовая менюшка - сама по себе, пространства _G, game, level и еще много разных - сами по себе. Более того, традиционная лапша в сталкере, и, особенно, модах, со всеми перекрестными ссылками, требует долгого распутывания, если мы хотим что-то в каком-то ином порядке, чем в том, в котором как-то работает. типа так: https://www.dropbox.com/s/miqjdrqmn95nbjn/_init.script?dl=0 (закомментированное - работало после распутывания, но перестало после принятия дополнительных мер "против читеров поганых" в одном и том же по сути моде.) 2 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
Zagolski 74 Опубликовано 2 Мая 2018 Поделиться Опубликовано 2 Мая 2018 А из-за чего и где неписю может добавляться во входные рестрикторы все аномалии на уровне, кто-нибудь может подсказать? Не всем неписям, только одному (пока одного выявил). Не могу никак разобраться, с какого аномалии ему добавляются. Другим как и положено - обычно по одному рестриктору, накрывающий смарт. В итоге у этого перца список создается длиной больше 4096 байт и игра падает. Добавляются они в gulag:set_restrictions через add_restrictions, но откуда они взялись у этого нпс? Ссылка на комментарий
Zagolski 74 Опубликовано 2 Мая 2018 Поделиться Опубликовано 2 Мая 2018 (изменено) Выявил, что добавляются в amk_anoms.syncronize() (амк-шные динамические аномалии), оттуда корни растут. И почему-то одному неписю, который ничем непримечателен. Длиннющая строка всех аномалий записывается ему в рестрикторы. Ошибка неординарная, но может у кого было подобное. Не могу понять, откуда они тащатся и почему только ему одному. Изменено 2 Мая 2018 пользователем Zagolski Ссылка на комментарий
abramcumner 1 159 Опубликовано 2 Мая 2018 Поделиться Опубликовано 2 Мая 2018 (изменено) @Zagolski, именно так и действует обход аномалий в АМК. Остальные НПЦ попадают в исключения, а ему одному подрубаются. Надо посмотреть в скриптах условия включчения схемы обхода аномалий. И использовать кстати любую другую схему обхода, по-моему во всех из них в рестрикторы пишутся не все аномалии на уровне, а только ближайшие. Изменено 2 Мая 2018 пользователем abramcumner Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти