SoC. Сообщение о смерти сталкеров — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

SoC. Сообщение о смерти сталкеров — различия между версиями

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Строка 2: Строка 2:
  
 
1.Открываем его и пишем:
 
1.Открываем его и пишем:
<lua>local level = {
+
<lua>local level_name = {
 
   ["l01_escape"]    = "Кордон",
 
   ["l01_escape"]    = "Кордон",
 
   ["l02_garbage"]    = "Свалка",
 
   ["l02_garbage"]    = "Свалка",
Строка 22: Строка 22:
 
function news_of_npc_kill(victim)
 
function news_of_npc_kill(victim)
 
   if victim and IsStalker(victim) then
 
   if victim and IsStalker(victim) then
local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level[level.name()] or ""
+
local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()] or ""
 
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000)
 
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000)
 
     end
 
     end
 
end</lua>
 
end</lua>
 
Теперь поясню:
 
Теперь поясню:
<lua>local level = {
+
<lua>local level_name = {
 
   ["l01_escape"]    = "Кордон",
 
   ["l01_escape"]    = "Кордон",
 
   ["l02_garbage"]    = "Свалка",
 
   ["l02_garbage"]    = "Свалка",
Строка 47: Строка 47:
 
function news_of_npc_kill(victim) -- функция
 
function news_of_npc_kill(victim) -- функция
 
   if victim and IsStalker(victim) then
 
   if victim and IsStalker(victim) then
local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level[level.name()] or ""
+
local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()] or ""
 
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000) -- определяется имя убитого NPC (Непися) и названия локаций.
 
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000) -- определяется имя убитого NPC (Непися) и названия локаций.
 
     end
 
     end

Версия 17:33, 21 мая 2011

Итак, первым делом в директории gamedata\scripts создайте файл с названием имя_вашего_файла.script

1.Открываем его и пишем:

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"]     = "Янтарь",
  ["l10_radar"]      = "Радар",
  ["l11_pripyat"]    = "Припять",
  ["l12_stancia"]    = "ЧАЭС 1",
  ["l12_stancia_2"]  = "ЧАЭС 2",
  ["l12u_sarcofag"]  = "Саркофаг"
              }
 
function news_of_npc_kill(victim)
  if victim and IsStalker(victim) then
local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()] or ""
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000)
     end
end

Теперь поясню:

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"]     = "Янтарь",
  ["l10_radar"]      = "Радар",
  ["l11_pripyat"]    = "Припять",
  ["l12_stancia"]    = "ЧАЭС 1",
  ["l12_stancia_2"]  = "ЧАЭС 2",
  ["l12u_sarcofag"]  = "Саркофаг"
              } -- названия локаций
 
function news_of_npc_kill(victim) -- функция
  if victim and IsStalker(victim) then
local dead_news ="\\n%c[255,160,160,160]Погиб сталкер: %c[default]"..victim:character_name().."\\n%c[255,160,160,160]Локация: %c[default]"..level_name[level.name()] or ""
db.actor:give_game_news(dead_news, "ui\\ui_icons_npc", Frect():set(2,130,124,124), 1, 4000) -- определяется имя убитого NPC (Непися) и названия локаций.
     end
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

Вот собственно и все!

Автор: Weanchester

Другие места
LANGUAGE