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

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


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

@Pir@t@s , как-нибудь так:

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

    local input = level.main_input_receiver()
    if input then
            level.start_stop_menu(input, true)  -- Закрываем инвентарь
    end

 

Изменено пользователем mole venomous
  • Спасибо 1

Здесь могла быть ваша реклама.

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

вопрос на засыпку - в игре есть glow, который в ТЧ работает ток на статике. Какой файл из папки shaders ЧН/ЗП нужно перенести в ТЧ, чтобы glow работал в ТЧ на динамике?

  • Согласен 1

Лучше сделать мод с 0, чем пытаться залатать багованный.

DarkSnowder.gif

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

Кто-то знает где или знает как можно починить флаг anim_end в логике remark?

Ибо анимация не доигрывается до конца и обрывается.

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

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

@Pir@t@s ,

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

У меня синтаксическая ошибка в том посте, думаю, ты уже заметил и исправил.

А вообще, если планируется закрытие инвентаря после юза разных айтемов, я выношу их в таблицу, например:

 

local medical = {
    ["medkit"]          = true, 
    ["medkit_army"]     = true, 
    ["medkit_scientic"] = true, 
    ["antirad"]         = true, 
    ["soporific"]       = true,
    ["exorcist"]        = true,
}

local items = {
    ["bandage"]       = true,
    ["bread"]         = true,
    ["kolbasa"]       = true,
    ["conserva"]      = true,
    ["energy_drink"]  = true,
    ["vodka"]         = true,
    ["beer"]          = true,
    ["water"]         = true,
    ["cigarettes"]    = true,
    ["cigar"]         = true,
    ["money_pack"]    = true,
    ["radio"]         = true,
    ["treasure_item"] = true,
    ["repair_item_outfit"]    = true,
    ["repair_item_weapon"]    = true,
    ["repair_item_equipment"] = true,
}

function on_use(obj) 
    if medical[obj:section()] or items[obj:section()] then
        local input = level.main_input_receiver()
        if input then
            level.start_stop_menu(input, true)  -- Закрываем инвентарь
        end
    end
end

 

И вызываешь ф-ию on_use(obj) прямо из биндера actor_binder:use_object(obj)

 

Изменено пользователем mole venomous
  • Спасибо 1

Здесь могла быть ваша реклама.

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

Решил заменить музыку в баре.

Через аудиосити прогнал нужные мне треки, вставил. В sound_theme записал:

ph_snd_themes["radio_music"] = {"characters_voice\\scenario\\bar\\radio_music\\radio_music_2"}

А оно не работает, т.е. музыка не играет. В логе есть строчка invalid ogg comment version. 

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

@Hind скачай прогу OGGCEditor и поправь комменты в ogg файлах. Какие править и на что, можно глянуть в оригинальных файлах этой же прогой.

Я звуки оружия ей правил. Хорошо работает.

 

Desktop: i7-11700k/Gigabyte Z590 D/64 Гб DDR4-3600 (2х32Гб)/GTX 1070Ti 8Гб/30" WQXGA+24" WUXGA (portrait)/ADATA Legend 960 4Тб + 3HDD (9Тб)/Thermaltake smart BM2 - 650Вт/Win10+QtTab

\\\ Дополнения к ОГСЕ 0693 /// \\\ OGSRmod ///\\\АМК-дискорд///\\\Балкон///

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

А SAVandT крутее!

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

:m1102::biggrin:.

Тынц. Чтобы не просто циферки тыкать копипастой :biggrin:.

Формат .ogg файла в данном случае строго: 44100Hz, Mono.

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

@Hind ну так через сдк прогони.

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

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

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

@Hind  Взято из темы Звуковой Архив 

 

Кодировщик. Для кодирования, помимо мощных и профессиональных звуковых пакетов-кодеров, можно использовать вполне бесплатные и функциональные, например этот

Название: FreeAudioConverter.exe
Размер: 29.17 Мб
Ссылка для скачивания файла: https://cloud.mail.ru/public/AwAR/LVpYWs2sF
Скушал у меня родные звуки из Метро в формате .vba и не подавился. 
 
Название: SAVandT_1.1.7z
Размер: 148.88 кб
Ссылка для скачивания файла: https://cloud.mail.ru/public/MqWu/svKHUANcG
Описание : Программа, для изменения комментариев .ogg файлов без использования СДК/

 

и главное не забудь звуки должны быть MONO а не  STEREO

Ссылка на комментарий
1 час назад, ted.80 сказал:

и главное

Главное, битрейт не протерять! Долго думала обчественость над тихо подвисшей логикой...

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

Вопрос по параметрам "меткости" актёра.

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

disp_base                    = 0.8        ;угол (в градусах) разлета пуль, когда актер стоит на месте
disp_aim                    = 0.04
disp_vel_factor                = 2.0        ;на сколько увеличится дисперсия при скрости в 10 м/с (не обязательно при беге)
disp_accel_factor            = 2.0      ;еще на сколько увеличится, если актер бежит (+ скорость)
disp_crouch_factor            = -0.2     ;уменьшение если актер сидит
disp_crouch_no_acc_factor    = -0.4     ;уменьшение если актер сидит + no acceleration
;disp_jump_factor            = 2.0

