Kirgudu 1 152 Опубликовано 30 Апреля Поделиться Опубликовано 30 Апреля @Biblia В скриптовом плане ошибки нет (переменная только лишняя, вполне можно писать сразу db.actor.health = 0.5 - db.actor.health). Выведи содержимое db.actor.satiety в лог и посмотри, чему оно равно и меняется ли вообще. 1 Инструмент Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 30 Апреля Поделиться Опубликовано 30 Апреля Спойлер: не меняется – в ЗП сытость всегда 1.0, даже при красном индикаторе голода. 3 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Biblia 4 Опубликовано 30 Апреля Поделиться Опубликовано 30 Апреля @Norman Eisenherz получается, что без ковыряний в движке проблема нерешаема? Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 30 Апреля Поделиться Опубликовано 30 Апреля Разве что попытаться повторить движковые формулы в скриптах для расчета сытости по таймеру и, если такое такое есть, по повышенному расходу сил на бег, прыжки и критические ранения. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
WinCap 309 Опубликовано 30 Апреля Поделиться Опубликовано 30 Апреля 29.04.2024 в 23:30, Balavnik сказал: Мне нужно для реализации "отбирания" ... с последующим возвращением строго по списку. Возможно задумка в том, что бы "ограбить" ГГ, а потом всё вернуть. В этом случае можно воспользоваться перемещением предметов в заранее подготовленный ящик и обратно. Примеры в "xr_effects.script" есть (см. функцию "transfer_item"). 1 1 1 S.T.A.L.K.E.R. CoP Objects (upd 19.09.24) Ссылка на комментарий
Kirgudu 1 152 Опубликовано 1 Мая Поделиться Опубликовано 1 Мая 8 часов назад, WinCap сказал: в заранее подготовленный ящик и обратно Поддерживаю, незачем ради этого заморачиваться записью в сейв. В ЧН, например, именно так всё и происходит при ограблении в подвале Барахолки, можно посмотреть реализацию там - скриптовая база практически идентична. Инструмент Ссылка на комментарий
Balavnik 86 Опубликовано 1 Мая Поделиться Опубликовано 1 Мая (изменено) Скопил пару вопросов: 1. Можно ли скриптово менять user.ltx и actor.ltx? 2. В bind_stalker следует добавлять условия в общий апдейтер? Например, чтобы проверить, не имеет ли игрок определённого поршня. Или это будет сильно грузить игру? Изменено 1 Мая пользователем Balavnik Устал. Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 1 Мая Поделиться Опубликовано 1 Мая 1. [user.ltx] можно править через консольные команды (прямой ввод или обертка get_console), [actor.ltx] – только с правками движка (OGSR, например). 2. Апдейт нужен для постоянных проверок, вроде таймеров или отслеживания ХП – для разовых проверок есть отдельные события. Инфо-поршень можно ловить через info_callback(info_id) по факту получения, либо запускать проверку "уже есть" при входе в диалог, при старте задания и т. д. Какие условия задачи? 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Balavnik 86 Опубликовано 1 Мая Поделиться Опубликовано 1 Мая (изменено) @Norman Eisenherz Сразу скажу, что моддингом занимаюсь на OGSR. Мне нужно править actor и отлавливать события для того, чтобы можно было по факту получения инфопоршня менять переносимый вес актору. Изменено 1 Мая пользователем Balavnik Устал. Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 1 Мая Поделиться Опубликовано 1 Мая (изменено) Тогда должен быть доступ к свойству actor.max_walk_weight и к свойству max_weight через класс инвентаря (не знаю, как правильно ссылаться – пользователи OGSR подскажут). Если поршней несколько, info_callback как раз подойдет. - дополнение - Вроде оно (get_ аналогично): db.actor:set_actor_max_weight(num) db.actor:set_actor_max_walk_weight(num) Изменено 1 Мая пользователем Norman Eisenherz 1 Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Balavnik 86 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая Как скриптово получить информацию о состоянии оружия/брони? Устал. Ссылка на комментарий
Kirgudu 1 152 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая @Balavnik если объект клиентский (obj), всё просто: local cond = obj:condition() Если объект серверный (sobj), тогда либо сначала получить клиентский (объект должен находиться в онлайне): local obj = level.object_by_id(sobj.id) либо если онлайн объект отсутствует (obj = nil после получения из серверного) - действовать через нет-пакет. Пример с использованием m_netpk: local pk = get_netpk(sobj, 1) -- state часть нет-пакета local data = pk:get() local cond = data.condition Также, возможно, для серверных объектов есть что-то более удобное в OGSR. Инструмент Ссылка на комментарий
Balavnik 86 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая @Kirgudu Это я как понял вообще для любого объекта. А если из инвентаря? Или нет разницы? Устал. Ссылка на комментарий
Kirgudu 1 152 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая Без разницы. При этом объект в инвентаре всегда в онлайне, соответственно, можно плясать от клиентского объекта. 1 Инструмент Ссылка на комментарий
Balavnik 86 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая @Kirgudu А в cond что будет? Просто число 0-1? Устал. Ссылка на комментарий
Kirgudu 1 152 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая @Balavnik совершенно верно. 1 Инструмент Ссылка на комментарий
Balavnik 86 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая Можно ли как-то менять текст диалогов скриптово? Делаю Сидоровича ремонтником, нужно чтобы стоимость ремонта и название починяемого ствола рассчитывались в скрипте. Устал. Ссылка на комментарий
Kirgudu 1 152 Опубликовано 2 Мая Поделиться Опубликовано 2 Мая 37 минут назад, Balavnik сказал: Можно ли как-то менять текст диалогов скриптово? Стоит начать использовать "Справочник по функциям и классам" здесь, на форуме. Диалоги: Часть 1. Форматы файлов, базовые сведения Часть 2. Скриптовые диалоги Часть 3. Тематическая подборка функций управления диалогами Читать, вникать и пробовать. И только если что-то непонятно, задавать предметные вопросы. 1 Инструмент Ссылка на комментарий
Norman Eisenherz 276 Опубликовано 3 Мая Поделиться Опубликовано 3 Мая Как заставить смарт спавнить определенных сталкеров? ЧН, автобусная остановка на Кордоне (esc_smart_terrain_5_10): хочу повысить живучесть новичков, на которых по сюжету нападают вояки, но не знаю, как привязать определенные профили NPC к логике смарта. Мини-моды: ТЧ ЧН ЗП Шпаргалка Ссылка на комментарий
Kirgudu 1 152 Опубликовано 3 Мая Поделиться Опубликовано 3 Мая (изменено) @Norman Eisenherz посмотри squad_descr_escape.ltx На автобусной остановке спавнится (esc_quest_line.ltx) строго определённый отряд с такой секцией: [esc_smart_terrain_6_8_stalker_patrol_2] Новичков sim_default_stalker_0 в нём можно поменять на персонажей с любой другой подходящей секцией из состава spawn_sections_*.ltx, в том числе на самописно-уникальных. Изменено 3 Мая пользователем Kirgudu 1 Инструмент Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти