Это популярное сообщение. Dennis_Chikin 3 658 Опубликовано 16 Мая 2014 Это популярное сообщение. Поделиться Опубликовано 16 Мая 2014 Ковыряемся в файлах ТЧ Прежде чем писать в тему - внимательно читаем первый пост, и пользуемся поиском. Возможно, ответ на Ваш вопрос уже есть. Касательно телепатии: если Вы передаете Ваши файлы телепатическим путем - ответы будут передаваться тоже телепатически. Если Вы предлагаете угадать, отчего у Вас в подвале происходит странный стук - ответ будет передан стуком. 4 8 6 12 Солянка обезжиренная, диетическая, полезные советы по "солянке", текущий тестовый патч Ссылка на комментарий
shahvkit 3 508 Опубликовано 22 Января 2021 Поделиться Опубликовано 22 Января 2021 16 минут назад, Jekyll сказал(а): Это во всех секциях (_weak, _normal, _strong etc.) одни и те же цифры? Цифры разные. Чем сильнее подвид животинки, тем меньше паника. 17 минут назад, Jekyll сказал(а): Или только в базовой для каждого монстра? Это базовые параметры, общие для всего конфига мутанта. Отдельные подвиды (weak, normal, _strong) имеют свои значения. Ссылка на комментарий
Купер 2 803 Опубликовано 22 Января 2021 Поделиться Опубликовано 22 Января 2021 Товарищи спецы, кому не лень, объясните, в чём цимус конструкции. function prot_release(sobj) alife():release(sobj, true) end Ну и в соответствующих местах вызов при удалении объекта: local result = pcall(prot_release, obj) Ссылка на комментарий
AndrewMor 527 Опубликовано 22 Января 2021 Поделиться Опубликовано 22 Января 2021 @Jekyll ,@shahvkit Да, точно. Про отдельные секции забыл, общий параметр смотрел. Все верно, чем сильнее мутант, тем меньше значение. Сталкер - наше всё! Ссылка на комментарий
WinCap 314 Опубликовано 22 Января 2021 Поделиться Опубликовано 22 Января 2021 4 часа назад, Купер сказал(а): объясните, в чём цимус конструкции Цитата из PIL3: "Если вам надо обрабатывать ошибки в Lua, то вы должны использовать функцию pcall(protected_call) для инкапсуляции своего кода. Вызов pcall вызывает свой первый аргумент в защищенном режиме, так что перехватываются все ошибки во время выполнения функции. Если нет никаких ошибок, то вызов pcall возвращает true и все значения, возвращенные функцией. Иначе он возвращает false и сообщение об ошибке." 3 S.T.A.L.K.E.R. CoP Objects (upd 28.10.24) Ссылка на комментарий
AndreySol 215 Опубликовано 22 Января 2021 Поделиться Опубликовано 22 Января 2021 @Купер Как по мне, то это, конкретно для Сталкера, бесполезно и даже вредно. Т.е. в случае ошибки при вызове release движок крашнеться и скриптер сразу увидит, что чегось напортачил. А в случае pcall - краша не будет и можно просто прозевать сбойное место. Так что, надо четко понимать, зачем использовать pcall и где это безопасно для игрового процесса. 1 1 Ссылка на комментарий
Купер 2 803 Опубликовано 23 Января 2021 Поделиться Опубликовано 23 Января 2021 @WinCap , ну не настолько же мы люди тёмные . Разумеется, предварительно прочитано и предпринята попытка к осознанию. Вопрос больше прикладного характера: стандартный alife():release vs "безопасная обёртка" в виде pcall. Насколько оно именно тут обосновано и целесообразно? @AndreySol , вот и сгрыз незнайку червячок сомнения : при получении "всякого", лучше же сразу "с треском грохнуться", чем получить неявно-отложенное. Ссылка на комментарий
WinCap 314 Опубликовано 23 Января 2021 Поделиться Опубликовано 23 Января 2021 19 часов назад, AndreySol сказал(а): в случае ошибки при вызове release движок крашнеться ... А в случае pcall - краша не будет Не правда! Функция pcall() от движкового "краша" не спасёт, вылет будет. Она защищает только от Lua-ошибок. 2 часа назад, Купер сказал(а): Вопрос больше прикладного характера: стандартный alife():release vs "безопасная обёртка" в виде pcall. Насколько оно именно тут обосновано и целесообразно? В данном случае цель может быть только одна - защита от случая когда alife() возвращает nil. От ошибок внутри release() это не спасёт. Нужно смотреть как используется результат, возвращаемый pcall(). 1 1 1 S.T.A.L.K.E.R. CoP Objects (upd 28.10.24) Ссылка на комментарий
Это популярное сообщение. naxac 2 441 Опубликовано 23 Января 2021 Это популярное сообщение. Поделиться Опубликовано 23 Января 2021 (изменено) @Купер , по-моему, конструкция бессмысленная. Как выше сказали, от движкового вылета оно не защитит, а, вполне возможно (не проверял), что вообще зависнет по-тихому в случае ошибки с непредсказуемыми последствиями. Если уж нужен защищённый вариант удаления, то просто поставить проверку, что sobj ~= nil, а ещё лучше, что alife():object(sobj.id)~=nil, или вообще id объекта передавать, получая объект и делая все проверки на месте. Изменено 23 Января 2021 пользователем naxac 2 3 2 2 Аддон для ОП-2.09.2: Яндекс/Google/GitHub Ссылка на комментарий
Muzafir 19 Опубликовано 23 Января 2021 Поделиться Опубликовано 23 Января 2021 Товарищи-спецы, а можно заставить как-то бандита стрелять в бандита? Т.е. сделать их врагами? Пробовал через родную функцию обидеть гулаг на НПС по сид: function kozea_gsk_enemy() xr_gulag.setGulagEnemy("simeiz_gsk_lager", level_object_by_sid (1612)) end но никакой реакции, а я рассчитывал на перестрелку . Они стоят лицом к лицу @Houdini_one Не уверен, что поможет, но вот логика пса возле вертолета на Ростке: [smart_terrains] none = true [spawner] cond = {+yan_find_scientist_done} [logic] active = mob_home [mob_home] path_home = ros_heli_dogs_homepanic = 0 Чем ближе игрок к path_home, тем меньше вероятность, что собака убежит. Еще я бы обратил внимание на радиус, в котором игрок будет атакован. В этом примере он не задан (по умолчанию мин 20 м, макс 40 м) 1 Ссылка на комментарий
AndrewMor 527 Опубликовано 24 Января 2021 Поделиться Опубликовано 24 Января 2021 (изменено) 12 часов назад, Muzafir сказал(а): В этом примере он не задан (по умолчанию мин 20 м, макс 40 м) Ну так его можно и задать, я у себя прописывал min = 15, max = 30, А можно вообще 0 поставить, наверное. И кстати, при мин. радиусе 15 м все равно последний живой слепыш из гулага начинает убегать от ГГ. Правда, строку panic = 0 не указывал. Изменено 24 Января 2021 пользователем AndrewMor Сталкер - наше всё! Ссылка на комментарий
Muzafir 19 Опубликовано 24 Января 2021 Поделиться Опубликовано 24 Января 2021 8 часов назад, AndrewMor сказал(а): Ну так его можно и задать Конечно, можно. У меня с заданным panic = 0 псевды атакуют ГГ до последнего. С обычными собаками не экспериментировал Ссылка на комментарий
Капрал Хикс 513 Опубликовано 26 Января 2021 Поделиться Опубликовано 26 Января 2021 Даже не знаю, сюда ли писать, поиском проблему вроде не нашёл. Дано: мод RMA + Shadows Addon, там есть отдельный слот для фонарика. Создал уникальный фонарик на основе стандартного, поменял для тестов только название в инвентаре и цену. Модель - переназванная оригинальная. В итоге в слот и обратно уникальный фонарик ставится, но включаться не хочет. Слышны звуки щелчка включения и выключения, эффекта света нет. Стандартный фонарик при этом работает как положено. Не могу понять, куда копать - в скриптах и конфигах какой-то особой регистрации секции фонарика нет, ведь перемещается в слот! Но не работает. То ли движок такие фокусы не одобряет, то ли я не знаю. Ссылка на комментарий
Это популярное сообщение. Купер 2 803 Опубликовано 26 Января 2021 Это популярное сообщение. Поделиться Опубликовано 26 Января 2021 @Капрал Хикс , gamedata\config\creatures\actor.ltx: attachable_items = <-- сюда секцию нового девайса. Ну, и сталкерам, наверное, тоже по аналогии. В зависимости от задумки. 3 1 2 Ссылка на комментарий
Marafon6540 757 Опубликовано 26 Января 2021 Поделиться Опубликовано 26 Января 2021 (изменено) 1 час назад, Капрал Хикс сказал(а): То ли движок такие фокусы не одобряет, то ли я не знаю. Камрад @Купер опередил немного с правильной подсказкой. Пока я видео грузил. Видео Изменено 26 Января 2021 пользователем Marafon6540 1 1 Трилогия Апокалипсис. Упавшая звезда. Честь наемника. v. 1.2 УЗЧН v.1.3 + ОГСРх64 Последний сталкер v. 1.2 ПС v. 1.3 + ОГСРх64 Ссылка на комментарий
Капрал Хикс 513 Опубликовано 2 Февраля 2021 Поделиться Опубликовано 2 Февраля 2021 По поводу ворот на Свалке... Можно как-нибудь запретить ГГ открывать их, что называется, пузом? А то вроде ignore_static стоит, логика приведена в порядок: Скрытый текст [logic] active = ph_door@locked [ph_door@locked] locked = true closed = true snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop on_info = {+gar_free_pass} ph_door@open, {=gulag_empty(gar_dolg_blokpost)} ph_door@closed [ph_door@closed] locked = false closed = true on_use = ph_door@open snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop [ph_door@open] locked = false closed = false on_use = ph_door@closed snd_open_start = trader_door_open_start snd_close_start = trader_door_close_start snd_close_stop = trader_door_close_stop А всё равно ГГ упирается - ворота открываются. Ссылка на комментарий
Muzafir 19 Опубликовано 2 Февраля 2021 Поделиться Опубликовано 2 Февраля 2021 @Капрал Хикс ignore_static здесь вообще ни при чем. Это же для того чтобы движущиеся части игнорировали статическую геометрию при при движении (типа дверь со стороны петель не цеплялась за косяк и т.п.) Тут, наверное, нужно поэкспериментировать с массой кости, чтобы ГГ не смог ее сдвинуть. Хотя непонятно, сможет ли он открыть ее тогда вообще. По логике: не совсем понятно условие {=gulag_empty(gar_dolg_blokpost)} зачем дверь переходит в ph_door@closed? Если застава долга мертва, пропуск ГГ уже не получит. А дверь пузом все равно можно открыть в любой секции 1 Ссылка на комментарий
Капрал Хикс 513 Опубликовано 2 Февраля 2021 Поделиться Опубликовано 2 Февраля 2021 (изменено) 13 часов назад, Muzafir сказал(а): ph_door@closed Здесь она просто закрыта, но не на ключ, так сказать, можно открыть на 'F'. А на счёт кости надо прикинуть опытным путём, спасибо. UPD. Не работает смена массы у кости. Изменено 3 Февраля 2021 пользователем Капрал Хикс Ссылка на комментарий
Muzafir 19 Опубликовано 3 Февраля 2021 Поделиться Опубликовано 3 Февраля 2021 Жаль, что с костью не получилось. Если цель - не пустить игрока раньше времени в Бар, может поставить за воротами рестриктор, который будет "обижать" Долг на ГГ при отсутствии gar_free_pass? В xr_effects.scripts даже что-то похожее есть. Этот же рестриктор может и предупреждение игроку послать. Вряд ли кто-то захочет портить отношение с Долгом в начале игры. Можно, конечно, и убивать через рестриктор, но это очень радикально Ссылка на комментарий
BFG 7 582 Опубликовано 3 Февраля 2021 Поделиться Опубликовано 3 Февраля 2021 Масса кости это на динамику. Не влияет. Логика не при чём. Ковырялся я для НС Лет 6 назад с дверями. Модели правил. Но увы, уже позабыл. Пичаль. В Х16 так же решётка работает, от толчка. Так многие модели работают. Некоторые с коллизией, большинство статика и просто переступаешь. Смотреть оллспавн, флаги. И конфиг. Скорее всего, в конфиге нет указания на привязку на главную кость. Обычно - bone. Вот ей уже можно в SDK повесить тонну веса. "Кругом зомби.....у меня кончаются патроны...." Ссылка на комментарий
Капрал Хикс 513 Опубликовано 4 Февраля 2021 Поделиться Опубликовано 4 Февраля 2021 21 час назад, BFG сказал(а): Скорее всего, в конфиге нет указания на привязку на главную кость. Обычно - bone. Вот ей уже можно в SDK повесить тонну веса. Вот окончание секции ворот из all.spawn: ; cse_alife_object_physic properties physic_type = 0x3 mass = 30 fixed_bones = link На link вешал через SDK массу побольше - не работает. mass = 30 - мож тут поменять? Или где ещё конфиг крутить? Добавлено BFG, 4 Февраля 2021 Хммммм... Вот не упомню уже. Глянь, совпадает ли масса главной кости по весу в СДК и в конфиге. Хотя. Вроде кто-то из гуру писал, что там есть приоритет одной массы над другой. А скинь в лс модельку, гляну, может что и увижу в Майке. Просто очень давно не лез в моддинг по таким делам, да и не особо спец. Щас локации для Терры только. И всё. Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти