Как сделать динамические новости в сталкер тень чернобыля
Информация о пользователе
Внимание!
Авторы скрипта: OGS Evolution - team
Оформил: Mascky
P.S: Это выковырено из мода O.G.S.E, так что тут встречаются ненужные вещи.
Нужна помощь в офоромлении одной темы В ЛС ВК.
Добро, сегодня я покажу как сделать прототип Динамических новостей.
Начнем.
Первое, создаем в папке Scripts файл news_main.script
Вписываем туда это.
= "") then
local fname = fnames[math.random(table.getn(fnames))]
local sname = snames[math.random(table.getn(snames))]
local from = fname.." "..sname
local what_trade = what_trade[math.random(table.getn(what_trade))]
local where_trade = where_trade[math.random(table.getn(where_trade))]
local news_text = "%c[255,160,160,160]".. from ..":\\n%c[default]".. trade_maseges .. what_trade .. where_trade
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(0,0,83,47), 0, 13000)
end
end
-- Просто
function show_news_another()
if math.random() < post_message_prob then
m_post_message = noname_teamletes[math.random(table.getn(noname_teamletes))]
end
local news_text = m_post_message
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(498,47,83,47), 0, 13000)
end
end
-- Долг
function show_news_dolg()
if math.random() < post_message_dolg then
m_post_dolg = dolg_news[math.random(table.getn(dolg_news))]
end
if (m_post_dolg
= "") then
local news_text = m_post_dolg
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(498,141,83,47), 0, 13000)
end
end
-- Свобода
function show_news_freedom()
if math.random() < post_message_freedom then
m_post_freedom = freedom_news[math.random(table.getn(freedom_news))]
end
if (m_post_freedom
= "") then
local news_text = m_post_freedom
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(498,94,83,47), 0, 13000)
end
end
-- Полностью рандомные
function show_news_random()
if math.random() < post_message_random then
news_random = news_when[math.random(table.getn(news_when))]
end
if (news_random
= "") then
local fname = fnames[math.random(table.getn(fnames))]
local sname = snames[math.random(table.getn(snames))]
local from = fname.." "..sname
local where = where_trade[math.random(table.getn(where_trade))]
local text = news_text[math.random(table.getn(news_text))]
local news_text = "%c[255,160,160,160]".. from ..":\\n%c[default]".. news_random .. where .. text
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(498,47,83,47), 0, 13000)
end
end
local blu_when = "через минуты две",
"скоро",
"через пару минут"
>
local blu_message = "Ищите укрытие понадёжней, Выброс - ",
"Сахаров говорит, у него аппаратура даёт приблизительную оценку, что Выброс - ",
"Когда был у Сахарова, он упомянул о Выбросе. Будет ",
"Выброс будет ",
"Внимание! Яйцеголовые сообщают - выброс "
>
function vubros_msg()
if math.random() < post_message_prob then
bluw_msg = blu_message[math.random(table.getn(blu_message))]
end
= "") then
local fname = fnames[math.random(table.getn(fnames))]
local sname = snames[math.random(table.getn(snames))]
local from = fname.." "..sname
local bluw_msg_when = blu_when[math.random(table.getn(blu_when))]
local news_text = "%c[255,160,160,160]"..":\\n%c[default]"..bluw_msg .. bluw_msg_when
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(498,282,83,47), 0, 13000)
end
end
function isIsolatedLevel(level_name)
local ln = level_name
if (ln == "l03u_agr_underground" or ln == "l02_garbage" or ln == "l04u_labx18" or ln == "l08u_brainlab" or ln == "l10u_bunker") then
end
end
function filter()
local level_name = level.name()
if level_name == "l01_escape" then
news_main_data.on_connect()
end
if level_name == "l03_agroprom" then
news_main_data.on_connect()
end
if level_name == "l03u_agr_underground" then
news_main_data.on_disconnect()
end
if level_name == "l04u_labx18" then
news_main_data.on_disconnect()
end
if level_name == "l08u_brainlab" then
news_main_data.on_disconnect()
end
if leve_name == "l10u_bunker" then
news_main_data.on_disconnect()
end
end
Создаем файл news_main_data.script
Вписываем туда это:
--[[---------------------------------------------------------------------------------------
file: news_main_data.script
author: OGS Evolution - team
ver.1.0
description: Вспомогательные функции для новостей---------------------------------------------------------------------------------------]]--
local post_message_prob = 1 -- 1 - работает , 0 - вылет!
local prob1 = news_main.show_news_trade
local prob2 = news_main.show_news_another
local prob3 = news_main.show_news_dolg
local prob4 = news_main.show_news_freedom
local prob5 = news_main.show_news_randomlocal time = time_global()
--Главная функцияfunction show_news_main()
if (isIsolatedLevel(level.name()) == true) then return endlocal uptime = time_global()
if uptime <= time then return else
time = time + math.random(60000, 180000) end -- срабатывает рандомноft = <
prob1,
prob2,
prob3,
prob4,
prob5
>
ft[math.random(table.getn(ft))]()
end--"Статус соединения:"
local connect_templates = "%c[255,0,255,0]PDA\\n%c[default]Связь восстановлена.",
"%c[255,0,255,0]PDA\\n%c[default]Приём сигнала возобновлён.",
"%c[255,0,255,0]PDA\\n%c[default]Подключение к сети. ",
"%c[255,0,255,0]PDA\\n%c[default]Уровень сигнала восстановлен.",
"%c[255,0,255,0]PDA\\n%c[default]Подключение к серверу. "
>local disconnect_templates = "%c[255,0,255,0]PDA\\n%c[default]Нет подключения к серверу.",
"%c[255,0,255,0]PDA\\n%c[default]Связь прервана.",
"%c[255,0,255,0]PDA\\n%c[default]Низкий уровень сигнала.",
"%c[255,0,255,0]PDA\\n%c[default]Прием невозможен, связь потеряна.",
"%c[255,0,255,0]PDA\\n%c[default]Сигнал отсутствует."
>--Вспомагательный функции
function on_connect()if math.random() < post_message_prob then
connect_templates = connect_templates[math.random(table.getn(connect_templates))]
endif (connect_templates
local news_text = connect_templates
db.actor:give_game_news(news_text, "ui\\ui_iconsTotal", Frect():set(498,235,83,47), 0, 13000)
end
end
function on_disconnect()
if math.random() < post_message_prob then
disconnect_templates = disconnect_templates[math.random(table.getn(disconnect_templates))]
end
if (disconnect_templates
Остался файл bind_stalker.script
Заходим и пишем.
После строки self.bCheckStart = false и после end который на строке ниже.
Вот и все)
Дополнительно
Иконки: Тык Переместить в: gamedata/textures/ui
Готовая версия: Тык Переместить в корень игры.
Заметил ошибку? Битая сылка?
VK: Тык
Прототип динамических новостей
Создание прототипа динамических новостей
В общем для этого нужно создать скрипт с названием типа ваше_название.script и нужно иметь чистый файл bind_stalker.script. Сделаем свой скрипт и запишем сюда нечто типо этого -
-- Прототип динамичеких новостей
local ant_spam = <
"Слышал что на АТП с Темной Долины зомбаки ходят. Осторожнее там.",
"Тимыч: Кто флудить будет тому оторву кой-чего.",
"Кто нибудь знает куда Стрелок делся?",
"Военные вообще оборзели! Две тысячи рублей за проход на север кордона - это не хило!",
"Завелся Чак Норрис в наших местах. Бандос это с прозвищем таким. Дебил полный.",
"Комбат как-то говорил что Тополь пропал. Неизвестно куда. Разминулись в подземке Агропрома",
"Долг: Блин переходите на свою волну. А то запалите Свободе планы",
"Свобода: Секач опять на Кота наехал. Кого-то скоро по закону Зоны на бой вызывать будут.",
"Похоже мне еще в лагере сидеть. Блин долг когда я этот Сидоровичу то отдам?!"
>
time_news = 0 -- переменная промежутка времени
function update_spam()
news_manager.send_tip(db.actor, (ant_spam[math.random(9)]), nil, nil, 30000)
end
Теперь зайдем в файл bind_stalker.script и после строки
Файл удалён или ссылка на скачивание испорчена? Сообщи нам об этом на форуме. [Сообщить о битой ссылке]
;Тип новостей, откуда брать текст. Тут уже как вам проще будет, на ваше усмотрение.
;Время срабатывания таймера. Промежуток времени между новостями. В секундах.
1 = "Слышал что на АТП с Темной Долины зомбаки ходят. Осторожнее там."
2 = "Тимыч: Кто флудить будет тому оторву кой-чего."
4 = "Военные вообще оборзели! Две тысячи рублей за проход на север кордона - это не хило!"
5 = "Завелся Чак Норрис в наших местах. Бандос это с прозвищем таким. Дебил полный."
6 = "Комбат как-то говорил что Тополь пропал. Неизвестно куда. Разминулись в подземке Агропрома."
7 = "Долг: Блин переходите на свою волну. А то запалите Свободе планы."
8 = "Свобода: Секач опять на Кота наехал. Кого-то скоро по закону Зоны на бой вызывать будут."
9 = "Похоже мне еще в лагере сидеть. Блин долг когда я этот Сидоровичу то отдам?!"
Подробности в виде комментариев по настройке смотреть в конфигурационных файлах.
Внимание: ожидайте | до открытия ссылки |
ЭПЗМ Возрождение: MMoLuC v.0.7
Антикварное оружие
Сталкеры в КПК как в Чистом Небе
Боевая подготовка 2 + графика - RePack
Маленький мод реальности
Dinamic News COP 1.02
Динамическая музыка - Рок
STCoP Weapon Pack 2.9 - Full version
Dead Air Rebalance - D.A.R
Hardcore pack for SGM 2.2
Новый Арсенал 6: Революция + Спавнер
Новый Арсенал 5.1 + Спавнер
Темное Братство Проклятые Зоной (бета)
STCoP Weapon Pack 2.8
Читайте также: