torrent4you.ru | fims4you.club | Главная | Регистрация | Вход | Приветствую Вас | Гость| RSS
  • Страница 1 из 1
  • 1
Модератор форума: Санёк  
Сообщение о смерти НПС
LSDДата: Воскресенье, 03.07.2011, 21:58 | Сообщение # 1
Легенда Зоны
Группа: Администраторы
Сообщений: 619
Статус: Online
Тут я вас научу как сделать чтоб при смерти любого НПС выводилось сообщение о его смерти
И так, сначала в папке gamedata\scripts создайте файл с названием имя_вашего_файла.script(имя желательно на английском).
1.Открываем этот файл и пишем там:
Code
local level_name = {
              ["l01_escape"] = "Кордон",
              ["l02_garbage"] = "Свалка",
              ["l03_agroprom"] = "НИИ Агропром",
              ["l03u_agr_underground"] = "Подземелье НИИ Агропром",
              ["l04_darkvalley"] = "Тёмная долина",
              ["l04u_labx18"] = "Лаборатория X-18",
              ["l05_bar"] = "Бар",
              ["l06_rostok"] = "Дикая территория",
              ["l07_military"] = "Арм.склады",
              ["l08_yantar"] = "Янтарь",
              ["l08u_brainlab"] = "Лаборатория X-16",
              ["l10u_bunker"] = "Лаборатория X-10",
              ["l10_radar"] = "Радар",
              ["l11_pripyat"] = "Припять",
              ["l12_stancia"] = "ЧАЭС",
              ["l12_stancia_2"] = "ЧАЭС",
              ["l12u_sarcofag"] = "Саркофаг",
              ["l12u_control_monolith"] = "Управление Монолитом"
                        }
                         
local community = {
             ["stalker"] = "Сталкер",
             ["monolith"] = "Монолит",
             ["military"] = "Военные",
             ["bandit"] = "Бандит",
             ["killer"] = "Наемник",
             ["ecolog"] = "Эколог",
             ["dolg"] = "Долг",
             ["freedom"] = "Свобода",
             ["zombied"] = "Зомбированный",
             ["trader"] = "Торговец"
                     }
                         
function kill_npc(victim, who)
              if victim and IsStalker(victim) then
local dead_news = "\\n%c[255,160,160,160]Группировка: %c[default]"..community[victim:character_community()].."\\n%c[255,160,160,160]Имя: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()]..""
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000)
               end
end


Объясняю
Code
local level_name = {
              ["l01_escape"] = "Кордон",
              ["l02_garbage"] = "Свалка",
              ["l03_agroprom"] = "НИИ Агропром",
              ["l03u_agr_undergroun"] = "Подземелье НИИ Агропром",
              ["l04_darkvalley"] = "Тёмная долина",
              ["l04u_labx18"] = "Лаборатория X-18",
              ["l05_bar"] = "Бар",
              ["l06_rostok"] = "Дикая территория",
              ["l07_military"] = "Арм.склады",
              ["l08_yantar"] = "Янтарь",
              ["l08u_brainlab"] = "Лаборатория X-16",
              ["l10u_bunker"] = "Лаборатория X-10",
              ["l10_radar"] = "Радар",
              ["l11_pripyat"] = "Припять",
              ["l12_stancia"] = "ЧАЭС",
              ["l12_stancia_2"] = "ЧАЭС",
              ["l12u_sarcofag"] = "Саркофаг",
              ["l12u_control_monolith"] = "Управление Монолитом"
                        } --  Это названия локаций

local community = {
             ["stalker"] = "Сталкер",
             ["monolith"] = "Монолит",
             ["military"] = "Военные",
             ["bandit"] = "Бандит",
             ["killer"] = "Наемник",
             ["ecolog"] = "Эколог",
             ["dolg"] = "Долг",
             ["freedom"] = "Свобода",
             ["zombied"] = "Зомбированный",
             ["trader"] = "Торговец"
                     } --          а это названия группировок

function kill_npc(victim, who)
              if victim and IsStalker(victim) then
local dead_news = "\\n%c[255,160,160,160]Группировка: %c[default]"..community[victim:character_community()].."\\n%c[255,160,160,160]Имя: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()]..""
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000) --     этот код определяет имя,группировку и на какой локации был убит.
               end
end

2.Дальше открываем файл xr_motivator.script он находится в gamedata\scripts и ищем в нем строку
function motivator_binder:death_callback(victim, who)
и сразу после нее пишем: имя_вашего_файла.kill_npc(victim, who)
должно выглядеть так
Code
function motivator_binder:death_callback(victim, who)
имя_вашего_файла.kill_npc(victim, who)-- вот ваша строка
             if who:id() == db.actor:id() then
              xr_statistic.addKillCount(self.object)
             end

Проверено скрипт работает.Только на арене при убийстве противника вылетает.Кто сможет устранить эту проблему пишите в этой теме или мне в ЛС.


 
LSDДата: Воскресенье, 03.07.2011, 22:01 | Сообщение # 2
Легенда Зоны
Группа: Администраторы
Сообщений: 619
Статус: Online
Будут вопросы пишите.Кто не сможет установить напишите в ЛС я вам помогу или дам уже готовый скрипт.

 
ToshkaДата: Вторник, 29.11.2011, 18:21 | Сообщение # 3
Новичок
Группа: Одиночки
Сообщений: 13
Статус: Online
И там показывается Кем он был убит ?
 
LSDДата: Вторник, 29.11.2011, 18:41 | Сообщение # 4
Легенда Зоны
Группа: Администраторы
Сообщений: 619
Статус: Online
Там показывает кто убит, кем убит и где убит

 
  • Страница 1 из 1
  • 1
Поиск:


Авторское право на игру и использованные в ней материалы принадлежат GSC Game World.
Любое использование материалов сайта возможно только с разрешения администрации.
sitemap v1sitemap v2
Powered by:
Despair® 2024

Хостинг от uCoz