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

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


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

malandrinus, мое уточнение было вызвано простой причиной:

Многие, в особенности недостаточно опытные модмейкеры, начинают 'переменные' смотреть в скриптах, 'параметры' искать в конфигах об'ектов, а 'запись' воспринимают в лучшем случае отдельной функцией/методом ... а то и в pstor'ы иль вообще в нет пакеты. И, ИМХО, 'изменение' несколько точнее понятнее отображает характер операции по 'записи' нужного значения в параметр/свойство об'екта. :)

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

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

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

ColR_iT

причём эту точку необходимо самому поставить на локации, прописав её в файле путей, распакованного all.spawn, а не брать из какого-то файла

camp_center - это, если я правильно понял, одна из точек, прописанная в файле путей all.spawn для локации Кордон. Неужели я не могу использовать ее для логики своего НПСа ?

 

Artos

- функцию подключения логики (если логика не подключается в секции спавна).

Не очень понял, что это значит, остальное ниже. Ранг НПСа - 300.

Это из "spawn_sections.ltx"

[escape_technic_spawn]:stalker_trader
character_profile    = escape_technic
spec_rank        = novice
community        = trader
custom_data    = scripts\esc_technic.ltx

содержимое "esc_technic.ltx"

[logic]
active = kamp
;active = remark
trade = misc\trade_technic.ltx

[kamp]
center_point = camp_center
path_walk = camp_center_task

[remark]
anim = wait
no_move = true

[smart_terrains]
none = true

ф-ция спауна

function on_spawn_technic() 
    local obj = nil

    local a = vector()
    a.x = -246.51 
    a.y = -19.52 
    a.z = -144.60 
    local lV = 13193
    local gV = 8

    obj = alife():create("escape_technic_spawn", a, lV, gV)
    if obj then
    ----- сообщаем о создании НПС -----
        local text = "ф-ция спауна выполнена - создан НПС с id: "..tostring(obj.id)
        news_manager.send_tip(db.actor, text, nil, nil, 10000)
    end
end

 

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

AndreySol

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

Функция подключения логики - в твоем случае отсутстует, т.к. логика автоматически подключается из секции спавна (см. custom_data)

 

P.S.

AndreySol: camp_center - это, если я правильно понял, одна из точек, прописанная в файле путей all.spawn для локации Кордон. Неужели я не могу использовать ее для логики своего НПСа ?

Ткни нас пожалуйста носом туда, где ты отыскал точку с названием camp_center!?

Нет такой точки во всем оригинальном all.spawn! Вы батенька, совершенно не читаете топик и даваемые в нем пояснения/разяснения. Даже не знаю, стОит ли продолжать в очередной раз повторяться ...

Ты взял название для точки НЕ от самой точки, а из конфигов логики. Причем совершенно не взирая на то, что эти конфиги логики является конфигами работ, выдаваемых гулагами! Сам же специально отвязал своего НПС от гулагов.

Особенность именно этих конфигов в том, что ко многим наименованиям и в частности для путей к указанной строке в названии параметра соответствующий гулаг пристыковывает суффикс - название гулага. Т.о. например для костра в деревне новичков, соответствующий этой деревне гулаг (esc_lager) выдаст имя для точки кампа: esc_lager_camp_center и именно эта точка имеется в алл.спавне.

Так что если бы ты потрудился бы найти именно точку esc_lager_camp_center и именно ее указать в логике - то вопросов бы и не возникало.

Итого, "правильная" логика для активной схемы kamp у отвязанного от гулагов непися будет такой:

[smart_terrains]
none = true

[logic]
active = kamp
trade = misc\trade_technic.ltx

[kamp]
center_point = esc_lager_camp_center

- и твой НПС спокойно идет к костру и усаживается возле него.

Ну или позаботься, как и писал ColR_iT, создать свою точку с названием camp_center и прописать ее в алл.спавн.

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

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

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

Какой рестриктор отвечает за сообщение от Кепа на Милитари?

 

О каком конкретно сообщении идёт речь?

ColR_iT

 

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

Когда подходишь к переходу на Радар.

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

https://www.youtube.com/embed/U0no-6tCxhU

Канал на "Трубе"

