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

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


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

1 час назад, imcrazyhoudini сказал:

а каким образом можно сделать чтобы именно Сахаров выдавал награду?

Попробуй так -  добавь в профиль диалог о награде, а в его логику:

 

[task_manager]
reward = stalker ; возможно сработает группировка_1:группировка_2:...

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

@h0N0r гляди, как понимаю tm_sim.ltx:
 

Скрытый текст

[sim_defend_smart_stalker]:sim_defend_smart
faction = stalker
reward_money = {~50} 1000, 750
reward_item = {~50} grenade_rgd5:ammo_12x76_dart:ammo_12x76_dart:ammo_12x76_dart:ammo_12x76_dart:ammo_12x76_dart, medkit:antirad

 

[sim_defend_smart_delay_stalker]:sim_defend_smart_delay
faction = stalker
reward_money = {~50} 1000, 750
reward_item = {~50} grenade_rgd5:ammo_12x76_dart:ammo_12x76_dart:ammo_12x76_dart:ammo_12x76_dart:ammo_12x76_dart, medkit:antirad


Разве можно вписать то, что ты сказал или как поступить?
В диалоге у меня у него есть уже:     <actor_dialog>tm_reward_task</actor_dialog>

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

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

  

Как фиксить подобный вылет?:
 

Спойлер

! [LUA][ERROR] ERROR: Path between [rad_monolith_centr] and [yan_zombied_attack] doesnt exist for [11].
*********************************************************************************
[ResourceManager_Scripting.print_output([ResourceManager.lua_pcall_failed])] SCRIPT RUNTIME ERROR!
stack traceback:
*********************************************************************************
 
FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : lua_pcall_failed
[error]File          : G:\GitHub\Hike\xray\Layers\xrRenderDX10\dx10ResourceManager_Scripting.cpp
[error]Line          : 431
[error]Description   : <no expression>
[error]Arguments     : [ResourceManager.lua_pcall_failed]: ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script:729: attempt to index local 'smart' (a nil value)
 

stack trace:

