Все посты %s в %S - AMK Team
Перейти к контенту

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


Halford

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

 

 

! cannot find special danger animations for object with visual

Такое же инф.сообщение, как и о том, что некий звук не настроен в сдк (missing ogg-comment) и вылетов по этому поводу не случалось. А чтобы не засоряло лог, достаточно удалить/закомментировать строку special_danger_move в state_lib.script, она там только у состояния raid (ещё есть в state_mgr, но в виде условия). Место, где можно проверить изменение - сценка после захода в комнату, где антенна монолита (в Припяти, задание "зачистить магазин Книги"), постоянный вывод данного сообщения, и именно на модель Соколова.

 

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

stalker_animation_torso.cpp (это только место, где сделан вывод сообщения),

 

MotionID CStalkerAnimationManager::aim_animation (const u32 &slot, const xr_vector &animation, const u32 &index) const

{

if (!m_special_danger_move)

return (animation[6].A[index]);

 

if (slot != 2)

return (animation[6].A[index]);

 

#if 1//def DEBUG

if (animation[6].A.size() < 7) {

Msg (

"! cannot find special danger animations for object with visual %s",

object().cNameVisual().c_str()

);

return (animation[6].A[index]);

}

#endif // DEBUG

 

switch (index) {

case 0 : return (animation[6].A[4]);

case 2 : return (animation[6].A[5]);

case 3 : return (animation[6].A[6]);

default : NODEFAULT;

}

 

#ifdef DEBUG

return (MotionID());

#endif // DEBUG

}

 

  • Спасибо 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

Чтобы было как в ТЧ, нужно оригинальную / распакованную геймдату с помощью map_compressor (в составе сдк ЗП, архивы с помощью X-Ray game asset converter не читаются) запаковать в архивы (name.db0 и т.д, тоже самое для мод-геймдаты), полученное поместить в корень игры / папку mods, а затем изменить fsgame.ltx 

 

;abbreviation		= recurs|	notif|		root|			add|			ext|		description
$app_data_root$		= true|		false|		$fs_root$|		profile\
$arch_dir$		= false|	false|		$fs_root$|
$game_arch_mp$		= false|	false|		$fs_root$|		mp\
$arch_dir_mods$		= false|	true|		$fs_root$|		mods\
$game_data$		= false|	true|		$fs_root$|		gamedata\
$game_ai$		= true|		false|		$game_data$|		ai\
$game_spawn$		= true|		false|		$game_data$|		spawns\
$game_levels$		= true|		false|		$game_data$|		levels\
$game_meshes$		= true|		true|		$game_data$|		meshes\|		*.ogf;*.omf|	Game Object files
$game_anims$		= true|		true|		$game_data$|		anims\|			*.anm;*.anms|	Animation files
$game_dm$		= true|		true|		$game_data$|		meshes\|		*.dm|		Detail Model files
$game_shaders$		= true|		true|		$game_data$|		shaders\
$game_sounds$		= true|		true|		$game_data$|		sounds\
$game_textures$		= true|		true|		$game_data$|		textures\
$game_config$		= true|		false|		$game_data$|		configs\
$game_weathers$		= true|		false|		$game_config$|		environment\weathers
$game_weather_effects$	= true|		false|		$game_config$|		environment\weather_effects
$textures$		= true|		true|		$game_data$|		textures\
$level$			= false|	false|		$game_levels$
$game_scripts$		= true|		false|		$game_data$|		scripts\|		*.script|	Game script files
$logs$			= true|		false|		$app_data_root$|	logs\
$screenshots$		= true|		false|		$app_data_root$|	screenshots\
$game_saves$		= true|		false|		$app_data_root$|	savedgames\
$downloads$		= false|	false|		$app_data_root$|	downloads\
 

 

 

Будет выглядеть так: http://funkyimg.com/i/214DX.jpg

 

Содержимое build_map.ltx,



[options]
exclude_exts = *.log,*.old ; файлы с расширением, которые не надо включать в архив

[include_folders] ; папки, которые добавляются в архив
.\ = true ; всё что в gamedata / архивируемой папке
; или configs = true, configs\misc = true

[exclude_folders] ; папки, которые не надо включать в архив
textures\andy = true
textures\car = true
textures\effects = true
textures\fonts = true
textures\hud = true
textures\icon = true
textures\jeffry = true
textures\level = true
textures\sleep = true
textures\temp = true

 

 

Приоритет чтения данных (возможно не так), по порядку (в fsgame.ltx - с 1 строки и далее).
 
1a) $arch_dir$ = false| false| $fs_root$| - для def-архивов в корневой папке игры
 
1b) $arch_dir$ = false| false| $fs_root$ - для чтения def-архивов из папки в следующей строке
1b) $arch_dir_resources$ = false| false| $fs_root$| new_arh_folder\ - для def-архивов в другой папке
 
2) $game_arch_mp$ = false| false| $fs_root$| new_mp_folder\ - карты для сетевой
3) $arch_dir_resources$ = false| false| $fs_root$| new_pth_folder\ - для каких-нибудь патчей к def-архивам / mp
 
4) $arch_dir_resources$ = false| false| $fs_root$| new_arh_folder\ - для модов, перекрывая предыдущие (сингл / сетевая с модом)
5) $game_data$ = false| true| $fs_root$| gamedata\ - рабочая / временная (до архивации) папка, перекрывает предыдущие (находится после всех папок, где будут располагаться архивы игры).

 

 

 

Из л.о. при игре с мод-архивами, трудноустранимый (ибо он - не о том) вылет:

Expression : fatal error
Function : out_of_memory_handler
File : D:\prog_repository\sources\trunk\xrCore\xrDebugNew.cpp
Line : 336
Description :
Arguments : Out of memory. Memory request: ... K

Причиной которого было несколько .omf для оружия (из мода gosuke weapon mod, анимации спринта для пкм/свд/сву), а игра стартовала, только если их переместить в папку gamedata, также с ними вылетал и X-Ray game asset converter.

 

  • Спасибо 1
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
Возрождённый, нужно делать так:

custom_data = <<END

[camp]
cfg = scripts\camp.ltx
END
 
Нужно внимательно проверять созданное (смотреть как сделано в оригинале), или часто будешь ловить вылеты.

Поделиться этим сообщением


Ссылка на сообщение

Sikorskyi

Давным-давно вернул, чтобы зомбированные орали (мачииии!) при виде врага. Выделенная строка в script_sound.ltx, может помочь в твоём случае:


  • ...
    zombied_fight_attack

    [zombied_fight_attack]
    type = npc
    npc_prefix = true
    path = fight\enemy\enemy_
is_combat_sound = true



xr_combat_zombied.script (взято из тч)
...
function action_zombie_shoot:initialize()
...
xr_sound.set_sound_play(self.object:id(), "fight_enemy")
xr_sound.set_sound_play(self.object:id(), "zombied_fight_attack")
...

 

  • Спасибо 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение
Rozben,

Дабы не плодить лишних файлов для нпс-статистов:

 
\jup_a6.ltx
 
[exclusive]
...
jup_a6_jurnalist = jupiter\jup_a6_logic.ltx
 
---
 
\jup_a6_logic.ltx (на основе ковера Коряги)
...
[logic@jup_a6_jurnalist]
active = animpoint@jup_a6_jurnalist
suitable = {=check_npc_name(jup_a6_jurnalist) =npc_in_zone(jup_a6_sr_noweap)} true
prior = 200
 
[animpoint@jup_a6_jurnalist]:animpoint@jup_a6_animp_gen_reach
cover_name = jup_a6_animp_jurnalist
on_info = {=npc_in_zone(jup_surge_hide_a6)} animpoint@jup_a6_jurnalist_reached
 
[animpoint@jup_a6_jurnalist_reached]:animpoint@jup_a6_animp_gen
cover_name = jup_a6_animp_jurnalist
 
---
 
avail_animations = animpoint_sit_normal ; это нужно для использования другой анимки (кат-сцены), например ковер сидячий (loopholes: sit), а в игре будет лежать (avail_animations = zat_b106_wounded_idle, спец анимки из state_mgr_scenario.script)
 
Сам ковер должен находиться на аи-сетке и иметь точные lv/gv-вертексы (во избежании при переходе оффлайн/онлайн, перемещения нпс в начало lv/gv для текущей карты, для Юпитера это район плавней)
 
В составе зп-сдк, есть папка help (куча инфы), там есть справка по логике (Gamedesigner_education.pdf).

Поделиться этим сообщением


Ссылка на сообщение
15 минут назад, Дизель сказал:

Как можно в логике [smartcover] приказать нпс спрятать оружие? Я всё перебрал, но вспомнить не могу, что конкретно отвечает за это.

 

Не было случая проверить, но из xr_smartcover.script,281

weapon_type = none ;strapped ;unstrapped

Поделиться этим сообщением


Ссылка на сообщение
7 минут назад, Helgi сказал:

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

 

Попробуй поменять здесь: \configs\system.ltx,

[hud_sound]
hud_sound_vol_k		= 0.38 ; себе поставил 1.0 и 0.85 (в ЧН, hud_sound_vol_k = 0.85f)
hud_step_sound_vol_k	= 0.21

 

  • Спасибо 2
  • Полезно 1

Поделиться этим сообщением


Ссылка на сообщение

@Кое-Кто 11 , труп полтера удаляется в bind_monster.script (death_callback):

	local obj_clsid = self.object:clsid()
	if obj_clsid == clsid.poltergeist_s then
		printf("releasing object ["..self.object:name().."]")
		if alife():object(self.object:id()) ~= nil then
			alife():release(alife():object(self.object:id()), true)
		end
	end

Попробуй стереть / закомментировать данный блок.

  • Нравится 1

Поделиться этим сообщением


Ссылка на сообщение
В 15.06.2018 в 22:26, RussoBandito сказал:

Всем привет. Кто-нибудь знает, как убрать анимацию камеры при перезарядке оружия?

