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

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


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

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

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

Struck, если тебя не устраивает существующая схема то... или юзаешь другую (подходящуюю) или засучиваешь рукава и пишешь свою иль дорабатываешь под себя имеющуюся.

Схема "meet" разработчиками задумана как встреча двух сталкеров и смотреть "не на собеседника" им как то в голову не пришло. Поэтому в схеме жестко задано: look_object = victim. Не подходит - меняй...

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

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

Struck, конкретно в точку (т.е. три координаты на уровне) не получится. Указывать куда смотреть НПС при секции meet можно только посредством параметра victim который поддерживает только три значения (цитата с wiki):

victim/victim_wpn = <number>|<параметр> - задает объект, на который должен будет смотреть персонаж, в зависимости от расстояния равное number.

Для ситуации, когда актор безоружен и вооружён соответственно. Возможны следующие значения:

actor - смотреть на игрока;

story_id - смотреть на персонажа со указанным story_id;

nil - никуда.

 

P.S. Мог бы и прочитать чуть более двадцати строк.

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

Artos, ясно, спасибо, тогда остается только ремарк.

 

ColR_iT, Emoticon-Facepalm.gif ну я в общем то прежде чем писать, читаю и пробую, я вроде не спрашивал как такое в [meet] сделать, ибо там даже в самой схеме берется id.

Ссылка на комментарий
Buusty, чтобы вертушка нормально взлетала и садилась - нужно управлять скоростью....

Artos, да, все верно. Спасибо большое! Уже второй раз выручаешь дельным советом. Прописал координаты взлета (первую точку) точно такие же, как и точку приземления, но высоту поднял на "6", и добавил доп. точку вэйпойнта еще на +6 /уж для надежности/ и скорость убрал до "4" (в логике для этой схемы оказывается 15 (!) стояло, вот и срывалась "с буксами" под уровень :lol: ). Теперь все четко, конечно "чуток чиркает пузом" по бетону, но это мелочи, по сравнению с первоначальным вариантом.

P.S. К слову, в данном квесте использовал твой метод установки/удаления метки на рестриктор - простенько и со вкусом! :ok5: Все работает как положено.

Что тут скажешь - "опыт, опыт, опыт..."))).

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

Такой вопрос, по аномалиям. В нет-пакете у них есть такой параметр: artefact_position_offset = 2048. Значение 2048 подсмотрел в чистой игре у большинства аномалий. Понятно, что это что-то связанное с тем, куда спавнить появляющиеся в аномалии артефакты. Но как понимать это число?

Поясню ситуацию, сейчас занимаясь рандомным спавном аномалий на уровне (по рандомному левел-вертексу) часто сталкиваюсь с тем что артефакты лежат кучками по 2-5 штук почти в одной точке, причем в одной кучке артефакты разных видов, относящиеся к разным аномалиям. Самой аномалии в этой точке нет никакой. Не могу сказать что меня устраивает такое их поведение.

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

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

Вопрос по поведению гулага неписей на Арене, противостоящих нашему ГГ.

Когда ГГ появляется на Арене, то успевает практически пробежать 90 % пути и пальнуть по неписю (-ям), которые ещё только собираются в бой.

В каком файле и какой параметр ( видимо задержка ??? ) надо подправить, чтобы соперники начали расхождение одновременно с ГГ ?

Спасибо.

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

"Кругом зомби.....у меня кончаются патроны...."

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

Вопрос по использованию объекта:

Хотел сделать объект используемым

 

[af_dummy_bezic]:identity_immunities

GroupControlSection = spawn_group

discovery_dependency =

$spawn = "artifacts\dummy bezic"

;$prefetch = 32

class = II_ATTCH

cform = skeleton

visual = physics\anomaly\artefact_bezi.ogf

radius = 1

;script_binding = stalker.object_init

quest_item = none

 

description = enc_zone_artifact_af-dummy-bezi

 

inv_name = af-dummy-bezi

inv_name_short =

inv_weight = 0

inv_grid_width = 1

inv_grid_height = 1

inv_grid_x = 4

inv_grid_y = 41

cost = 0

 

eat_health = 0

eat_satiety = 0

eat_power = 0

eat_radiation = 0

wounds_heal_perc = 0

eat_portions_num = 1

animation_slot = 4

hud = wpn_vodka_hud

 

 

в bind_stalker.script

После self.object:set_callback(callback.take_item_from_box, nil)

Написал self.object:set_callback(callback.use_object, nil)

 

И после строки self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)

Добавил self.object:set_callback(callback.use_object, self.use_obj, self)

 

В функции function actor_binder:on_item_drop (obj)

 

Дополнил

function actor_binder:use_obj(obj)

art_use.usaem_art(obj)

end

 

В файле art_use

 

function usaem_art(obj)

if obj ~= nil then

if obj:section() == "af_dummy_bezic" then

guider.use_artefact()

end

end

end

 

В файле guider

function use_artefact()

start_jump_to(76.2594451904297,10.2330474853516,47.5550727844238,1063225,4013,0,0,0,"peshera")

end

 

Дальше описывать не буду. Проблема заключается в том, что предмет не используется

К20

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

Стрелоk, убирай, плз, строки кодов под спойлеры, не захламляя ими топик...

И почему бы тебе не посмотреть как правильно нужно сделать в многочисленных модах, а не пытаться копипастить с ошибками?

Твоя ошибка: создавая ссылку на коллбэк в классе биндера ( self.object:set_callback(callback.use_object, self.use_obj, self) ) ты его (сам метод) НЕ создаешь, а засунул внутрь имеющегося on_item_drop ... Почитай мануалы по Lua и прекрати писать скрипты методом тыка.

 

BFG, нет никаких параметров, отвечающих за задержку перед началом боя, это особенности функционирования AI-схем.

Что собственно происходит перед началом каждого боя? Спавнятся нужные монстры/неписи в нужном месте и им активируется схема 'camper' и ... они тупо (стОя на месте!) выискивают врага-цель. Пока они не увидят (не услышат) врага (актора) - они ничего не предпринимают, т.к. схема ничего иного не предусматривает.

Т.о. если только дорабатывать новой схемой, типа "поиск врага в пределах зоны", может заставить начать бой вместе в актором.

 

Zander_driver, если говорить строго (а это в данном случае важно), в нет пакете нет никаких имен параметров, а те, которые получены после чтения нет-пакета - по сути повторяют имена из распаковки all.spawn'а, а еще точнее - соответствующим настройкам / параметрам из SDK.

Подсмотренное тобою значение 2048 - говорит только об одном: об ошибочном задании/чтении/трактовке этого парамета, т.к., как правило, значение (индекс) для каждой аномалии свое... А то, что у тебя у всех одинаково - ну так и спавнишь свои "рандомные" по одному и тому же шаблону.

Суть этого параметра - это индекс места спавна артефакта, который (индекс) описан в section2.bin, и как правило, у каждой аномалии свой.

Возьми последние версии uACDC и распакуй с ключиком -af, да и посмотреть что-к-чему в SDK можно.

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

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

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

1.Где находится логика Борова?(портянки нашел только в gulag_dark_valley.script)

 

2.Трудно-ли добавить 'свое' задание в task manager?(конкретно надо добавить "принести несколько итемов"). Есть, как вариант написать аналог find_item, только поменять проверку наличия итемов. И как для каждого НПС сделать свою строку диалога "Мне нужна работа. Есть что на примете?"?

  • Нравится 1
  • Не нравится 1
Ссылка на комментарий

Struck, ты вновь с вопросами в стиле "аля для СП"... почему бы тебе там же их и не задавать? :nono:

 

1. Раз нашел "портянку", для чего переспрашивать и устраивать в топике "Бюро находок"? Нашел - изучай, в исходной игре более логики для Борова нет.

2. "Трудно иль нет" - зависит от навыков чтения и работы со скриптами и желания самому понять и сделать. Для тех, кто считает себя "нубом" в скриптах, лентяям и торопыжкам - трудно, для остальных...