По disp_base и disp_aim вроде ясно. По факторам vel, accel и jump логично предположить, что это множители. Но почему факторы

crouch и crouch_no_acc со знаками "-"? Что это, по -20% и -40% соответственно? И ещё, т.к. это угол, то площадь кучности будет изменяться квадратно пропорционально. Выходит, если 

disp_aim                    = 0.04,

то в глубоком приседе это уже

0,04 - 40% = 0,024, значит площадь разлёта меньше в 2,777... раз?

ps - С математикой и геометрией всё в порядке, мне бы понять, как это делает движок.

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

Здесь могла быть ваша реклама.

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

Сделал предмет (Документ)
 

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

 

[docs_t4]:identity_immunities
GroupControlSection    = spawn_group
discovery_dependency=
$spawn                 = "devices\pda"
$prefetch             = 16
class                = II_ATTCH
cform                = skeleton
visual                = equipments\item_pda.ogf
description            = enc_equipment_devic_device-docs_t4

inv_name            = docs_t4
inv_name_short        = docs_t4
inv_weight            = 0.3    ;0.2

inv_grid_width        = 2
inv_grid_height        = 1
inv_grid_x            = 6
inv_grid_y            = 19
cost                = 0
attach_angle_offset        = 3.080506,-1.493053,-1.202040   ;устанавливается в радианах Angle*PI/180
attach_position_offset    = 0.080000,0.021273,0.100000
attach_bone_name        = bip01_r_hand
auto_attach                = false

 


Сделал скрипт на отбирание вещи у актора

function bar_remove_docs4(first_speaker, second_speaker)
        dialogs.relocate_item_section(first_speaker, "docs_t4", "out")
end

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

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

Указать другого спикера в relocate…()

Желательно перед действием проверять через _speaker:id(), кто из двух говорящих – ГГ. Порядок first/second зависит от автора последней фразы.

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

Шпаргалка

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

invalid ogg comment

Чтобы не было этого, надо после Аудиосити звуки прогонять через Саванд.

Но то что музыка не играет, причина в чем-то другом.

То есть игра проиграет музыку даже с непонятным ей комментом ("инвалид"), но в логе это запишет.

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

@mole venomous , погромисты мы, конечно, ещё те.. но похоже здесь:
Actor_Weapon.cpp:

Скрытый текст
//возвращает текуший разброс стрельбы (в радианах)с учетом движения
float CActor::GetWeaponAccuracy() const
{
	CWeapon* W	= smart_cast<CWeapon*>(inventory().ActiveItem());
	if(m_bZoomAimingMode&&W&&!GetWeaponParam(W, IsRotatingToZoom(), false))
		return m_fDispAim;
	float dispersion = m_fDispBase*GetWeaponParam(W, Get_PDM_Base(), 1.0f);
	CEntity::SEntityState state;
	if (g_State(state))
	{
		// angular factor
		dispersion *= (1.f + (state.fAVelocity/VEL_A_MAX)*m_fDispVelFactor*GetWeaponParam(W, Get_PDM_Vel_F(), 1.0f));
//		Msg("--- base=[%f] angular disp=[%f]",m_fDispBase, dispersion);
		// linear movement factor
		bool bAccelerated = isActorAccelerated(mstate_real, IsZoomAimingMode());
		if( bAccelerated )
			dispersion *= (1.f + (state.fVelocity/VEL_MAX)*m_fDispVelFactor*GetWeaponParam(W, Get_PDM_Vel_F(), 1.0f)*(1.f + m_fDispAccelFactor*GetWeaponParam(W, Get_PDM_Accel_F(), 1.0f)));
		else
			dispersion *= (1.f + (state.fVelocity/VEL_MAX)*m_fDispVelFactor*GetWeaponParam(W, Get_PDM_Vel_F(), 1.0f));
		if (state.bCrouch){	
			dispersion *= (1.f + m_fDispCrouchFactor*GetWeaponParam(W, Get_PDM_Crouch(), 1.0f));
			if(!bAccelerated )
				dispersion *= (1.f + m_fDispCrouchNoAccelFactor*GetWeaponParam(W, Get_PDM_Crouch_NA(), 1.0f));
		}
	}
	return dispersion;
}

 

Т.е., dispk = disp* PDM0 * (1 + k * PDMk). PDM - соответственно коэффициенты из конфига конкретного оружия. Ну, и в случае ускорения/движения - добавочные коэффициенты для проверки скорости перемещения.

Изменено пользователем Купер
  • Спасибо 1
  • Полезно 1
Ссылка на комментарий

@Pir@t@s , докинь из gamedata.dbc (5-й патч) и gamedata.dbd (6-ой патч). Последовательно, с заменой файлов.

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

ТЧ, лоад-меню.

 

Цвет и расположение буковок строки сэйва можно редачить в ui_load_dialog.script

 

ОГСР.

При редактировании тех же значений результат отсутствует.

 

Вопрос - где редактировать?

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

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

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

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

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

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

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

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

Войти

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

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

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