Без правок исх.кода отключить не получится, но при наличии сдк можно сделать свою анимацию (http://funkyimg.com/view/2HAxP - задать параметры как скрине, экспорт) или скачать https://yadi.sk/d/hsrRDfhE3Y2U2o, уже готовый анм-файл. Из распакованной ориг.геймдаты копируешь в свою, папку \anims\camera_effects\weapon, ну и заменяешь пустышкой нужную аниму.

Поделиться этим сообщением


Ссылка на сообщение
5 часов назад, FrindGR сказал:

Поставил нпс на локацию, скомпилировал, всё норм.

В зп иначе с симуляцией аи (сквады, которыми управляет sim_board.script и ещё куча всего), поэтому их надо спавнить не через сдк, а через simulation.ltx (при новой игре), а после - через настройки смартов и прочие функции в логике различных объектов. И да, смарты (его позиция будет точкой home для монстров) и коверы должны находится на аи-сетке.

 

Лучше открыть исходник зп-локи, и посмотреть на примере смарта с доп.логикой ([exclusive]), в каких файлах игры встречается ид смарта и т.д.

 

Поделиться этим сообщением


Ссылка на сообщение
31 минуту назад, FrindGR сказал:

[start_position_close_combat]
cb_merc_squad_repair = cb1_smart_terrain

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

 

[cb_merc_squad_repair]:online_offline_group
faction = killer
npc = секция из spawn_sections_cb_или_где_он_у_тебя.ltx (типа: cb_merc_repair, с профилем cb_merc_repair, чтобы назначить свои диалоги, визуал и т.д)
target_smart = cb1_smart_terrain
story_id = cb_merc_squad_repair
always_arrived = true
relationship = neutral ; enemy ;friend

 

а в конфиге cb1_smart_terrain.ltx (configs\scripts\cb\smart\,

 

[smart_terrain] ; cb1_smart_terrain
max_population = 1

 

[exclusive]
cb_repair_merc = cb\cb_repair_merc_logic.ltx ; (где будет логика нпс)

Поделиться этим сообщением


Ссылка на сообщение
41 минуту назад, FrindGR сказал:

@h0N0r, всё работает, но есть одно но. У него короче нет снизу кнопки, что починить или моднуть оружие

В профиль своего нпс добавь: <mechanic_mode>1</mechanic_mode>

(пример есть в \character_desc_zaton.xml, zat_a2_stalker_mechanic)

 

и trade_enable = true сделай в его логике, хотя при "false" окно ремонта можно вызвать клавишей бега.

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

Поделиться этим сообщением


Ссылка на сообщение

@Алексей Новиков, в \configs\misc\surge_manager.ltx,

[settings]

condlist = false ; отключит выброс, но и респ артов, ибо он происходит после завершения первого

survive = true ; гг не будет умирать

Поделиться этим сообщением


Ссылка на сообщение
В 08.01.2020 в 21:30, WizziGun сказал:

Товарищи, у меня тут вопрос возник по поводу space_restr.
Вообщем, что надо :
Актёр заходит в рестриктор №1, тем временем логика (on_actor_inside) даёт сигнал для одноразового проигрывания заданного партикла в рестриктор №2
Раньше нигде такого не встречал. Может кто видел что то подобное в модах? Есть у кого идеи как такое сделать можно?

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

Только для партиклов не имеющих явное направление, типа сферы и т.п. Логика для 1-го рестриктора (допустим c именем cat_sr_particle1), второй можно удалить:


[logic]
active = sr_idle@start

[sr_idle@start]
on_info = {=actor_in_zone(cat_sr_particle1)} sr_particle@play

[sr_particle@play]
name = anomaly2\anomaly_spatial_bubble_rupture
path = way_point ; точка пути на месте 2-го рестриктора
mode = 2
looped = false
; 10 sec
on_game_timer = 100 | sr_idle@end

[sr_idle@end]

 

Если партикл имеет направление, типа пара из труб, то нужно такую логику:


[sr_particle@play]
name = industrial_particles\effects\exhaust_workshop_1_small
path = cam_name.anm ; камэффект на месте 2-го рестриктора
mode = 1
looped = false
; 10 sec
on_game_timer = 100 | sr_idle@end

 

и создать камэффект - в сдк поставить камеру и настроить дирекцию (вот так https://funkyimg.com/i/31fn3.jpg),
включить motionable, затем autokey, после нажать на +К, и вписать в поле current frame: 0.1, и наконец сделать экспорт.

 

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
В 04.03.2020 в 00:33, Владислав Сущих сказал:

Есть вопрос по поводу аномальной рощи. Судя по конфигам она должна генерировать артефакты, по умолчанию в ней даже прописан спавн пузыря, но в финальной версии игры этого почему то не происходит. Кто нибудь знает в чём проблема, почему аномальная зона не работает и как её починить?

Она будет работать, но после квеста с растением. Чтобы изначально работала (только если ещё не были на юпитере или при новой игре):

\configs\scripts\jupiter\jup_b206_quest_line.ltx

удалить %=anomaly_turn_off(jup_b206_anomal_zone)% и %=anomaly_turn_on(jup_b206_anomal_zone)%

 

16 часов назад, puma_sibirsky сказал:

Словил кряк при попытке зайти в опции игры (Зов Припяти), кто что посоветует?
Description   : XML node not found
Argument 0    : video_adv:cap_r4_tessellation
Argument 1    : ui\ui_mm_opt_16.xml

Походу используешь какой-то мод / сборку, ибо в чистом зп такого вылета нет, из которого следует, что cap_r4_tessellation не найден в файле \configs\ui\ui_mm_opt_16.xml. Проверяй / сравнивай с оригиналом.

 

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

Предположим, я добавил в ЗП новую группировку "Ренегаты". Что и где нужно прописать, чтобы они говорили бандитскими голосами ?

Будешь делать для них профили (character_desc_), там будет <snd_config>characters_voice\...</snd_config>, где пропишешь пути к озвучке бандитов.

Подробности: http://stalkerin.gameru.net/wiki/index.php?title=CoP._Персонажи_(официальное_руководство)

  • Спасибо 1

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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