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

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


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

GefoSдля комментирования в диалогах (как и в любых файлах .xml сталкера), надо использовать: <!-- rem text -->

 

 

Zander_driver, программа для быстрого просмотра звуков и их свойств (спец. для сталкера): http://www.metacognix.com/files/stlkrsoc/SAVandT_1.1.7z
  • Полезно 1
Ссылка на комментарий

В файле game_levels_music.ltx:

[l01_escape_musics]
music\amb01      =  6, 22,   0.2,   20, 40
music\amb20      = 22, 6,    0.2,   20, 40
C настройками все понятно. Но вот печаль, почему при добавлении новых секций не срабатывает тот звуковой эмбиент, который прописываю на определенное время, пример:

[l01_escape_musics]

music\amb01     =  0, 8,   0.2,   20, 40
music\amb02      = 8, 16,  0.2,   20, 40
music\amb03      = 16, 0,  0.2,   20, 40
Нужно еще где-то и что-то прописывать, чтобы новые секции заработали?

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Как добавить музыку (в грамафон) на базу свободы в Сталкере ТЧ ?

 

Как сделать что бы в граммофоне свободы на складах звучало как у долга типо : "Защитим мир......"

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

@DJ.Orb.Warpal, по образу и подобию...Ну типо точно так же, как это сделано для Долга.

 

 

 

Просьба дать вменяемый ответ. А не из разряда "Если у вас какой-то вылет, то наверно посмотрите логи"

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

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

ЗЫ...Я тут как-то давненько пытался донести одну мысль по поводу вылетов, но не поняли.

Повторяюсь. 

Бывают случаи, когда вылет происходит не при обращении к непрогнанному через СДК звуку, а к прогнанному, то бишь такому, который не дает красноты в консоли и не будет определен пакетно, но у которого квалити = 0...Причём вылет безлоговый.

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

Изменено пользователем _Val_
Ссылка на комментарий
Вопрос по радиоактивным зонам. Для них в конфиге прописано:
zone_radioactive_weak
min_start_power = 0.01
max_start_power = 0.011
 
zone_radioactive_average
min_start_power = 0.03
max_start_power = 0.031
 
zone_radioactive_strong(и наследованная от нее без изменений zone_radioactive_killing)
min_start_power = 0.06
max_start_power = 0.061

 
В СДК выбор при создании радиационных аномалий только в выборе из вышеперечисленных секций.
 
В распакованном all.spawn для радиационных аномалий видим:
section_name = zone_radioactive_strong
max_power = 0.048999999
 
section_name = zone_radioactive_strong
max_power = 30
 
section_name = zone_radioactive_killing
max_power = 0.050000001
 
section_name = zone_radioactive_average
max_power = 0.0089999996
 
section_name = zone_radioactive_weak
max_power = 0.0099999998
 
section_name = zone_radioactive_weak
max_power = 0.60000002
 
section_name = zone_radioactive_weak
max_power = 0.0049999999

 

 

Поясните, кто в курсе, откуда такая разница max_power для зон, созданных на одной и той же секции. Что влияет ? Радиус шейпа\рестриктора. Какова формула рассчета ?

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

Поясните, кто в курсе, откуда такая разница max_power для зон, созданных на одной и той же секции.

Я бы подумал насчет того, что до тебя all.spawn уже правили через асдс и выставили max_power руками некоторым аномалиям.
Ссылка на комментарий

 

 

Я бы подумал насчет того, что до тебя all.spawn уже правили через асдс и выставили max_power руками некоторым аномалиям.

Т.е. если не трогать ничего через ACDC - то для всех этих аномалий будут только три значения max_power, зависящих от секции, на которой их создали ?

 

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

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

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

max_power читается из конфига, параметр "min_start_power"
Ссылка на комментарий

Здравствуйте, как сделать, чтобы НПС вступал первым в диалог с ГГ, как это было сделано в моде Упавшая звезда, в лабе х-18, с наёмниками, попытался взять логику оттуда и получаю вылет g_script при заходе на ту локацию где я прописал логику?

[logic]

active = walker
combat_ignore = combat_ignore

[walker]
path_walk = x18_gromov_walk
path_look = x18_gromov_look
danger = danger_condition@x18_gromov
meet = meet

[meet]
meet_state = threat@threat_weap
meet_state_wpn = threat@threat_weap
victim = actor
victim_wpn = actor
use = {=dialogs_SP_dist(3.0) -darklab_gromov_end} self, true
use_wpn = {=dialogs_SP_dist(3.0) -darklab_gromov_end} self, true
meet_dialog = x18_gromov_dialog


[danger_condition@x18_gromov]
ignore_distance = 0

[smart_terrains]
none = false

 

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

"use = {=dialogs_SP_dist(3.0) -darklab_gromov_end} self, true"

А это вообще что должно означать, и кто это должен сделать ?

 

И вообще оно без этого-то хоть работает ?

 

Вообще, у меня вот тоже вопрос: когда уже, вместо того, чтобы спрашивать, сначала будет привычка проверять построчно - то есть, если что-то вдруг не заработало, то добавлять по одной строке, пока не будет получен собственно вылет ?

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

За что отвечает эта функция?

function aes_zombie_hit1 (npc)

--local npc = level_object_by_sid (1119)
--local force = vector ():set (0, 0, 0.02)
--local pshell = npc:get_physics_shell ()

--local joint = pshell:get_joint_by_bone_name ("head2")
--joint:set_max_force_and_velocity (0.5 + math.random (), 0.1 * -1, 0)
--joint:set_max_force_and_velocity (0.5 + math.random(), 0.1 * -1, 2)

