S.T.A.L.K.E.R|Модостроение

Объявление

Здесь может быть ваш баннер. Закажи рекламу. Заработай на сайте
Добавь в закладки
Заработай на сайте
Здесь может быть ваш баннер. Закажи рекламу.
БАННЕР САЙТА
Новички и бывалые найдут здесь себе пристанище


Все писатели могут выложить свой рассказ в этой теме: Проза Хорошее чувство юмора? Прошу, докажите это: Юмор FM

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Скрипты [Scripts]]


По мелочам [Скрипты [Scripts]]

Сообщений 31 страница 40 из 57

31

Заставляем всех NPC говорить с нами

В файле gulag_general.script найти:
; Строка 52-53

"use = {=is_wounded} false, {!is_squad_commander} false, {=actor_enemy} false, {=has_enemy} false, {=actor_has_weapon} false, {=dist_to_actor_le(3)} true, false\n"..
"snd_on_use = {=is_wounded} nil, {=actor_enemy} nil, {!is_squad_commander} meet_use_no_talk_leader, {=actor_has_weapon} meet_use_no_weapon, {=has_enemy} meet_use_no_fight, {=dist_to_actor_le(3)} meet_use_no_default, nil\n"..

Заменить на:

"use = {=is_wounded} false, {=actor_enemy} false, {=has_enemy} false, {=actor_has_weapon} false, {=dist_to_actor_le(3)} true, false\n"..
"snd_on_use = {=is_wounded} nil, {=actor_enemy} nil, {=actor_has_weapon} meet_use_no_weapon, {=has_enemy} meet_use_no_fight, {=dist_to_actor_le(3)} meet_use_no_default, nil\n"..

0

32

Играем звук, когда в инвентаре у ГГ есть "предмет"

В файле bind_stalker.script найти строки:
--' Апдейт саундменеджера
xr_sound.update(self.object:id())

После этих строк вставить эту:
actors_sound.play_sound()

Далее создаем в той-же папке файл actors_sound.script, и в него вставляем такие строки:

function play_sound()
local snd
if db.actor:object("predmet") then snd = [[Путь_до_звука_относительно_папки_sounds]]
end
if snd then
local snd_obj = xr_sound.get_safe_sound_object(snd)
snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0)
end
end

0

33

Проверям жив ли монстр

local stobj =alife():story_object(story_id_монстра)
if stobj then
  if stobj:alive() then
    --' Действия, если монстр жив
  else
    --' ... если мёртв
  end
end

0

34

Играем звук при получении\потери предмета\денег

В файле news_manager.script ищем функции relocate_money и relocate_item. После строчки
--' Играем дефолтный звук

Допишем:
xr_sound.set_sound_play(actor:id(), "pda_tips")

0

35

Отмечаем на карте тайник

treasure_manager.get_treasure_manager():give_treasure("ИМЯ_ТАЙНИКА")

0

36

Включаем\Выключаем режим скриншотов

Включение:

function screenshot_mode_on()
level.hide_indicators_safe()
local hud = get_hud()
hud:HideActorMenu()
hud:HidePdaMenu()
end

Выключение:

function screenshot_mode_off()
level.show_indicators()
end

0

37

Скрипт порчи предметов при старте игры

1. Актор при старте игры сразу активирует спейс рестриктор с логикой zat_a1_logic.ltx
2. В этой логике вызывается функция damage_actor_items_on_start, которая собственно и меняет состояние предметов инвентаря:

function damage_actor_items_on_start(actor, npc)
  local actor = db.actor
  local obj = actor:object("helm_respirator")
  if obj ~= nil then
   obj:set_condition(0.8)
  end

  obj = actor:object("stalker_outfit")
  if obj ~= nil then
   obj:set_condition(0.76)
  end

  obj = actor:object("wpn_pm_actor")
  if obj ~= nil then
   obj:set_condition(0.9)
  end

  obj = actor:object("wpn_ak74u")
  if obj ~= nil then
   obj:set_condition(0.7)
  end
end

Соответственно для противогаза (helm_respirator), брони (stalker_outfit), пистолета (wpn_pm_actor) и автомата (wpn_ak74u) - причем сугубо конкретных

0

38

Функция вывода сообщения с разными иконками

local news_caption = game.translate_string("st_tip")
         local texture = "ui_iconsTotal_weapons"
         db.actor:give_game_news(news_caption, news_text, texture, 0, 15*1000)
play_snd_at_actor([[device\pda\pda_news]])

Где:

local news_caption = game.translate_string("st_tip") - заголовок "Сообщение"
local texture = "ui_iconsTotal_weapons" - иконка сообщения

db.actor:give_game_news(news_caption, news_text, texture, 0, 15*1000) - придется поставить первый цифровой параметр (задержка перед выводом сообщения) в ноль, так как нам нужно синхронизировать звук ПДА и сообщение

play_snd_at_actor([[device\pda\pda_news]]) - вывод звука ПДА

0

39

Спавним монстров после выброса

в функции CSurgeManager:end_surge файла scripts\surge_manager.script, после строки self:respawn_artefacts_and_replace_anomaly_zone() добавляем вызов своей функции спавна монстров, например такой:

function spawn_monster_after_surge ()
xr_effects.create_squad(<Сквад1>,<Смарт1>)
xr_effects.create_squad(<Сквад2>,<Смарт2>)
xr_effects.create_squad(<Сквад3>,<Смарт3>)
end

0

40

Изменить состояние оружия выпадаемое с трупов

Функция set_weapon_drop_condition(item) в файле death_manager.script
По умолчанию выпадает оружие от 0.4 (40\100) до 0.8 (((0.0..0.4)+40)/40)

0


Вы здесь » S.T.A.L.K.E.R|Модостроение » Уроки по модостроению [ЗП] » По мелочам [Скрипты [Scripts]]


Создать форум © iboard.ws