Перейти к контенту

[SoC] Ковыряемся в файлах


Рекомендуемые сообщения

DiSo95, нпс проваливается так как нет аи-сетки в том месте где ты его спаунишь

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий
DiSo95, В РМА моде есть такое, что НПС сидит на табуретке и чистит ствол, что бы просто сидел не видел...

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

Ссылка на комментарий

DiSo95

1. Чтобы развернуть персонажа в нужную сторону, нужно править параметр direction, в его секции спавна. Координаты в ноль направят взгляд строго на север. Определяется в радианах. 1° ≈ 0.017453292519943295769236907684886 рад. Высчитывай исходя из этого.

2. Дело в том, что ГГ может ходить по объектам, а НПС ходит только по АИ сетке. Поэтому, возможно, что АИ сетка находится под полом, где НПС и "упирается" ногами. А где, кстати, ты спавнишь НПС?

3. Анимации "просто посидеть" в ТЧ нет, есть только та, где НПС чистит оружие, есть также анимации Сидора, но они только для него, для других НПС они не подойдут, так что если нужны "посиделки" - вытаскивай анимации из ЧН или ЗП.

Логику, лучше писать вынося её в отдельный файл, это ускорит процесс её редактирования, да и не забудешь, что НПС должен делать, нет надобности лезть в all.spawn.

 

PanaceaRU

Интерактивный худ - это видоизменяющийся экран при надетых костюмах и к меню аптечек не имеет никакого отношения, поскольку, во-первых: это меню было добавлено именно в моде ТТ2, а не в АМК; во-вторых: меню это выводится скриптом, поэтому ищи скрипт и привязывай его к опции "интерактивный худ".

 

sdda

В диалог, ставишь precondition, где в качестве условия пишешь вот такую функцию:

function actor_rank_stalker (actor,npc)
    local actor = db.actor
    if actor:character_rank() > 300 then
        return true
    end
end

Диалог будет доступен, только если ранг актора будет "сталкер" и выше.

Изменено пользователем ColR_iT
Ссылка на комментарий

поправлю функцию для precondition:

function actor_rank_stalker (actor,npc)
    if db.actor:character_rank() > 300 then
        return true
    else
        return  false
    end
end

или даже проще:

function actor_rank_stalker (actor,npc)
    return (db.actor:character_rank() > 300)
end

- т.к. проверки условий при любых вариантах обязаны возвращать однозначно булевы значения (true или false), а не nil или иное.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Как можно сделать непися вечно бегающим? (Вместо обычной походки). Есть вариант заменить скорость обычной походки на бегательную и заменить анимку. Но есть ли способ по-проще?

Ссылка на комментарий
Всем добрый вечер. Подскажите пожалуйста в сталкере ТЧ ( я играю с модом ) вернуть дальномер или как он правильно называется, когда показывает цифры сколько осталось до цели? За раннее благодарен.

 

Зайди в опции главного меню игры и поставь в <Игра> -> "Дистанция до цели" --/Artos

Ответ не полный, да и не совсем корректный)

Наличие/отсутствие прицела, так же как и разных его финтифлюшек вроде дистанции или цветового распознавания целей, может контролироваться консольными командами, на вики есть справочник по ним. И если дальномер отключается такими командами, вызываемыми из скрипта в апдейте, то никакие манипуляции в главном меню его не вернут, нужно искать тот скрипт который его убирает.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

Zander_driver, уж если взялся "уточнять" - то и делал бы это "полно и корректно" :-)

1. Где в вопросе сказано об отсутствии и/или восстановлении прицела? Вопрос и ответ касаются только "дальномера" и зачем же искусственно усложнять и отсылать копаться в скриптах без причины?

2. Уж если решил "пополнить" ответ, то отчего же не упомянуть и консольную команду, которая "дальномер отключается такими командами", просветил бы нас дремучих ... ;-) Иль ссылку/цитату дал бы конкретную на материал "где об этом прочесть".

 

