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

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

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

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

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

 

Desktop: i7-11700k/Gigabyte Z590 D/64 Гб DDR4-3600 (2х32Гб)/RTX 3060 12Гб/HP Z24n G3 - WUXGA/Kingston HyperX Predator (m2) 240Гб + 3HDD (9Тб)/Thermaltake smart BM2 - 650Вт/Win10+QtTab

Notebook: Dell Precision 7710/i7-6820HQ/32Гб DDR4 (2х16Гб)/FHD 17,3"/Quadro M4000M 4Гб/ Samsung 960pro 2Тб + Crucial P3 4Тб + HDD 2Тб/Win7+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.
кто может помочь - пишите в ЛС.

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

@Купер а длину полоски которая появляется по клику на сэйв не знаешь где править?

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

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

Должно, по идее, быть тут:

ui_mm_load_dlg.xml -> тут. Width - общая ширина списка (наименование итема+полоса прокрутки)

 

 

 

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

ui_mm_load_dlg.xml -> тут. Width - общая ширина списка (наименование итема+полоса прокрутки)

Это полоса прокрутки, но не сэйва к сожалению.

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

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

А вот такая порнография:

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

1.jpg

Логически статики должны быть дочерними, однако, нет.
Т.е., xml - общая ширина списка. script - положение наименования и даты.

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

Простите, откуда такие коллективные статики? Каждый элемент списка (кнопка CUIListItem) состоит из набора дочерних текстовых статиков с разными отступами от левой границы и высотой, равной высоте элемента:

[имя файла][дата и время].

 

https://drive.google.com/file/d/1DneXzf_6L9wthPhXsk7C5hEYoJGhcXXI

Вот аналогичный список: в каждой строке [номер][название][цена][количество].

Spoiler
[ui_ogse_random_reward_choose_item.script]
class "select_actor_items" (CUIListItemEx)		-- строка списка

function select_actor_items:__init() super()
	
	self.itmnum			= CUIStatic()
	self:AttachChild		(self.itmnum)
	self.itmnum:SetWndRect		(0,0,20,22)
	self.itmnum:SetText		("itemnum")
	
	self.itmn			= CUIStatic()
	self:AttachChild		(self.itmn)
	self.itmn:SetWndRect		(25,0,205,22)
	self.itmn:SetText		("itemname")
	
	self.itmcost			= CUIStatic()
	self:AttachChild		(self.itmcost)
	self.itmcost:SetWndRect		(210,0,40,22)
	self.itmcost:SetText		("itemcost")
	
	self.itmcount			= CUIStatic()
	self:AttachChild		(self.itmcount)
	self.itmcount:SetWndRect	(270,0,40,22)
	self.itmcount:SetText		("itemcount")

 

 

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

Шпаргалка

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

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

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

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

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

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

Войти

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

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

AMK-Team.ru

×
×
  • Создать...