Ссылка на комментарий
cc31, а кто то должен гадать про какие контейнеры ты говоришь и из какого мода и про какую зашиту

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

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

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

malandrinus

Меня заинтересовало твоё высказывание :

формально говоря, в Lua свойств нет, поскольку ООП имитируется
Да, lua очень маленький язык. Не чета "монстрам" линейки С.

Но ведь что получается? В С++ уже изначально заложен ООП. В lua такого нет (что вроде бы говорит о lua, как о чисто процедурном языке). Но ведь я могу собрать ООП, и собрать так как мне хочется. Да и работать оно (ООП) будет так же.

Первоначально и С++ назвали как "C с классами".

И если, так на называемая тобою"иммитация", выполняет все функции "настоящего ООП", то нужно ли это называть с префиксом "псевдо"?

Поэтому совершенно категорично поддерживаю Artos-а, в его фразе :

наверное точнее volume для sound_object назвать не параметром, а свойством
Т.е. для таблицы (объект) есть метатаблица (класс). И, по определению, поле класса для объекта называется "свойство". Изменено пользователем Gun12
Ссылка на комментарий

Saruman,

cc31, а кто то должен гадать про какие контейнеры ты говоришь и из какого мода и про какую зашиту

контейнеры для хранения артов и защиты гг от радиации.

мод frm.

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

Несколько вопросов по логике и all.spawn:

1. В way-файлах разобранного all.spawn параметр "name" для точек пути - что он означает ? И почему у многих точек одинаковые "name", к примеру wp00, name00 и т.п.

 

Два следующих вопроса для варианта, когда НПСу логика прописана в кастом-дате и он не под гулагом.

 

2. У НПСа прописана логика, согласно которой он должен от центрального костра в Деревне новичков на Кордоне пойти в одну из комнат в доме, возле которого стоит Волк. Проблема в том, что НПС не может нормально зайти в эту комнату - в верандочку дома он заходит, а затем упирается в стенку в направлении этой комнаты и останавливается. Пробовал разбить путь на части - точки пути ставил перед входом в дом, на верандочке, в коридоре и последняя в комнате, но переход из верандочки в коридор для НПСа как барьер, упирается в стену и все ! В чем причина может быть ?

 

3. НПС отрабатывает схему "kamp", все вроде нормально - сидит у костра ест, пъет и т.д. Но если сделать сохранение\загрузку игры, то он, после загрузки, у костра не садится, а стоит тупо, ни на что не реагирует. В чем причина, как это можно исправить ?

 

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

AndreySol

1. В way-файлах разобранного all.spawn параметр "name" для точек пути - что он означает ? И почему у многих точек одинаковые "name", к примеру wp00, name00 и т.п.

Насколько я понял, эти имена точек - уникальными обязаны быть лишь в пределах одного пути. начали описывать новый путь - и там все сначала.

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

AndreySol

1. Благодаря параметру name весь путь парсится (разбивается) на точки. То, что для разных путей название точек повторяется это не критично, главное, чтобы в одном пути имена разных точек не совпали. Если есть желание, имена для точек можешь давать более информативные.

2. Во всех домах в деревне, за исключение разрушенного, отсутствует АИ сетка, а как известно, НПС ходят исключительно по ней.

Ссылка на комментарий
AndreySol, 3. НПС отрабатывает схему "kamp", все вроде нормально - сидит у костра ест, пъет и т.д. Но если сделать сохранение\загрузку игры, то он, после загрузки, у костра не садится, а стоит тупо, ни на что не реагирует. В чем причина, как это можно исправить ?

Причина в тупом (бездумном) отношении моддера к собственно процессу моддинга (внесения изменений в игру). Хочется в очередной раз спросить в ответ: "Что тобою понимается под моддингом?". Использование копипастом наработок других и вопрошание к другим, если чего-то не знаешь иль не нашел в туторах? А своя голова для чего?

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

Во-вторых, схема кампа, как было ранее показано, работает и при слхранениях и загрузках. Да, порою в игре встречается, что некоторые камперы тупо стоят у точки посиделок, пока не произойдет некоторое событие, после которого схема нормально активизируется ... Но эта помарка пока не решена ни в чистой игре ни в модах и причина не ясна.