Любой ответ можно назвать не полным и привести массу надуманных вариаций не упомянутых в вопросе/ответе. Но стОит ли забалтывать вопрос и не обосновывая, называть ответ некорректным? Важно решение, а не демагогия, и если после "неполного" ответа нет уточнения - вполне вероятно ответ был достаточно "полон" для вопроса.

 

И ... на будущее, можно меня ругать иль осуждать, но стараюсь НЕ давать полных ответов специально! И формат раздела "Школа" предполагает все же и самостоятельную работу головой самого вопрошающего и, порой именно подсказка/совет, а не разжеванное до состояния пюре, дает модмейкеру бОльшее удовлетвоение от сделанного ...

Поэтому считаешь нужным дополнить/поправить - нет проблем, но тогда уж и дополняй и/или обосновывай поправку/некорректность именно информацией, а не общими рассуждениями мало относящимися к сути вопроса.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Прошу помочь в вопросе.Забыл немного.В квестах в случае применения тега <function_complete> последующий тег <infoportion_set_complete> атоматически переключает задачу и ставит игроку инфопоршень из второго тэга, в случае выполнения функции, да?

 

Добавлено через 20 мин.:

Просто пользовалься тегом <infoportion_complete, а с этим не работал.Хотелось бы уточнить.

Ссылка на комментарий

Подскажите пожалуста-

[dm_intro_help_8]
wounded = true
npc_community = freedom
category = intro

 

Что означают wounded = true, category = intro, category = cool_info..?

 

Загляни в файл stable_dialog_manager.xml, думаю всё станет понятно.

ColR_iT

 

Добавлено через 4 мин.:

Вольт, Тебе нужо что бы была к примеру оригинальная куртка новичка с твоей новой текстурой..? Если да то, качай HexEdit, делай новую текстуру, и с помошью проги меняй имя текстуры на свое(столько же символов) в моделе, и сохраняй, все..

Изменено пользователем ColR_iT

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

Ссылка на комментарий

Парни помогите пожалуйста с созданием рестриктора, который запрещает входить НПС в зону покрытую рестриктором.

Нигде подобного найти не могу.

Ссылка на комментарий

По ккакому условию спавниться Толик, точней там наверное перевод его в онлайн происодит..?

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

Ссылка на комментарий

FANAT, взятие квеста у сидоровича на шустрого, если не брать он не спавнится.

 

Спавнится объект "Толик" сразу при начале НИ, а после разговора с Сидоровичем - выходит в онлайн. --/Artos

Изменено пользователем Artos
Ссылка на комментарий
Вампир35, Это ясно.. меня интересует инфопоршень его..

FANAT.gif

Мой канал на ютабчике... / Недельки из жизни фаната STALKER'a / Клуб 'Фанат Отчуждения'

Я нет-нет, а думаю, может я неправильно жил, надо ж брать деньги у богатых и давать их бедным, а таким как ты давать по морде, шоб у мире была красота и гармония.(с)Ликвидация

Всё в порядке, всё нормально, я беру тебя с собой, я беру тебя с собой. В тёмный омут головой.(с)Смысловые Галлюцинации

Ссылка на комментарий

"ui_pda", "ui_inventory", "ui_talk", "ui_trade" и "ui_car_body" - это инфопорции открытых экранов, по ним можно узнать откыто ли окно пда, инвентаря, диалога, торговли или трупа. Среди них нет "тайника".

 

Как узнать, что открыт экран инвентарного ящика?

всё легко

Ссылка на комментарий

7.9, "ui_car_body" - это и для трупа и для ящика.

Хочется различать(?) - используй коллбэк use_callback для ящиков/трупов (у ящиков с логикой он и в оригинале подключен).

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

wikreznow, что-то 'парни' молчат с ответом на довольно простой вопрос ... может ответ от 'деда' сгодится:

Рестриктор, который ограничивает вхождение в его зону должен иметь тип 2 (DefaultRestrictorTypeIn), т.о. тебе нужно всего лишь создать рестриктор требуемой формы (дефолтно спавнится без формы) и установить ему нужный тип.

В all.spawn'е все просто:

; cse_alife_space_restrictor properties
restrictor_type = 2

