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

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


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

 Мне нужен урок (или правка) как сделать звук для прихода сообщения.

...

 

пример "универсального посылателя" новостей для SoC :)

 

 

 

--[[
-- Выдаем на экран новость с указанным текстом, заголовком, иконкой и звуковым сопровождением.
-- @param	string		sText		текcт новости.
-- @param	string		sTitle		заголовок новости.
-- @param	string		sSnd		название звукового сигнала который проиграется при выдаче новости.
-- @param	string		sSdr		название иконки отправителя новости - список некоторых иконок собран в массив aIcons.
--]]

function SendMeGameNews(sText, sTitle, sSnd, sSdr)
	if not sText then -- если нет текста
		return; -- ничего не делаем, работа скрипта закончена
	end
	if not sTitle then -- если не указан заголовок
		sTitle = "Сообщение"; -- присвоим заголовок по умолчанию
	end
	if not sSdr then -- если не указана иконка
		sSdr = "default";	-- вставим стандартную иконку	
	end	
	
	-- Составим заголовок и текст новости. Здесь параметр [255,160,160,160] задает цвет заголовка (ARGB), а [default] - цвет текста новости по умолчанию (т.е. белый)
	local sMsg = "%c[255,160,160,160]"..tostring(sTitle).."\\n".."%c[default]"..tostring(sText);
	
	-- Пример массивчика с набором координат иконок для новостей (из файла \textures\ui\ui_iconstotal.dds)
	local aIcons = {
	default  	= {0, 658},
	money   	= {0, 0},
	sidor   	= {332, 893},
	ecolog   	= {498, 0},
	barman   	= {332, 235},
	saharov  	= {332, 470}
	};
	
	-- Пример назначения строкового параметра для звукового сигнала, который нужно проиграть.
	local oPdaSnd
	if sSnd == "news" then 
		oPdaSnd = xr_sound.get_safe_sound_object([[device\pda\pda_news]]); -- звук новости
	elseif sSnd == "task" then 
		oPdaSnd = xr_sound.get_safe_sound_object([[device\pda\pda_tip]]); -- звук заметки
	else 
		oPdaSnd = xr_sound.get_safe_sound_object([[device\pda\pda_objective]]); -- если не указан - звук по умолчанию
	end 
	-- Проиграем выбранный звуковой сигнал...
	oPdaSnd:play(db.actor, 0, sound_object.s2d);
  
	-- ... и отправим на экран составленную новость.
	db.actor:give_game_news(sMsg, "ui\\ui_iconstotal", Frect():set(aIcons[sSdr][1],aIcons[sSdr][2],83,47), 0, 15000); -- здесь 15000 - длительность отображения в миллисекундах (т.е. 15 сек)
end

--[[
-- Примеры вызова:

SendMeGameNews("Текст", "Проверка", "news", "money") -- выведет новость "Текст" с заголовоком "Проверка", звуком "news" и иконкой money из массивчика

SendMeGameNews("Задан только текст")  -- выведет новость "Задан только текст" с заголовоком "Сообщение", звуком по умолчанию и иконкой default из массивчика
--]]

 

 

 

разбирайся... :)

Изменено пользователем Mad_Vad
Добавлено  HellRatz,

Перенесено.

ASUS SABERTOOTH 990FX R2.0 / AMD FX-6300, 2x4Gb DDR3 (Kingston) / ASUS GeForce GTX 650 (1Gb) / 1920х1080

Ссылка на комментарий
Товарищи, кто знает, как поменять вес БТР-а, что-бы он не сдвигался с места с такой лёгкостью?

За вразумительный ответ - заранее спасибо!

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

gruff,

один вариант задать вес объекту в файле спавна:

; cse_visual properties
visual_name = physics\test\buldozer
; cse_ph_skeleton properties
skeleton_name = idle
skeleton_flags = 1
; cse_alife_object_physic properties
mass = 10000

Второй вариант задать вес скелета в SDK.

  • Полезно 2

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

 

 

Я так понимаю?

Да. Ты же не написал, как добавляешь объект: статичный или динамичный объект. Первый вариант удобен для статичного объекта. Второй варианта удобен для любого варианта добавления в игру.

177b5aab82e4t.jpg
  • Полезно 2

ed_rez.gif

c1f11b67ff360413e81b4e4dcf21eb41.jpg

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

Я понял, спасибо!

Добавлял динамический обьект.

Добавлено BFG,

Не забудь, что существуют бюреры, для которых подкинуть в воздух пару многотонных вертушек или БТРов своим ударом не составляет труда.

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

 

 

Народ, какая именно строчка отвечает за спавн рандомных неписей на той или иной локации?

Какие рандомные НПС? ТЫ про мод? Если мод, то укажи какой, если чистая игра, то там все вшито в all.spawn, никаких рандомных НПС.

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

да он о респавне, скорее всего... т. е. se_respawn.script...  так он общий для всех локаций...

Добавлено BFG,

Предупреждение !

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

 

ASUS SABERTOOTH 990FX R2.0 / AMD FX-6300, 2x4Gb DDR3 (Kingston) / ASUS GeForce GTX 650 (1Gb) / 1920х1080

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

Можно ли обойтись без СДК, чтобы подключить локации из Лост Альфы к ТЧ 1.0006? Дело в том, что я скомпилировал геймграфы (вроде все нормально), добавил локацию (пустую) в алл.спавн, все собрал, обновил файлы локаций (level.gct, level.ai). Лока загружается - перейти на нее можно, но... на ней ничего не спавнится. При добавлении в алл.спавн переходов они не появляются в назначенном месте. То же самое, например, с монстрами. НПС не пробовал спавнить, но, думаю, результат будет тот же. Возможно, проблема в вертексах? Я в этом пока не шибко разбираюсь.

New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор

Русификатор для игры Vendetta: Curse of Raven's Cry

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

 

 

При добавлении в алл.спавн переходов они не появляются в назначенном месте.

Уже сто раз говорено на эту тему - пользуйтесь СДК ! И будет Вам счастье...

 

 

 

Возможно, проблема в вертексах?

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

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

Неполучается добавить новую локацию в ТЧ.При заходе на локацию вылетает.Локация болота из Чн

Лог

 

Expression : cross_table().header().game_guid() == game_graph().header().guid()

Function : CAI_Space::load

File : E:\stalker\patch_1_0004\xr_3da\xrGame\ai_space.cpp

Line : 121

Description : graph doesn't correspond to the cross table

 

 

В чем причина.

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

 

 

В чем причина

Ты обновил файлы level.gct у всех локаций?

New Anomalies 1.1 ☢☢☢ "Смерть-лампа" ☢☢☢ Дисраптор

Русификатор для игры Vendetta: Curse of Raven's Cry

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

Проблема у меня. Установил Тени Чернобыля, вставил в неё локацию АТП. Лока загружается, но как подхожу к самой АТП вылетает с ошибкой 

! cant convert dik_name for dik[144], prop=[

Что это вообще такое? В чём проблема?

Ссылка на комментарий
Всем привет. Просмотреть 746 страниц не реально, поэтому задам свой вопрос.

Как сделать течение времени реальным например, я знаю. Надо в alife.ltx в значении time_factor поставить 1. Но далеко не каждый мод работает корректно с таким значением. Например если повесить на пояс радиоактивный арт, то выводящие радиацию арты не помогут в этом случае, и радиация будет постоянно накапливаться. Или же, например, выносливость ГГ будет намного быстрее растрачиваться чем положено.

Просматривая содержимое некоторых файлов мода OGSE 0.6.9.3, в файле ogse_config_orig.ltx нашёл такую строчку

"; тайм-фактор для скриптов. должен соответствовать параметру "time_factor" в секции "alife"

s_time_factor =6"

В общем я хотел бы узнать, как создать соответствие течения времени в игре, с течением времени в скриптах. В частности как это сделать в ОП-2.09.2?

Кто нибудь решал подобную проблему?

 

 

 

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

Наверное, логично попробовать s_time_factor = 1. И time_factor = 1 в секции "alife"

 

Я хотел бы узнать в ОП-2.09.2 существует параметр s_time_factor? Если да, то в каком файле его можно найти?

 

 

 

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

@Firewind, если тебя интересует именно радиация от артов, то в солянке её добавление считается по реальнвм миллисекундам. Нужно либо переписывать рассчет в зависимость от тайм-фактора, либо править коэффициенты под себя: arc_radiation.script

Аддон для ОП-2.09.2: Яндекс/Google/GitHub

naxac.gif

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

Нужно либо переписывать рассчет в зависимость от тайм-фактора, либо править коэффициенты под себя: arc_radiation.script

 

А это сильно сложно переписать рассчёт? Если нет, то где это делается?

 

 

 

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

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

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

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

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

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

Войти

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

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

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