Mad_Vad 102 Опубликовано 24 Февраля 2016 (изменено) Мне нужен урок (или правка) как сделать звук для прихода сообщения. ... пример "универсального посылателя" новостей для 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 из массивчика --]] разбирайся... Изменено 24 Февраля 2016 пользователем Mad_Vad Скрытый текст Asus ROG Strix B550-F Gaming / Ryzen-5 5600X / 2x16 DDR4 / M2 Samsung 980 PRO / MSI RTX-3070 (8Gg) / LG UHD Asus Sabertooth 990FX v2 / AMD FX-6300 / 2x8Gb DDR3 / SSD Plextor / MSI GTX-1650 (4Gb) / LG 4K Поделиться этим сообщением Ссылка на сообщение
Mad_Vad 102 Опубликовано 25 Февраля 2016 да он о респавне, скорее всего... т. е. se_respawn.script... так он общий для всех локаций... Скрытый текст Asus ROG Strix B550-F Gaming / Ryzen-5 5600X / 2x16 DDR4 / M2 Samsung 980 PRO / MSI RTX-3070 (8Gg) / LG UHD Asus Sabertooth 990FX v2 / AMD FX-6300 / 2x8Gb DDR3 / SSD Plextor / MSI GTX-1650 (4Gb) / LG 4K Поделиться этим сообщением Ссылка на сообщение