Если же скриптами, то придется использовать какой-нибудь скрипт/модуль работы с нет-пакетами. Даю пример для последней актуальной версии m_netpk.script:

  local pos, lvid, gvid = ... --/ задаем координаты спавна
  local radius = 10 --/ радиус для 'шарового' рестриктора (м)
  local soObj = alife():create("space_restrictor", pos, lvid, gvid)
  local pk = get_netpk(soObj,1) --/ запрос нет-пакета (only 'state')
  if pk:isOk() then
    local data = pk:get() --/ запрос данных из нет-пакета заспавненного рестриктора
    --data.custom_data:setString(cfg_ltx or "") --/ тут можно задать файл с логикой
    data.shapes:addSphere(radius) --/ задаем сферический с радиусом 10м
    data.restrictor_type = 2 --/< задаем тип: DefaultRestrictorTypeIn
    pk:set(data) --/< запись в нет-пакет
  end

Форма дефолтно-заспавненного рестриктора - сфера. Если нужно иное - читаем про cse_shape properties и ставим нужное.

Примечание: Чтобы НПС воспринимал ограничения от рестрикторов в секции его спавна (или родительской секции) обязательно должен быть прописан параметр: SpaceRestrictionSection = space_restrictor, ... что по умолчанию сделано в m_stalker.ltx.

 

(на будущее: не стОит в вопросе указывать от кого хочешь получить ответ. Не все себя считают себя 'народом/пацанами/парнями', есть и 'мужики' и даже 'деды' ... и даже могут дать ответ представительницы прекрасного пола. ;-))

 

Добавлено через 22 мин.:

sdda, мог бы и во многочисленных ФАКах прочесть самостоятельно:

Ищем секцию [inventory] в system.ltx (хотя бывает и в вынесенном файле) и меняем параметр: take_dist .

  • Полезно 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий
Artos, а это точно расстояние разговора а не расстояния на котором предметы подбираются?

S.T.A.L.K.E.R 1.004, Народная..Солянка от 19.04.10, дополнение 14.08.10, патч 3.09.10, DMX 1.3.5, Saruman addon 1.1

Vkontakte

Добавление нового транспорта в сталкер

Ссылка на комментарий

saruman_ten, а ты возьми и попробуй - тогда сам получишь ответ "точно иль нет".

И я не называл это "расстояние разговора" , а только указал, что от этого параметра зависит то, на какой дистанции возможно активизировать окно разговора с НПС.

Хотя название и собственно предназначение параметра и имеет отношение к "взятию", но именно он определяет дистанцию, когда включается/активизируется взаимодействие двух объектов (актора и целевого объекта) и собственно возникают активные подсказки по <F>. Ну а "взять"/"заговорить"/"сесть в машину"/"использовать"/... - это уже от типа/класса целевого объекта зависит.

Так что можешь читать этот параметр как "дистанция взятия под ручной контроль управления актором".

Важно не переусердствовать в увеличении дистанции, т.к. на "дальних" расстояниях движек порою теряет управление и ... придется перезагружать игру, чтобы управление восстановилось.

Изменено пользователем Artos

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

Ссылка на комментарий

Artos, чтото не получается. Взял из оригинала

[873]
; cse_abstract properties
section_name = space_restrictor
name = esc_boar_dogs_restrictor
position = -161.997230,-20.169603,-143.992294
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 45
distance = 0
level_vertex_id = 88023
object_flags = 0xffffff3e

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 2

; cse_alife_space_restrictor properties
restrictor_type = 2

 

И еще одно

Примечание: Чтобы НПС воспринимал ограничения от рестрикторов в секции его спавна (или родительской секции) обязательно должен быть прописан параметр: SpaceRestrictionSection = space_restrictor, ... что по умолчанию сделано в m_stalker.ltx.

 

Так значит параметр SpaceRestrictionSection = space_restrictor нужно прописать в секции спавна, а куда его тогда влепить?

Или я не так понял но в оригинале он в секции спавна не прописан, только m_stalker.ltx.

Изменено пользователем ColR_iT
Спойлер!
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...