|
|
Строка 1: |
Строка 1: |
− | Приветствую '''Вас'''.
| |
− |
| |
− | Сегодня я расскажу, как создать сообщение о смерти сталкеров.
| |
− | Итак, первым делом в директории '''gamedata\scripts''' создайте файл с названием '''имя_вашего_файла.script'''
| |
| | | |
− | 1.Открываем его и пишем:
| |
− | <lua>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</lua>
| |
− | Теперь поясню:
| |
− | <lua>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</lua>
| |
− | 2. Далее открываем '''xr_motivator.script''',
| |
− | который находится в '''gamedata\scripts''', ищем функцию:
| |
− |
| |
− | function motivator_binder:death_callback(victim, who)
| |
− |
| |
− | и после пишем:
| |
− | имя_вашего_файла.news_of_npc_kill(victim) в итоге:
| |
− |
| |
− | <lua>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</lua>
| |
− | Вот собственно и все!
| |
− | ===Автор:Weanchester===
| |
− | [[Категория:Скрипты]]
| |