В третьих, если делаешь что-то сам и тем более не по "стандарту", то напрашивается и ответ - накосячил сам - сам и исправляй. А если хочешь помощи, то в очередной раз напоминаю: без достаточной информации по проблеме - врядли можно ожидать ответ отличный от гаданий на кофейной гуше.

 

Ну а если у тебы действительно "стоит тупо, ни на что не реагирует" - то ищи причины зависания твоего непися ... и скорее всего не в схеме кампа.

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

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

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

ColR_iT

2. Во всех домах в деревне, за исключение разрушенного, отсутствует АИ сетка, а как известно, НПС ходят исключительно по ней.

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

Да и на верандочке этого дома, на матрасе, спит НПС. Может не в сетке дело ?

 

Наличие АИ-сетки можно проверить\просмотреть\поправить в SDK ?

Убедительная просьба не задавать очевидных вопросов или вопросов для погадалок. --/Artos

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

ColR_iT, все же чуть продолжу "оффтопик" т.к. забыт немаловажный момент:

Помимо наличия собственно AI-сетки для каждого непися/монстра существует и параметр в конфигах 'terrain', который ведает доступными зонами.

Да и никто не отменял того, что в активной схеме боевки неписи могут "плевать" на накоторые ограничения наложенные на них в "спокойных" схемах/состояниях.

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

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

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

ColR_iT

в СДК настроить плавность нарастания звука не представляется возможным, имею ввиду использование Sound Editor

Это почему? Всё прекрасно настраивается...один нюанс, актор должен двигаться в сторону источника звука. Если он будет двигаться по другой траектории, то и громкость звука будет меняться по другому...однако меняться будет по любому.

Как я понял, скриптом лучше регулировать громкость, если актор неподвижен...Тогда это имеет смысл.

Допустим ты стоишь и слушаешь нарастающий шум дождя...

Однако тут тоже существуют подводные камни. Хорошо, если ты собираешься так регулировать один звук, а если несколько? Для схемы боевок это возможно, ибо звуки там однообразные...А если звуков множество и они разные по сути? Ну допустим тот же шум дождя и визг дрели, который почудился актору в Припяти? Писать свой скрипт под каждый звук?

Ну вот такие у меня сомнения...

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

ColR_iT, Artos

Во-вторых, схема кампа, как было ранее показано, работает и при сохранениях и загрузках. Да, порою в игре встречается, что некоторые камперы тупо стоят у точки посиделок, пока не произойдет некоторое событие, после которого схема нормально активизируется ... Но эта помарка пока не решена ни в чистой игре ни в модах и причина не ясна.

Я проверял - в любом месте выполнения логики НПСом (опять-же указываю, что НПС не находится под гулагом), где я его "застал" сохранением\загрузкой он вырубается, т.е. стоит в состоянии, когда с ним невозможно взаимодействовать. Т.е. явно причина не в этой помарке, о которой Вы говорили выше, а в чем-то другом. Вот только в чем, я не знаю. Может и не в схеме кампа, как мне советовал Artos, но я не знаю в чем - потому и срашиваю. Спрашиваю не потому, что хочу получить от Вас готовое решение, как "образумить" моего НПСа, а потому-что предполагаю, что Вы, возможно, сталкивались в свое время с подобной проблемой, и можете подсказать мне ее решение.

 

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

приветствую всех.пытался перенести локацию из чн в ТЧ при переходе на локу происходит вылет

Expression    : cross_table().header().game_guid() == game_graph().header().guid()
Function      : CAI_Space::load
File          : E:\stalker\patch_1_0004\xr_3da\xrGame\ai_space.cpp
Line          : 121
Description   : graph doesn't correspond to the cross table

 

Вероятно, не все файлы перенёс в игру. Когда level.gct не соответствует файлу game.graph, то как раз и происходит такой вылет при переходе на новую локацию.

ColR_iT

Изменено пользователем ColR_iT
Ссылка на комментарий
Akella-96 aka SvD,
<visual>actors\novice\green_stalker_1</visual>

FANAT.gif

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

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

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

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

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

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

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

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

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

Войти

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

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

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