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

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


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

Artos, спасибо, но все-же как найти именно ту секцию которую нужно?(возможно глупый вопрос)

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

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

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

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

поставлю вопрос по другому.... я заспавнил обьект, допустим wpn groza, а как сделать так что бы именно у заспавненой грозы было описание отличающиеся от обычной wpn grozы

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

vasya092, никак. Если ты заспавнил обыкновенную wpn_groza, то и описание у нее будет как для обыкновенной.

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

(Может быть прежде чем писать банальные вопросы - стОит своею головою поработать... хотя бы немного?!).

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

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

Здравствуйте!

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

Сейчас прохожу: GWENT: The Witcher card game

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

Можно ли его теперь как нибудь "включить"?

Логика этого приёмника выведена в конфиг "sak_priemnik.ltx" (путь - gamedata\config\scripts)-

 

[logic]

active = ph_sound1

on_hit = hit

 

[hit]

on_info = %+sak_priemnik_off%

 

[ph_sound1]

snd = sak_music

on_info = {+sak_priemnik_off} nil

 

Как видишь, при получении хита, радиоприёмнику выдается поршень - sak_priemnik_off (ну, не радиоприемнику конечно, а игре, это я уж так сказанул))), а в активной схеме ([ph_sound1]), при наличии этого поршня, его логика выводится из под управления скриптами (nil), и он замолкает - становится просто физическим объектом.

Попробуй зациклить логику -

 

[logic]

active = ph_sound1

on_hit = hit

 

[hit]

on_info = %+sak_priemnik_off%

 

[ph_sound1]

snd = sak_music

on_info = {+sak_priemnik_off} ph_sound1

 

Если не прокатит, то допиши еще одно "on_info" в секцию [hit]. Вот так -

 

[logic]

active = ph_sound1

on_hit = hit

 

[hit]

on_info = %+sak_priemnik_off%

on_info2 = %+sak_priemnik_on%

 

[ph_sound1]

snd = sak_music

on_info = {+sak_priemnik_off} nil

on_info2 = {+sak_priemnik_on} ph_sound2

 

[ph_sound2]

snd = sak_music

 

Подойди и еще раз по нему выстрели, получишь поршень - "sak_priemnik_on", который переключит приемник в схему [ph_sound2]. Не забудь только зарегить новый поршень в info_.... (в любом, без разницы, путь - gamedata\config\gameplay).

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

Поправлю ответ Buusty:

1. Инфопоршни выдаются не "игре", а актору или НПС. Для сингла 'актор' один, поэтому в общем-то можно говорить о "выдан в игру", но это жаргон.

2. Учитывая, что хит(ы) дается объекту далеко не всегда однократно (т.е. может и дублироваться и множиться), то зацикливание (а точнее, предлагаемая триггерная схема) логики - очень сомнительное мероприятие без таймингов пауз иль гистерезиса. Да и "способ" включения музона выстрелом по приемнику - не блещет "логичностью и рЫализмом". ;-)

3. Чтобы включить в игре "простреленый" приемник Сяка нужно всего лишь отключить каким-либо удобным способом выданный при хите инфопоршень 'sak_priemnik_off', например выполнив это:

db.actor:disable_info_portion("sak_priemnik_off")

Однако, потребуется после этого сделать сэйв и вновь загрузить сохранение, чтобы вновь активировалась секция '[ph_sound1]'

 

Ну, а если не хочется вообще, чтобы приемник отключался от хитов - просто заремить в логике приемника строку: ;on_hit = hit

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

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

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

По приёмнику - инфа полезная,я по другому вопросу:конкретно кабану в НЛС6 хочю убавить скорость передвижения в двое - а то как реактивный бегает :ny_z_6: и никак - m_boar параметры перенёс из соли - кабану ноль эмоций - может я не там кручю?:подскажите какие строки в каком файле регулирует скорость передвижения монстра - в соли на пример

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

edwin0.gif

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

В НЛС не кабаны резвые, а ГГ "тихоход", вот и не можешь убежать от них. Поднимай скорость актору.

====

 

Кто может прояснить ситуацию -

FATAL ERROR

 

[error]Expression : child

[error]Function : xrServer::Perform_destroy