--local npc = level_object_by_sid (1119)
--local force = vector ():set (0, 0, 50)
--local pshell = npc:get_physics_shell ()
--local element = pshell:get_element_by_bone_name ("foot_right")
--element:apply_force (force.x, force.y, force.z)

-- foot_right, foot_left, left_hand, right_hand


--local dir = npc:direction ()
--dir.y = 0.0
--dir:normalize ()
--npc:set_const_force (dir, 2000, 3)

--npc = level_object_by_sid (1120)
--dir = npc:direction ()
--dir.y = 0.0
--dir:normalize ()
--npc:set_const_force (dir, 2000, 3)

--npc = level_object_by_sid (1121)
--dir = npc:direction ()
--dir.y = 0.0
--dir:normalize ()
--npc:set_const_force (dir, 2000, 3)

--npc = level_object_by_sid (1122)
--dir = npc:direction ()
--dir.y = 0.0
--dir:normalize ()
--npc:set_const_force (dir, 2000, 3)

--npc = level_object_by_sid (1123)
--dir = npc:direction ()
--dir.y = 0.0
--dir:normalize ()
--npc:set_const_force (dir, 2000, 3)
end

 

Файл xr_effects.script

 

 

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

@Призрачный, извини, а ты вообще понимаешь то, что ты делаешь. И как понять первым, вообще-то в характере нпс пишется <start_dialog>название диалога</start_dialog>. Тогда первая реплика принадлежит нпс.

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

@Pro100The-Best, создай рестриктор вот с такой логикой.

[logic]
active = sr_idle@one


[sr_idle@one] 
on_info = sr_idle@2d %=run_postprocess(deadcity_wake)=run_cam_effector(dream:1002:true) =disable_ui% 

[sr_idle@2d]
on_timer = 10000 | sr_idle@3d %=stop_cam_effector(1002) =run_cam_effector(prison_0:1003:true)%

[sr_idle@3d]
on_timer = 7000 |  sr_idle@4d %=stop_cam_effector(1003) =run_cam_effector(prison_1) =enable_ui%

[sr_idle@4d]

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

начале игры ГГ поднимался с земли как в ТТ2?

Берешь level.add_cam_effector(). Смотришь, с какими параметрами она используется в интересующем моде, и копируешь себе в каллбек на начало новой игры. Еще может потребоваться скопировать указанный файл анимации, если там указан не из оригинальных.

 

Сам каллбек выглядит как проверка на апдейте актора, где проверяется, что уровень загрузился и ищется переменная в pstor актора/инфопоршень. Если уровень начал рендериться и переменной нет -> выполняем одноразовый код и выдаем актору переменную/инфопорцию.

 

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

Pro100The-Best , создай рестриктор вот с такой

логикой.

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

 

P.S. И да, он с данной логикой что, будет каждый раз падать? А рестриктор мотать эту логику всю остальную игру... Когда в изначальном алгоритме забываешь об оптимизации - не ищи быстродействие в конечном продукте.

Т.е. если не трогать ничего через ACDC

Возможность изменения алл.спавна после компиляции существовала с самого начала. И разве разработчики пользовались тем же СДК, что и мы? Вполне закономерно обнаружить в игре то, что не правится имеющимися урезанными средствами.

И я сомневаюсь, что они стали бы вводить в формулы расчета зависимость от того, на каком бугорке разместили аномалию. Не ищите то, чего нет.

 

Изменено пользователем Xdlic
  • Согласен 3
Ссылка на комментарий

@Xdlic, Вообще-то актор спамится сразу в рестрикторе, да и рестирктор у меня просто удаляется после использования. Хотя и этот больше работать не будет. И проблем это никаких не создает.

Intrel Core i5 9400F, msi gtx 1660 super ventus, RAM 16g-DDR4, HD 2000g, Win 10x64, SSD 256g, SSD m2 500g.

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

При совмещении модификации Blowout, New Sleep and Dynamic News со своим модом столкнулся с вылетом:

 

 

[16-9] get_xml_name for[map_spots_relations.xml] returns [map_spots_relations.xml]
[16-9] get_xml_name for[map_spots_lchangers.xml] returns [map_spots_lchangers.xml]
[16-9] get_xml_name for[maingame_pda_msg.xml] returns [maingame_pda_msg.xml]
[16-9] get_xml_name for[maingame_pda_msg.xml] returns [maingame_pda_msg.xml]
- Critical: SMapLocation binded to non-existent object id=159
 
FATAL ERROR
 
[error]Expression    : assertion failed
[error]Function      : CMapLocation::UpdateSpot
[error]File          : map_location.cpp
[error]Line          : 367
[error]Description   : obj
 
 
stack trace:
 
001B:005A9CA8 xrCore.dll, xrDebug::fail()
001B:0229555A xrGame.dll
001B:0229603E xrGame.dll
001B:021D05A4 xrGame.dll
001B:021E09A4 xrGame.dll

 

 

 

В чем проблема?  :russian_ru:

Добавлено Kirgudu,

Перенесено из «справочника вылетов».

Предупреждение по пункту 2.1.1 Правил форума.

NL-Vincenz.gif

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

Ребят, в чём может быть причина падения FPS при подходе к трупу НПС?

Вдалеке от НПС http://rghost.ru/private/6XcyFv7Q6/e339d349cfce5dbffccad0b1254992b6.view  74 фпс

Возле НПС http://rghost.ru/private/6XXXmb7Ht/d0978d8793248274abf1b9b45b731890.view   29 фпс

При наведение на НПС http://rghost.ru/private/8Qc7lwldD/bee2cd571bbae2b4cbdbe7b627b35a58.view   14 фпс

Один такой на всю деревню :)

Если что, у него ничего там нет в рюкзаке.

:russian_ru:

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

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

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

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

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

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

Войти

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

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

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