Четверг, 02.05.2024, 16:57 Приветствую Вас Гость

Меню сайта

Категории раздела

Мои статьи [0]
Моделирование [4]
Скриптинг [7]
Конфиги [0]
Звуки и видео [1]
Текстуринг [2]

Мини-чат

PDA

Гость



СТАЛКЕР!
Я всегда рад видеть
еще одну живую душу!
Но я нез наю кто ты?
Регистрация
Вход!

---

Список Сталкеров

Мой опрос

Оцените мой сайт
Всего ответов: 95

Посещения

ПРОСМОТР

Яндекс.Метрика

Главная » Статьи » Скриптинг

CS Создание сообщений о смерти сталкеров
В своё время меня мучал вопрос: как сделать так, чтобы отображалась информация о смерти сталкеров. Как только я нашёл ответ на этот вопрос, я решил выложить его здесь.


И так, поехали.

Вам понадобится файл: xr_motivator.script

В нём находим следующие строки:
function motivator_binder:death_callback(victim, who)
callstack()

Между ними вставляем следующий текст:
--Некрологи

monster_classes = {
[clsid.bloodsucker_s] = "Кровосос",
[clsid.boar_s] = "Кабан",
[clsid.dog_s] = "Собака",
[clsid.flesh_s] = "Плоть",
[clsid.pseudodog_s] = "Псевдособака",
[clsid.poltergeist_s] = "Полтергейст",
[clsid.gigant_s] = "Псевдогигант",
[clsid.zombie_s] = "Зомби",
[clsid.snork_s] = "Снорк",
[clsid.psy_dog_s] = "Пси собака",
[clsid.psy_dog_phantom_s] = "Призрак псевдособаки",
[clsid.controller_s] = "Контролёр",
[clsid.tushkano_s] = "Тушканчик",
}




local m_game_vertex = who:game_vertex_id()
local lvert = game_graph():vertex(m_game_vertex)
local lid = lvert:level_id()
local mlevel = alife():level_name(lid)
local m_s_level = mlevel

local victim_name = victim:character_name()

local killer_name = who:character_name()

local victim_comm = victim:character_community()

local killer_comm = who:character_community()

local post_message_prob = 0.8

if killer_comm=="monster" then
local m_clsid = get_clsid(who)
killer_name = monster_classes[m_clsid]
end
if killer_name==victim_name then
killer_name="Выброс"
killer_comm="monster"
end

if killer_comm~=nil then
local m_text_kill_string=killer_name.." ("..game.translate_string(killer_comm).."), убил сталкера "..victim_name.."("..game.translate_string(victim_comm).."). Локация: "..game.translate_string(m_s_level)
local news_text = "%c[255,160,160,160]".."Некролог:".."\\n".."%c[default]"..m_text_kill_string
local news_caption = game.translate_string("st_tip")
local texture = "ui_iconsTotal_weapons"

db.actor:give_game_news(news_caption, news_text, texture, 15*1000, 15*1000)
end

Теперь немного поясню.

Это, как вы поняли, определение мутанта, который укокошил очередного сталкера:
monster_classes = {
[clsid.bloodsucker_s] = "Кровосос",
[clsid.boar_s] = "Кабан",
[clsid.dog_s] = "Собака",
[clsid.flesh_s] = "Плоть",
[clsid.pseudodog_s] = "Псевдособака",
[clsid.poltergeist_s] = "Полтергейст",
[clsid.gigant_s] = "Псевдогигант",
[clsid.zombie_s] = "Зомби",
[clsid.snork_s] = "Снорк",
[clsid.psy_dog_s] = "Пси собака",
[clsid.psy_dog_phantom_s] = "Призрак псевдособаки",
}


Это - определение уровня, на котором произошло убийство:
local m_game_vertex = who:game_vertex_id()
local lvert = game_graph():vertex(m_game_vertex)
local lid = lvert:level_id()
local mlevel = alife():level_name(lid)
local m_s_level = mlevel


Это - определение имён и группировок убийцы и убитого. Выброс у нас определяется как мутант:
local victim_name = victim:character_name()

local killer_name = who:character_name()

local victim_comm = victim:character_community()

local killer_comm = who:character_community()

if killer_name==victim_name then
killer_name="Выброс"
killer_comm="monster"
end

Отображение сообщения следующего типа: Вася Пупкин(Долг) убил сталкера Петя Иванов(Свобода), локация Свалка . Вместо надписей убил сталкера и локация можете написать что угодно:
if killer_comm~=nil then
local m_text_kill_string=killer_name.." ("..game.translate_string(killer_comm).."), убил сталкера "..victim_name.."("..game.translate_string(victim_comm).."). Локация: "..game.translate_string(m_s_level)

Название предыдущего сообщения. Вместо надписи Некролог можете написать что угодно:
local news_text = "%c[255,160,160,160]".."Некролог:".."\\n".."%c[default]"..m_text_kill_string

На авторство этого способа я не предендую. Скрипт, с небольшими изменениями, был перенесён из мода Another story
Категория: Скриптинг | Добавил: zhen (12.07.2011)
Просмотров: 4025 | Комментарии: 1 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:

Поиск

Время зоны

Календарь

Время зоны

Моя кнопка


Код кнопки

Друзья сайта


AMK

Сайт создан в системе uCoz