[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_sls_clear.cpp

[error]Line : 22

[error]Description : child registered but not found [30634]

 

"Погуглил" - толком ответов не нашел (вопрос подобный есть - ответа на него нет).

Вылет происходит когда пытаешься покинуть локацию (в частности - Затон). Переходишь на локу без проблем, а вот попытки покинуть её заканчиваются подобным логом (цифры - [30634] могут быть разные, но всегда 30... (30445, 30584, 30577 и т.д.)).

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

Насколько знаю английский - не найдена какая-то дочерняя/ зарегистрированная/ секция (child registered but not found ...). Подскажите, пожалуйста, где хоть рыть то? Что-то в алл.спавне накосячил? Как бы мне эту секцию под номером "30тысяч... с чем-то" вычислить?

P.S. Несколько месяцев труда в трубу вылетают...

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

Вопрос снимается. Ошибку нашел сам (просто начал методично проверять - "что же делал в последнее время", ведь с месяц назад всё было нормально).

Вот она, ошибка -

 

[15113]

; cse_abstract properties

section_name = physic_object

name = zat_b57_ph_balon_use

position = -427.777099609375,13.9238252639771,55.5206909179688

direction = 0.00896000023931265,-3.05425810813904,-0.000784999981988221

 

; cse_alife_object properties

game_vertex_id = 3679

distance = 0

level_vertex_id = 293223

object_flags = 0xffffff3a

custom_data = <

[spawn]

ammo_7.62x39_fmj = 4

ammo_7.62x39_ap = 4

END

 

Должно быть так -

[15113]

; cse_abstract properties

section_name = physic_object

name = zat_b57_ph_balon_use

position = -427.777099609375,13.9238252639771,55.5206909179688

direction = 0.00896000023931265,-3.05425810813904,-0.000784999981988221

 

; cse_alife_object properties

game_vertex_id = 3679

distance = 0

level_vertex_id = 293223

object_flags = 0xffffff3a

custom_data = <<END

[collide]

ignore_static

END

 

Нельзя ничего "дропить"/спаунить в "physic_object", только в "inventory_box"!

 

Может кому-то потом пригодится.

 

====

И давно хотел спросить -

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 2
health = 2
....
upd:health = 2
upd:timestamp = 0x6d6d695f
upd:creature_flags = 0x75
upd:position = -28.944880,5.118006,734.139526
upd:o_model = 0
upd:o_torso = -0.155843198299408,0,0.987781822681427
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 2

За что отвечают эти значения из алл.спавн (не хочется тупо копипластить, а назначать целенаправленно)? -

g_team = 0

g_squad = 1

g_group = 2

И по -

health = 2

upd:health = 2

Видел и значения 3, 4... что, действительно, чем больше цифра, тем "здоровее" будет непись (или монстр с этими же значениями)?

Зачем прописывать "2" в этой строке, если НПС и так заспавнен под -

section_name = stalker_sakharov

Что, единицы не достаточно будет?

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

Привет всем! Парни помогите вспомнить, несколько строчек (которые можно добавить в конфиг оружия) чтобы НПС стрелял на разные дистанции. (дальняя, средняя, ближняя). Видел давно в теме (The new weapon and its addition in S.T.A.L.K.E.R) но сейчас там их нет...

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

В респавне заменил цифры 12, 24 овечающие за время респавна в этой строке - idle_time:setHMSms( math.random(12, 24), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000), на 750, 950, проблема в том что респавн всеравно происходит каждые сутки, что и где еще нужно дописать чтобы респавн был раз в игровой месяц?

Ссылка на комментарий
fregat44, скорее всего, надо поменять цифры 12 и 24 в math.random(12, 24), т.к. они задают время спавна, т.е. между 12 и 24 часами должен произойти спавн. Изменено пользователем Сэр Макс
Ссылка на комментарий

Сэр Макс, прежде чем писать, стОит прочитать вопрос и обдумать его... (пишешь в ответе о том, что иесть в самом вопросе)

 

fregat44, уже не раз говорилось о том, что скрипт se_respawn.script в ТЧ имеет немало недостатков. В том числе тот, что время респавнов НЕ запоминается и, по сути, с каждым перезапуском игры время спавна отсчитывается заново.

Полистав тему, сможешь найти коды доработки этого скрипта.

Однако, придется пошерстить и настройки большинства имеющихся респавнеров, т.к. и в них нередко время задано напрямую, а не относительно параметров настроек.

 

stillmozz, возможно ищешь это:

;--/ на дальних дистанциях стрелять очередями по ...
weapon_min_queue_size_far = 10
weapon_max_queue_size_far = 15
weapon_min_queue_interval_far = 500
weapon_max_queue_interval_far = 800
;--/ на средних дистанциях стрелять очередями по ...
weapon_min_queue_size_medium = 20
weapon_max_queue_size_medium = 30
weapon_min_queue_interval_medium = 400
weapon_max_queue_interval_medium = 600
;--/ на ближних дистанциях стрелять очередями по ...
weapon_min_queue_size_close = 50w
eapon_max_queue_size_close = 100
weapon_min_queue_interval_close = 300
weapon_max_queue_interval_close = 500

 

 

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

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

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

fregat44, "так делал" - это как? С чего ты вообще тогда взял, если делал, что "каждый день" респавн? Читал лог и в нем выводил времена респавна и пауз иль... на глазок определял? :crazy:

 

Buusty, по трактовке параметров team/squad/group не хочется тратить время на толкование, полазай пока по статьям и самим скриптам. Кратко: это для "групповой" обработки объектов и их схем. Параметр team в move_mgr.script используется для синхронизации перемещений неписей. В ТЧ эти параметры достаточно рудиментарны, но обязательны.

 

Параметр health задавать более 2-х не имеет смысла, читаем коммент от разрабов:

MaxHealthValue = 100 ;-- option for ALife Simulator, range [0..200]
Почему более 1 - ну так почему бы не дать двойной стартовый запас здоровью для квестового непися(?!), ведь может же быть MaxHealthValue = 200 , а не 100.

Ну а то, что и для секции stalker_sakharov кто-то прописывает более единички - ну так "запас карман не тянет" (в данном случае) ;-)

 

Параметры upd:xxx - это, как правило, те значения, которые должен получить объект сразу после спавна, т.е. изменить исходные на заданные. Считай это вектром изменения для параметров.

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

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

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

fregat44, ты прочитал #9791, и в частности про НЕ запоминание времени последнего респавна?

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

 

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

Для проверки Lua скриптов/функций используй чекеры, например можешь и онлайновым воспользоваться.

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

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

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

В каком из этих файлов (modules, watcher_act, xr_logic, xr_motivator ) находится скрипт, отвечающий за обыск трупов НПС'ями. И какой параметр отвечает за радиус, в передал которого неписи будут обыскивать ?

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

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

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

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

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

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

Войти

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

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

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