Квестов на нахождение нескольких предметов понаписано в модах уже на десяток туторов... С добавлением через task manager тоже не мало. Так что для многих это не трудно.

Однако, такая возможность сильно зависит от того, что за "итемы" ты собрался добавлять в квесты. Например, пару бутылок и закуску - тебе врядли удастся добавить, т.к. прежде всего придется научить task manager узнавать что такие итемы имеются в игре.

2.б. Для квестовых неписей диалоги на "наличие работы" добавить не сложно, примеров предостаточно, однако с похотелкою "для каждого НПС" - придется обломиться... Таскменеджер понимает заказчиков для квестов по наличию у них сида (story_id), да еще и прописать их в него придется попотеть... Так что если сможешь каждому неписю, который спавнится в игру, прописать свой сид и зарегистрируешь в таскменеджере - тогда и о диалогах можешь подумать. ну иль ... переписать сам таскменеджер, чтобы он сам узнавал "каждого"... :crazy:

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

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

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

Я пытался в течение многих месяцев сделать так, чтобы стереозвук в Тени Чернобыля работал бы должным образом.

 

Как правило, игровой движок должен принимать моно файлы с при креплениями "_l" и "_r" и применять их для правого и левого каналов, чтобы получит стероеэффект.

 

Мои тесты показали, неоднократно, что движок не способен сделать это. Он просто не работает.

 

Я попытался изменить функцию "function action_sound2d:get_source_positions()" в "sr_sound2d.script", но ничего не изменилось. Я даже написал новую функцию, чтобы повернуть звуки на разные оси ( X, Y, Z).

 

У меня кончились идеи, может ли кто то помочь? Я хотел бы получить стерео аудио работающую в STALKER.

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

Можно ли прикрутить озвучку артефакту (относящийся к class = Artefact) не используя шейдеры ?

 

Вопрос по использованию объекта:

Хотел сделать объект используемым

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

А как он должен использоваться, поясните?

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

Такой случай:

В инвентаре у НПЦ есть костюм, который надо испортить на 50%. Я делаю функцией:

 

local obj = npc:object("military_outfit")
obj:set_condition(0.5)
--(Переменная НПЦ определена)

 

Результат: вылетает с такой бякой в логе:

 

LUA error: S.T.A.L.K.E.R.\gamedata\scripts\den.script:188: attempt to index local "obj"(a nil value)

 

Как решить эту проблему?

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

proger_Dencheek,

не может найти костюм. Пишет же в логе "obj (a nil value)"

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

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

malandrinus костюм есть в инвентаре, все проверял, ошибки в имени костюма нет. С переменной npc тоже все в порядке, я этой переменной этот самый костюм спавнил, теперь надо его испортить.

 

Вылет "говорит", что костюма нет. А есть ли он у НПС и вообще того ли НПС ты находишь - проверять тебе.

ColR_iT

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

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

Также, если твой НПС за пределами алайфа (switch_distance) - то не стОит надеяться заполучить онлайн-костюм, если непись в оффлайне.

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

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

Artos, с дистанцией точно все в порядке, т.к. костюм портится при обыске трупа НПЦ. Т.е. функция не сработает, если НПЦ в оффлайне, я правильно понимаю?

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

proger_Dencheek,ты сам занимаешься погадалками и нам предлагаешь...

Метод obj = npc:object("military_outfit") работает только для онлайнового объекта (npc), возвращая затребованный предмет. Т.о. в твоем случаке, если Lua не ругается на 'npc' - следовательно этот объект доступен. А вот есть ли у него заспавненный костюм - это как раз и НЕОЧЕВИДНО(!), хотя ты и сам спавнил и даже при обыске видишь этот костюм.

Написал же: "не дожидаясь его выхода в онлайн, т.е. не пропустив пару-тройку апдейтов после спавна костюма". Т.е. после спавна костюм появится у твоего НПС в инвентаре ТОЛЬКО спустя некоторое время (2-4 цикла апдейта актора).

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

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

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

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

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

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

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

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

Войти

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

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

×
×
  • Создать...