0x000000006972FF50 xrCore.dll, `string'

 

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

Ссылка на комментарий
8 часов назад, imcrazyhoudini сказал:

! [LUA][ERROR] ERROR: Path between [rad_monolith_centr] and [yan_zombied_attack] doesnt exist for [11]

У каждого смарта есть параметр targets, обычно ближайшие смарты (на текущем / соседнем уровне). К ним должны быть пути, типа:

smart_1_to_smart_2_patrol_1_walk
smart_2_to_smart_1_patrol_1_walk

 

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

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

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

Не соответствует. N6260

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

@h0N0r @ZeeK то есть условно поставить надо такие точки возле смарта указаного в targets?

Возможно вообще в targets ничего не писать?

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

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

@imcrazyhoudini 

Нет, все смарт_террейны записаны в алл.спавн в файлы локаций, например alife_l07_yantar

В описании смарт_террейна есть раздел

[smart_terrain]
targets = yan_smart_terrain_4_2, yan_smart_terrain_5_3

Значит из смарт_террейна yan_smart_terrain_6_2 может отряд уйти в yan_smart_terrain_4_2, yan_smart_terrain_5_3

Вам необходимо сделать по аналогии со своими террейнами.

Не соответствует. N6260

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

@ZeeK у меня к примеру смарт террейны просто для заселения, я могу в каждый смарт просто указать один смарт другой, а после вэй поинты наставить рядом с ним?

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

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

@imcrazyhoudini Вы уже определитесь как хотите, чтобы НПС двигались по карте: с помощью симуляции или по скриптам и логике (вей поинты).

Для движения отрядов через симуляцию между смарт_террейнами не нужны вей поинты.

 

Опишите подробно, что Вы хотите реализовать, а то сейчас не очень понятно

 

Не соответствует. N6260

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

@ZeeK вот возьмём обычный лагерь монолитовцев.
Мне нужно просто чтобы они были в этом лагере и не думали вообще ни на кого нападать.
Но так как есть поле targets - я пишу туда смарт, хотя повторюсь мне в целом не нужно чтобы монолитовцы на кого либо нападали.

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

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

@imcrazyhoudini чтобы отряд никуда не уходил, то пропишите в его описании в  squad_descr_название_локации следующее:

target_smart = название_смарт_террейна.

Отряд займет точку и никуда не уйдет до своей смерти.

 

Можно писать target_smart = название_смарт_террейна:название_смарт_террейна и тогда отряд будет двигаться между зацикленными смарт террейнами туда-сюда

Не соответствует. N6260

Ссылка на комментарий
4 часа назад, ZeeK сказал:

target_smart = название_смарт_террейна.

Свой же вписать?
В ltx имеет приоритет над названием в custom_data?

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

Ссылка на комментарий
30.05.2025 в 12:47, imcrazyhoudini сказал:

В ltx имеет приоритет над названием в custom_data?

это разные target_smarts:

в squad_descr_название_локации он указывает КУДА идти конкретному отряду
в алл.спавн в alife_название_локации он указывает откуда можно придти в конкретный смарт_террейн и куда из него можно уйти.

 

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

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

Не соответствует. N6260

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

@Lieutenant Novikov Все правки сделал как написано в этом сообщении о губной гармошке для Чистого Неба. Мелодии обработал, по битрейту, моно, частота правильная, громкость и расстояние выставил как у мелодий гитар. Мелодии брал из Зов Припяти, они рабочие. В итоге - НПС предупреждают о начале "музыкальной паузы", вынимают гармошки, играют, но нет звуков. Гитары работают. В чём может быть причина?

1.jpg

 

UPD:

@Kirgudu  https://vkvideo.ru/video-230118273_456239023  :)

Спасибо.

Изменено пользователем Челдон
  • Нравится 1
Ссылка на комментарий
07.06.2025 в 19:49, Челдон сказал:

В чём может быть причина?

В упомянутой инструкции не хватает одного маленького, но важного пункта.

5. Открываем скрипт по адресу "gamedata\scripts\state_mgr_animation_list.script" на редактирование. Находим анимацию "harmonica" (в оригинале это строки 437-452) и для элемента "into_music" меняем значение "harmonica" на "play_harmonica" (используем ровно то самое имя, которое дали добавленной в script_sound_music_and_stories.ltx секции, содержащей описание звуковых файлов).

И всё заработает.

Скрытый текст
harmonica    = {    prop    = { maxidle = 3,
                                    sumidle = 3,
                                    rnd = 80 },
                        into    = { [0]    = {"sit_2_harmonica_1_0", {a="harmonica_a"}, "sit_2_harmonica_1_1"}},
                        out        = { [0]    = {"harmonica_1_sit_2_0", {d="harmonica_a"}, "harmonica_1_sit_2_1"} },
                        idle    = { [0]    = "harmonica_1" },
                        rnd        = { [0]    = {    "harmonica_2",
                                            "harmonica_3" } },
                        subanim = { [1] = {    prop = { maxidle = 3,
                                                     sumidle = 3,
                                                     rnd = 0 },
                                            into_music = "play_harmonica", --/ вот здесь
                                            into    = nil,
                                            out        = nil,
                                            idle    = { [0]    = "harmonica_0" },                                            
                                            rnd        = nil }}},

Анимация гитары чуть повыше содержит правильное наименование секции звуковых файлов, поэтому с ней всё в порядке.

 

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

 

  • Спасибо 2
  • Нравится 1

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

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

Продолжу смарты...
 

Скрытый текст

! [LUA][ERROR] ERROR: Path between [rad_monolith_base] and [yan_zombied] doesnt exist for [7].
! [LUA]  0 : [C  ] error_log
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
! [LUA]  0 : [C  ] error_log
! [LUA]  1 : [Lua] e:\s.t.a.l.k.e.r. clear sky\gamedata\scripts\_g.script(1103) : abort
! [LUA]  2 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(204) : iterate_point
! [LUA]  3 : [Lua] ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script(786) : find_path
! [LUA]  4 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(530) : get_next_action
! [LUA]  5 : [Lua] ...e.r. clear sky\gamedata\scripts\sim_squad_generic.script(462) : update
! [LUA]  6 : [Lua] ...a.l.k.e.r. clear sky\gamedata\scripts\sim_faction.script(240) : 
*********************************************************************************
[ResourceManager_Scripting.print_output([ResourceManager.lua_pcall_failed])] SCRIPT RUNTIME ERROR!
stack traceback:
*********************************************************************************
 
FATAL ERROR
 
[error]Expression    : fatal error
[error]Function      : lua_pcall_failed
[error]File          : G:\GitHub\xray_null\xray\Layers\xrRenderDX10\dx10ResourceManager_Scripting.cpp
[error]Line          : 431
[error]Description   : <no expression>
[error]Arguments     : [ResourceManager.lua_pcall_failed]: ...t.a.l.k.e.r. clear sky\gamedata\scripts\sim_board.script:729: attempt to index local 'smart' (a nil value)

Вроде понятно, но я уже убрал вызов этого смарта:
 

Скрытый текст

[smart_terrain]
targets = rad_monolith_perehod
sim_type = base
important_point = true
squad_capacity = 4
mutant_lair = false
group_id = 1
spawn_point = rad_monolith_base_spawn_point
att_restr = rad_monolith_base_space
def_restr = rad_monolith_base_space
sim_avail = true
respawn_sector = monolith
no_mutant = false
respawn = 
actor_hides =
surge_hide_avaliable = false


Зачем ему нужен теперь смарт аж на другой локации?

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

Ссылка на комментарий
11.06.2025 в 23:31, imcrazyhoudini сказал:

Зачем ему нужен теперь смарт аж на другой локации?

Не уверен, но кажется между локациями тоже должны быть смарты для переходов, не может быть локации не связанной хотя бы одним переходом с иной локацией (для движения ИИ сквадов).
не обязательно должны быть связки именно между двумя смарт_террейнами, указанными в логе, но между ними должна быть связь через 1-3-5-100500 смарт_террейнов.

  • Согласен 1

Не соответствует. N6260

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

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

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

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

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

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

Войти

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

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

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