|
|
Строка 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===
| + | |
− | [[Категория:Скрипты]]
| + | |