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

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


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

6 часов назад, Jurok сказал(а):

@Ventor, динамическая музыка из ЗП была перенесена в ЧН в OGSM CS 1.8 CE. Советую подсмотреть, как реализовано там.

 

  Основные затрагиваемые скрипты: (Скрыть)

 

  • _g
  • bind_monster
  • bind_stalker
  • cop_dyn_music
  • xrs_dyn_music
  • xrs_dynamic_music_themes
  • xr_motivator
  • xr_s

 

 

Очень интересно, посмотрю. Большое спасибо за ответ.

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

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

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

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

 

Играю в ЧН+Mystery 2.0+SRP 1.13

 

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

 

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
Line          : 180
Description   : <no expression>
Arguments     : LUA error: smart_terrain.script:458: [se_smart_terrain:update_npc_jobs]: Insufficient smart_terrain jobs for smart with name 'val_smart_terrain_9_6'.

lua stack:
  [ 2|-1] (no value):  
  [ 1|-2] (string):  `[se_smart_terrain:update_npc_jobs]: Insufficient smart_terrain jobs for smart with name 'val_smart_terrain_9_6'.'

 

Можно это пофиксить?

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

@SHIZ я не знаю, что ты имеешь ввиду под "Можно это пофиксить?" Могу сказать где порыть и провести эксперименты.

Файл: gamedata\configs\misc\squad_descr_dark_valley.ltx
Секции: [val_smart_terrain_2_1_freedom] и [val_smart_terrain_2_2_freedom]

Похоже, что в этих секциях прописано больше нпс чем нужно...  Надо проверять.

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

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


 

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

 

в разделе ; Freedom есть: 


[val_smart_terrain_9_5_freedom]
;auto_id = true
faction = freedom
npc = val_freedom_deadblockpost_guard_1, val_freedom_deadblockpost_guard_2, val_freedom_deadblockpost_guard_3, val_freedom_deadblockpost_guard_4, val_freedom_deadblockpost_guard_5
target_smart = val_smart_terrain_9_5
sympathy = 0
;relationship = neutral

 

А вот val_smart_terrain_9_6 нет... Возможно этот смарт ссылается скрипт, а его нет, вот и ошибка

 

А в секцииях указанных вами, я ни чего особенного не замечаю(ну как бы мало опыта):

; Freedom Attackers

 

[val_smart_terrain_2_1_freedom]
;auto_id = true
faction = freedom
npc = val_freedom_attack_1, val_freedom_attack_2, val_freedom_attack_3, val_freedom_attack_4, val_freedom_attack_commander
target_smart = val_smart_terrain_1_2:nil
spawn_point = val_smart_terrain_2_1_spawn_point_to_killer_base
attack_power = 400
sympathy = 0
;relationship = neutral
on_death = %+val_freedom_2_1_dead%

 

[val_smart_terrain_2_2_freedom]
faction = freedom
npc = val_freedom_attack_6, val_freedom_attack_7, val_freedom_attack_8, val_freedom_attack_9, val_freedom_attack_10
target_smart = val_smart_terrain_1_2:nil
spawn_point = val_smart_terrain_2_2_spawn
attack_power = 400
sympathy = 0.5
;relationship = neutral
on_death = %+val_freedom_2_2_dead%

Так как вылет возникает после убийства последнего наёмника, то возможно решение в разделе Merc... Возможно их спавнится больше чем должно, типо один и тот же 2 раза... Т.к. я заметил, что я всех в здании прочищал, спускался с крыши к тонелю, его взрывают, я добиваю оставшихся за зданием наёмников, но квест не выполняется и НПС Свободы настреливают в бетонную трубу, где никого нет. Я ещё раз иду в здание и на втором этаже есть один наёмник, он ещё через укрытие выпрыгивает на меня, но вроде бы я его убивал уже...
 

; Mercs

[val_smart_terrain_1_1_killer]
;auto_id = true
faction = killer
npc = val_killer_sniper_1, val_killer_sniper_2, val_killer_sniper_3, val_killer_sniper_4, val_killer_sniper_5
target_smart = val_smart_terrain_1_2
spawn_point = val_smart_terrain_1_1_spawn_point
sympathy = 0
relationship = enemy
on_death = %+val_killer_1_1_dead% 

[val_smart_terrain_1_2_killer]
;auto_id = true
faction = killer
npc = sim_default_killer_2, sim_default_killer_2, sim_default_killer_2, sim_default_killer_2, sim_default_killer_2
target_smart = val_smart_terrain_1_2
spawn_point = val_smart_terrain_1_2_spawn
sympathy = 0
relationship = enemy
;on_death = %+val_killer_1_2_dead%

[val_smart_terrain_1_3_killer]
faction = killer
npc = val_killer_1, val_killer_2, val_killer_3, val_killer_4, val_killer_5
target_smart = val_smart_terrain_1_2
spawn_point = val_smart_terrain_1_3_spawn_point
sympathy = 0
relationship = enemy
on_death = %+val_killer_1_3_dead%

[val_smart_terrain_1_4_killer]
;auto_id = true
faction = killer
npc = val_killer_sniper_6, val_killer_sniper_7, val_killer_sniper_8, val_killer_sniper_9, val_killer_sniper_10
target_smart = val_smart_terrain_1_2
spawn_point = val_smart_terrain_1_4_spawn_point
sympathy = 0
relationship = enemy
;on_death = %+val_killer_1_4_dead%

[val_smart_terrain_1_5_killer]
;auto_id = true
faction = killer
npc = val_killer_6, val_killer_7, val_killer_8, val_killer_9, val_killer_10
target_smart = val_smart_terrain_1_2
spawn_point = val_smart_terrain_1_5_spawn_point
sympathy = 0
relationship = enemy
;on_death = %+val_killer_1_5_dead%

 

 

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

@SHIZ да, изменений в нужных файлах нет. Думаю, что это случайный сбой. Нужно переиграть с любого сейва до взятия кпк Щукина. Это квест перед штурмом завода.

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

@warwer Хорошо, попробую, благо сейвов с запасом

Увы, тот же результат. Я где то читал, что  могут быть проблемы с этим квестом, если не участвовать в захвате антенн. Ко второй, на ферме, где КПК коменданта подбираю ранее, я даже под энергетиками не успеваю добежать, Свободовцы сами там всех наймов вырезают. Возможно это зачитывается, как будто я в этом не участвовал, а из-за этого скрипт плохо отрабатывает... Сейчас ещё раз попробую, сразу же на ферму рвануть и хоть одного найма положить.Не, не канает, просто после добивания последнего найма, на долю секунды видно, что квест выполнен, получите награду и я на рабочем столе а процесс не отвечает... И всё тот же лог.

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

 


Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : E:\priquel\sources\engine\xrServerEntities\script_engine.cpp
Line          : 180
Description   : <no expression>
Arguments     : LUA error: smart_terrain.script:458: [se_smart_terrain:update_npc_jobs]: Insufficient smart_terrain jobs for smart with name 'val_smart_terrain_9_6'.

lua stack:
  [ 2|-1] (no value):  
  [ 1|-2] (string):  `[se_smart_terrain:update_npc_jobs]: Insufficient smart_terrain jobs for smart with name 'val_smart_terrain_9_6'.'

 

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

 



