SoC. Сообщение о смерти сталкеров — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
Строка 2: | Строка 2: | ||
Сегодня я расскажу, как создать сообщение о смерти сталкеров. | Сегодня я расскажу, как создать сообщение о смерти сталкеров. | ||
− | Итак, первым | + | Итак, первым делом в директории '''gamedata\scripts''' создайте файл с названием '''имя_вашего_файла.scritp''' |
1.Открываем его и пишем: | 1.Открываем его и пишем: | ||
Строка 62: | Строка 62: | ||
function motivator_binder:death_callback(victim, who) | function motivator_binder:death_callback(victim, who) | ||
+ | |||
и после пишем: | и после пишем: | ||
имя_вашего_файла.news_of_npc_kill(victim) в итоге: | имя_вашего_файла.news_of_npc_kill(victim) в итоге: |
Версия 12:48, 14 мая 2011
Приветствую Вас.
Сегодня я расскажу, как создать сообщение о смерти сталкеров. Итак, первым делом в директории gamedata\scripts создайте файл с названием имя_вашего_файла.scritp
1.Открываем его и пишем:
local locations_name = { ["l01_escape"] = " Локация: Кордон", ["l02_garbage"] = " Локация: Свалка", ["l03_agroprom"] = " Локация: Агропром", ["l03u_agr_undergroun"] = " Локация: Подземелье Агропрома", ["l04_darkvalley"] = " Локация: Тёмная долина", ["l04u_labx18"] = " Локация: Лаборатория X-18", ["l05_bar"] = " Локация: Бар", ["l06_rostok"] = " Локация: Росток", ["l07_military"] = " Локация: Арм.склады", ["l08_yantar"] = " Локация: Янтарь", ["l10_radar"] = " Локация: Радар", ["l11_pripyat"] = " Локация: Припять", ["l12_stancia"] = " Локация: ЧАЭС 1", ["l12_stancia_2"] = " Локация: ЧАЭС 2", ["l12u_sarcofag"] = " Локация: Саркофаг" } function news_of_npc_kill(victim) local dead_news = "Нет трупа" if victim and IsStalker(victim) then local locations = locations_name[level.name()] or "" dead_news = "Погиб сталкер: "..victim:character_name().."\\n%c[default]"..locations end db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000) end
Теперь поясню:
local locations_name = { ["l01_escape"] = " Локация: Кордон", ["l02_garbage"] = " Локация: Свалка", ["l03_agroprom"] = " Локация: Агропром", ["l03u_agr_undergroun"] = " Локация: Подземелье Агропрома", ["l04_darkvalley"] = " Локация: Тёмная долина", ["l04u_labx18"] = " Локация: Лаборатория X-18", ["l05_bar"] = " Локация: Бар", ["l06_rostok"] = " Локация: Росток", ["l07_military"] = " Локация: Арм.склады", ["l08_yantar"] = " Локация: Янтарь", ["l10_radar"] = " Локация: Радар", ["l11_pripyat"] = " Локация: Припять", ["l12_stancia"] = " Локация: ЧАЭС 1", ["l12_stancia_2"] = " Локация: ЧАЭС 2", ["l12u_sarcofag"] = " Локация: Саркофаг" } -- названия локаций. Здесь указаны не все локации function news_of_npc_kill(victim) -- сама функция local dead_news = "Нет трупа" -- переменная if victim and IsStalker(victim) then local locations = locations_name[level.name()] or "" -- названия локации. Определяется из таблицы: locations_name dead_news = "Погиб сталкер: "..victim:character_name().."\\n%c[default]"..locations -- определяется имя умершего end db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000) -- выдается сообщение end
2. Далее открываем xr_motivator.script, который находится в gamedata\scripts, ищем функцию:
function motivator_binder:death_callback(victim, who)
и после пишем: имя_вашего_файла.news_of_npc_kill(victim) в итоге:
function motivator_binder:death_callback(victim, who) имя_вашего_файла.news_of_npc_kill(victim) if who:id() == db.actor:id() then xr_statistic.addKillCount(self.object) end
Вот собственно и все!