Спасибо за желание помочь.


 

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

@SHIZ  по логу выходит: Недостаточно умных работ на местности смарта val_smart_terrain_9_6.

Можно попробовать в названых мной выше секциях квадов удалить по одному нпс (оставить по 4 нпс). Это нужно сделать до взятия кпк Щукина, чтобы квады заспавнились в уменьшенном варианте.

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

@warwer В Секции: [val_smart_terrain_2_1_freedom] и [val_smart_terrain_2_2_freedom]

Игрался с кол-ом НПС, по одному, по два убавлял в каждом отряде, безрезультатно. В разделе ; Mercs уменьшал кол-во НПС, тоже самое. Всё это делалось со квеста кпк Щукина. Как я понимаю, проблема возникает из-за того, что уничтожение всех наёмников является тригером для спавна кого-то/чего-то на местности смарта val_smart_terrain_9_6  в неподобающем кол-ве. Вот только кто или что это? Что именно тригерит выполнение данного квеста? И где эта точка val_smart_terrain_9_6? В gamedata\configs\misc\squad_descr_dark_valley.ltx и в tm_darkvalley.ltx тоже...

*до квеста кпк Щукина (как здесь редактировать сообщения!? И есть ли возможность прикрепить файл/архив?)

@warwer faction_freedom.ltx Там вроде бы про ход войны группировок, но там есть val_smart_terrain_9_6

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

 

[expansion_2]


base_squad_number = 20
precondition_power = 0
;Уничтожение базы на Холл Завода
precondition_target_eliminate = val_smart_terrain_1_2
precondition_cond = {+val_destroy_killer_base_done} true, false

 

[expansion_3]  ;Контроль над долиной (Захват: Холл Завода,Бар "Глоток свободы",База Свободы,Остановка,Блокпост у фермы,Стоянка на ферме
base_squad_number = 20
precondition_power = 0
respawn_idle_time = 30
respawn_hours = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
precondition_target = val_smart_terrain_5_7,val_smart_terrain_5_8,val_smart_terrain_1_2,val_smart_terrain_7_5,val_smart_terrain_7_4,val_smart_terrain_8_7,val_smart_terrain_9_6,val_smart_terrain_4_0,val_smart_terrain_7_11

 

war_target_title = st_faction_war_freedom_secure_level

 

war_stage_icon                     = st_stage_icon_freedom_secure_darkvalley_no
war_stage_icon_complete         = st_stage_icon_freedom_secure_darkvalley_yes
war_stage_icon_hint             = st_stage_icon_freedom_secure_darkvalley_no
war_stage_icon_hint_complete     = st_stage_icon_freedom_secure_darkvalley_yes

 

level_up_snd = val_freedom_expansion_1_up

 

 

@warwer А в tm_darkvalley.ltx прохожу весть путь от принести патроны до уничтожения наёмников и вылет...

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

 

[val_deliver_ammo]
type = storyline
task_type = storyline
;icon = ui_mt_image_attack_tower
target_cond = true
prior = 10
name = val_deliver_ammo_name
text = val_deliver_ammo_text
on_reversed = %+val_deliver_ammo_done%
condlist_0 = {+val_deliver_ammo_complete} reversed
target_story_ids = 1105

 

[val_go_to_freedom_leader]
type = storyline
task_type = storyline
;icon = ui_mt_image_attack_tower
target_cond = true
prior = 10
name = val_go_to_freedom_leader_name
text = val_go_to_freedom_leader_text
on_complete = %+val_go_to_freedom_leader_done%
condlist_0 = {+val_go_to_freedom_leader_complete} complete
target_story_ids = 1106

 

[val_pursuit_comendant]
type = storyline
task_type = storyline
;icon = ui_mt_image_attack_tower
target_cond = true
prior = 10
name = val_pursuit_comendant_name
text = val_pursuit_comendant_text
on_complete = %+val_pursuit_comendant_done%
condlist_0 = {+val_pursuit_comendant_complete} complete
target_story_ids = 1107

 

[val_help_freedom]
type = eliminate_smart
task_type = storyline
auto_name = false
;icon = ui_mt_image_attack_tower
target_cond = {=target_smart_name(val_smart_terrain_4_0) -val_help_freedom_done} true
prior = 10
name = val_help_freedom_name
text = val_help_freedom_text
on_complete = %+val_help_freedom_done%
on_reversed = %+val_help_freedom_done%
reward_money = 3000
target_story_ids = 1108


play_regard = nil
auto_faction = true

[val_take_pda]
type = storyline
task_type = storyline
;icon = ui_mt_image_attack_tower
target_cond = true
prior = 10
name = val_take_pda_name
text = val_take_pda_text
on_complete = %+val_take_pda_done%
condlist_0 = {+val_take_pda_complete} complete
target_story_ids = 1111

 

[val_deliver_pda]
type = storyline
task_type = storyline
;icon = ui_mt_image_attack_tower
target_cond = true
prior = 10
name = val_deliver_pda_name
text = val_deliver_pda_text
on_complete = %+val_deliver_pda_done%
condlist_0 = {+val_deliver_pda_complete} complete
target_story_ids = 1112

 

[val_bring_to_fang]
type = storyline
task_type = storyline
;icon = ui_mt_image_attack_tower
target_cond = true
prior = 10
name = val_bring_to_fang_name
text = val_bring_to_fang_text
on_complete = %+val_bring_to_fang_done%
condlist_0 = {+val_bring_to_fang_complete} complete
target_story_ids = 1113

 

[val_capture_smart_7_8]
type = capture_smart
task_type = additional
;icon = ui_mt_image_attack_tower
target_cond = {+val_deliver_pda_done -val_strike_antenna_two_captured =target_smart_name(val_smart_terrain_7_8)} true
prior = 20
name = val_strike_antenna_name
text = val_strike_antenna_text
play_regard = nil
wait_time = -1
auto_faction = false

 

[val_capture_smart_4_0]
type = capture_smart
task_type = additional
target_cond = {+val_deliver_pda_done -val_strike_antenna_two_captured =target_smart_name(val_smart_terrain_4_0)} true
prior = 20
;icon = ui_mt_image_attack_tower
name = val_strike_antenna_two_name
text = val_strike_antenna_two_text
play_regard = nil
wait_time = -1
auto_faction = false

 

[val_capture_smart_1_1]
type = eliminate_smart
task_type = additional
;icon = ui_mt_image_attack_tower
target_cond = {+val_strike_antenna_two_captured -val_destroy_killer_base_done =target_smart_name(val_smart_terrain_1_2)} true
prior = 100
name = val_destroy_killer_base_name
text = val_destroy_killer_base_text
on_complete = %+val_destroy_killer_base_done +val_strike_antenna_done%
on_reversed = %+val_killer_base_is_no_more%
community_relation_delta_complete = 5000
reward_money = 1000
play_regard = nil
auto_faction = true

 

 

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

@SHIZ 

в чистом чн, val_smart_terrain_9_6 рядом с заводом, где вагончик / плиты (в тч там стояла железная хреновина, где бусы с гитарой лежали).

 

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

В ui_main_menu.script, function main_menu:OnKeyboard(dik, keyboard_action)
...
if dik == DIK_keys.DIK_0 then
	if (level.present() and db.actor ~= nil and db.actor:alive()) then
		xr_effects.clear_smart_terrain(nil,nil,{"val_smart_terrain_9_6"})
	end
end

...

Ещё вариант, добавить в faction_freedom.ltx,

[expansion_3]

precondition_actor_in_faction = true ; так в оригинале, движуха начинается только, если актор стал фрименом

...

Можно поискать в папке \configs\scripts (во всех файлах): val_smart_terrain_9_6

Обычно спавн там так выглядит: =create_squad(какой-то_squad:val_smart_terrain_9_6)

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

@h0N0r По третьему способу: в \configs\scripts смотрел в папке darkvalley в ней нет val_smart_terrain_9_6

По второму способу: если добавить в [expansion_3] precondition_actor_in_faction = true вышибает уже на убийстве трёх наймов на крыше, там ещё НПС "Свободы" должен сказать, что на крыше чисто, мы мол во двор, а ты давай через здание, но до этого диалога даже не доходит. Видимо я не должен был получить квест на помощь "Свободе"(захватить антенны, засечь тоннель и вырезать наймов) не вступая в "Свободу", но я его получил... Возможно по тому что я не состою ни в одной фракции.

Я пока не трогаю бандосов, чтобы мне Прозрачный "СЕВУ" апнул, только тут тоже засада, она была у Зуба в продаже раньше(как я только на свалку пришёл) и ВСС и АС"Вал", а теперь только патрошки 9х39 и всё. И у Митяя на базе "Долга" нет "СЕВЫ", а на Янтарь мне по сюжету рано :(

По первому способу: сделал так, как под спойлером, толку ноль. Может вставил не туда?

 

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

d4763c222f3e.png

 

Ссылка на комментарий
44 минуты назад, SHIZ сказал(а):

По первому способу: сделал так, как под спойлером, толку ноль. Может вставил не туда?

if keyboard_action == ui_events.WINDOW_KEY_PRESSED then

	-- очевидно, что вставить сюда (ведь ниже есть похожие вызовы)

	if dik == DIK_keys.DIK_ESCAPE then

А ещё можно добавить доп.пути для этого смарта, снять координаты в нужных местах, разобрать/собрать all.spawn через ацдц (после правки путей, новая игра не нужна, НО не всегда это работает).

Ссылка на комментарий
7 минут назад, SHIZ сказал(а):

@h0N0r Результат тот же. Спасибо за желание помочь.

Так, прояснить архиважный момент: ты клавишу 0 в глав.меню нажимаешь после загрузки сейва или запустил игру, нажал, а дальше загружаешь сейв? Надо первое, ибо вся эта байда работает только при активной игре.

  • Спасибо 1
Ссылка на комментарий

@h0N0r Теперь нажал... Результат: штурмующих отрядов "Свободы" как ветром сдуло... Да и вылетело как последнего из 3 наёмников на крыше/козырьке снял

И теперь вот что в логе...

 

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

Expression    : fatal error
Function      : CInifile::r_section
File          : E:\priquel\sources\engine\xrCore\Xr_ini.cpp
Line          : 443
Description   : <no expression>
Arguments     : Can't open section 'sim_default_killer_10'

 

Это вроде бы в squad_descr_dark_valley.ltx в разделе ; Mercs

 

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

[val_smart_terrain_1_4_killer]
;auto_id = true
faction = killer
npc = val_killer_sniper_6, val_killer_sniper_7, val_killer_sniper_8, val_killer_sniper_9, sim_default_killer_10
target_smart = val_smart_terrain_1_2
spawn_point = val_smart_terrain_1_4_spawn_point
sympathy = 0
relationship = enemy
;on_death = %+val_killer_1_4_dead%

 

Меня больше волнует тот факт что мне "СЕВУ" не продают :(

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

@SHIZ Can't open section 'sim_default_killer_10'  - это значит, что в файлах игры должна быть такая секция:  [sim_default_killer_10]

 

Если такой секции нет или она криво прописана, то нужно в

[val_smart_terrain_1_4_killer]

;auto_id = true faction = killer

npc = val_killer_sniper_6, val_killer_sniper_7, val_killer_sniper_8, val_killer_sniper_9, sim_default_killer_10

либо удалить sim_default_killer_10, либо заменить на другого непися.

 

  • Спасибо 1
Ссылка на комментарий

@warwer Удалил данного НПС и с использованием команды на очистку смарта от @h0N0r всё заработало, засчиталось выполнение квеста правда раньше чем я полностью зачистил завод, но тем не менее квест закрылся без вылета. Спасибо вам обоим большое, ну плюсики :)

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

В файлах главного меню есть кусочек:

 

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

24-06-2021-192359.jpg


Логично, что он отвечает за цвет текста. Но вопрос другой - как его поменять? Если я беру из ТЧ RGB-цвета, то вылетает. 

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

@KERIXFIX337X , самое правильное - унифицировать нужный цвет в \gamedata\configs\ui\color_defs.xml 

для многократного применения. 

<color name="название" r="X" g="Y" b="Z"/>

А дальше применять по собственному уразумению и необходимости.

 

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

Подскажите как в ЧН исправить баг, когда ГГ надевает костюм нейтрального сталкера Заря, то худ рук ГГ выглядит как в куртке новичка. В файле outfit парметр player_hud_section    = actor_hud_01 что у куртки новичка, что у запи одинаковый. Как мне в костюме сталкера правильно прописать чтоб в заре худ рук был как надо?

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

@foxbat21 Модель 01 - куртка, 05 - комбез сталкера. Править ссылки в [configs\misc\outfit.ltx].

По-хорошему, надо переназначать весь набор ссылок на модели в [configs\creatures\actor.ltx], потому что разногласий с world-моделями хватает: та же модель 05 назначена еще и для бандитской куртки, модель 06 с открытыми рукавами назначена для б/к "Булат" и комбеза "СЕВА", модель 04 назначена для ЧН-1 и ЧН-3а, хотя у тяжелой брони ЧН перчатки с закрытыми пальцами… В моде OGSM можно набрать моделей и текстур для полного ассортимента.

  • Нравится 1
  • Согласен 1

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

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

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

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

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

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

Войти

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

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

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