Stalker моды спальный мешок

SoC. Спальный мешок

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

Для создания спального мешка, нам понадобятся эти файлы:

В папке scripts

В папке config/ui

В папке config/misc

В папке config/texs/rus

Содержание

Создание предмета «спальный мешок»

Заходим в gamedata\config\misc, ищем файл items.ltx и в конце пишем:

Работа с созданием спального мешка завершена.

Название и описание

Заходим в gamedata\config\text\rus, находим файл string_table_enc_equipment.xml, открываем его и в самом низу, перед пишем:

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

Работа со скриптами

Заходим в gamedata\scripts, находим файл bind_stalker.script, открываем его, находим функцию function actor_binder:net_destroy() и в колбеках пишем

Должно получиться так:

В этом же файле находим функцию function actor_binder:reinit() и так же в колбеках пишем

Должно получиться так:

Так же в этом файле находим функцию function actor_binder:on_item_drop (obj) и после неё пишем:

Должно получиться так:

Теперь в gamedata\scripts создаем файл c названием main_sleep.script, открываем его и пишем:

С самым главным работа завершена. Переходим к предпоследнему пункту.

Работа с XML-описателем

Заходим в gamedata\config\ui, создаем файл с названием ui_sleep.xml, открываем его и пишем:

Итак, кнопки описали. Последний пункт.

Заходим в gamedata\config\ui, ищем файл ui_movies, открываем и в самом конце пишем:

Теперь зайдем в gamedata\config\misc, найдем файл dream.ltx, откроем его. В начале будет такая конструкция:

Удаляем sleep\, чтобы получилось так:

Сделали мы это, чтоб игра не вылетала во время сна.

Со снами закончили.

Заключение

Осталось добавить мешок в игру.

Для этого заходим в gamedata\scripts, ищем файл escape_dialog.script, открываем его, ищем функцию function give_weapon_to_actor (trader, actor) и после dialogs.relocate_item_section(trader, «wpn_knife», «in») пишем:

Спальный мешок заспаунится в инвентаре после согласия отбить Шустрого у бандитов.

Но можно заспавнить его ГГ в инвентарь в начачле игры. Создаём ppm_spawner.script и в нём пишем

Теперь в gameplay открываем info_portions и пишем в функции Это

Примечания

  • Иконка у нас не спального мешка, а костюма бандита. Модель — мешок с песком.

Вот, собственно, и все! Можете тестировать!

Авторы

Создал скрипт сна: Ab@dDon Инструкция по спавну в начале игры : svarog2741

Отредактировал статью анонимный граммар-наци.

Источник

Stalker моды спальный мешок

Статус:
Отмычка:
Сообщений: 194
Награды: 8
Регистрация: 30.01.2013

Для создания спального мешка, нам понадобятся эти файлы:
В папке scripts
bind_stalker.script
• пустой файл main_sleep.script
В папке config/ui
ui_movies.xml
• пустой ui_sleep.xml
В папке config/misc
dream.ltx
items.ltx
В папке config/texs/rus
string_table_enc_equipment.xml

Создание предмета «спальный мешок»
Заходим в gamedata\config\misc, ищем файл items.ltx и в конце пишем:

200?’200px’:»+(this.scrollHeight+5)+’px’);»> [sleep_bag]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = «food and drugs\sleep_bag»
$prefetch = 32
class = II_ANTIR ;класс
cform = skeleton
visual = physics\decor\bag_01.ogf ;модель мешка с песком
description = enc_equipment_sleep_bag ;описание

inv_name = sleep_bag ;наименование
inv_name_short = sleep_bag ;наименование
inv_weight = 0.2 ;вес

inv_grid_width = 2 ;ширина иконки
inv_grid_height = 2 ;высота иконки
inv_grid_x = 12 ;ширина по x
inv_grid_y = 0 ; высота по y
cost = 3000 ;стоимость

; eatable item
eat_health = 0
eat_satiety = 0
eat_power = 0
eat_radiation = 0.0
wounds_heal_perc = 0
eat_portions_num = 1

; food item
animation_slot = 4

;hud item
hud = wpn_vodka_hud

Работа с созданием спального мешка завершена.

Название и описание
Заходим в gamedata\config\text\rus, находим файл string_table_enc_equipment.xml, открываем его и в самом низу, перед пишем:

Отличный спальный мешок. Ткань не рвется, устойчивая к воде. Отличная вещь переночевать в Зоне.

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

Работа со скриптами
Заходим в gamedata\scripts, находим файл bind_stalker.script, открываем его, находим функцию function actor_binder:net_destroy() и в колбеках пишем

=nil)then
actor_stats.remove_from_ranking(self.object:id())
end
— game_stats.shutdown ()
db.del_actor(self.object)

self.object:set_callback(callback.inventory_info, nil)
self.object:set_callback(callback.article_info, nil)
self.object:set_callback(callback.on_item_take, nil)
self.object:set_callback(callback.on_item_drop, nil)
—self.object:set_callback(callback.actor_sleep, nil)
self.object:set_callback(callback.task_state, nil)
self.object:set_callback(callback.level_border_enter, nil)
self.object:set_callback(callback.level_border_exit, nil)
self.object:set_callback(callback.take_item_from_box, nil)
self.object:set_callback(callback.use_object, nil) — вот наш колбек

if sr_psy_antenna.psy_antenna then
sr_psy_antenna.psy_antenna:destroy()
sr_psy_antenna.psy_antenna = false
end

200?’200px’:»+(this.scrollHeight+5)+’px’);»> function actor_binder:reinit()
object_binder.reinit(self)

local npc_id = self.object:id()

self.st = db.storage[npc_id]
self.st.pstor = nil

self.object:set_callback(callback.inventory_info, self.info_callback, self)
self.object:set_callback(callback.article_info, self.article_callback, self)
self.object:set_callback(callback.on_item_take, self.on_item_take, self)
self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)
self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) — for game stats
—self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)
self.object:set_callback(callback.task_state, self.task_callback, self)
—self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)
self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)
self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)
self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)
self.object:set_callback(callback.use_object, self.use_obj, self) — вот наш колбек
end

= nil then
if obj:section() == «sleep_bag» then — при использоваании спального мешка будет открываться выборочное меню
local hud = sleep_ui(get_hud()) — указываем на class «sleep_ui» (CUIScriptWnd)
level.start_stop_menu(hud, true) — открываем меню
end
end
end

class «sleep_ui» (CUIScriptWnd)

function sleep_ui:__init(owner) super()
self.owner = owner
self:InitControls()
self:InitCallBacks()
end

function sleep_ui:__finalize() end

function sleep_ui:InitControls()
self:Init(50,50,550,450)

local xml = CScriptXmlInit()
xml:ParseFile(«ui_sleep.xml») — настройки будут воспроизводиться в этом xml файле

xml:InitStatic(«back_video», self) — видео сзади

xml:InitStatic(«background», self) — рамка сзади

Источник

Как спать в Сталкер Чистое Небо

Проходя впервые игру Сталкер Чистое Небо, многие игроки сталкиваются с ситуацией, когда в Зоне наступает ночь и бродить по игровым локациям кишащим опасными мутантами и смертельными аномалиями, с довольно посредственным освещением в виде налобного фонарика, становиться проблематично. Попытки найти место пригодное для сна на сталкерских базах, не дают результата.

С грустью игроки понимают, что в игре Чистое Небо разработчики не добавили систему сна главного героя, как это реализовано в третьей части трилогии Зов Припяти. Напрашивается закономерный вопрос — как спать в Сталкер Чистое Небо.

Решить досадный промах разработчиков поможет модификация, позволяющая добавить в инвентарь Шрама спальный мешок и переждать ночь. Двойным нажатием мыши по спальному мешку, вы активируете систему сна и на экране появиться меню с возможностью выбора продолжительности сна вашего персонажа три, пять и восемь часов игрового времени.

Установка мода на сон:

  1. Скачать мод на спальный мешок.
  2. Разархивировать скачанный архив.
  3. Полученную папку gamedata, скопировать в папку с игрой Сталкер Чистое Небо v1.5.10
  4. Играть

Источник

Stalker моды спальный мешок

Статус:
Отмычка:
Сообщений: 194
Награды: 8
Регистрация: 30.01.2013

Для создания спального мешка, нам понадобятся эти файлы:
В папке scripts
bind_stalker.script
• пустой файл main_sleep.script
В папке config/ui
ui_movies.xml
• пустой ui_sleep.xml
В папке config/misc
dream.ltx
items.ltx
В папке config/texs/rus
string_table_enc_equipment.xml

Создание предмета «спальный мешок»
Заходим в gamedata\config\misc, ищем файл items.ltx и в конце пишем:

200?’200px’:»+(this.scrollHeight+5)+’px’);»> [sleep_bag]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = «food and drugs\sleep_bag»
$prefetch = 32
class = II_ANTIR ;класс
cform = skeleton
visual = physics\decor\bag_01.ogf ;модель мешка с песком
description = enc_equipment_sleep_bag ;описание

inv_name = sleep_bag ;наименование
inv_name_short = sleep_bag ;наименование
inv_weight = 0.2 ;вес

inv_grid_width = 2 ;ширина иконки
inv_grid_height = 2 ;высота иконки
inv_grid_x = 12 ;ширина по x
inv_grid_y = 0 ; высота по y
cost = 3000 ;стоимость

; eatable item
eat_health = 0
eat_satiety = 0
eat_power = 0
eat_radiation = 0.0
wounds_heal_perc = 0
eat_portions_num = 1

; food item
animation_slot = 4

;hud item
hud = wpn_vodka_hud

Работа с созданием спального мешка завершена.

Название и описание
Заходим в gamedata\config\text\rus, находим файл string_table_enc_equipment.xml, открываем его и в самом низу, перед пишем:

Отличный спальный мешок. Ткань не рвется, устойчивая к воде. Отличная вещь переночевать в Зоне.

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

Работа со скриптами
Заходим в gamedata\scripts, находим файл bind_stalker.script, открываем его, находим функцию function actor_binder:net_destroy() и в колбеках пишем

=nil)then
actor_stats.remove_from_ranking(self.object:id())
end
— game_stats.shutdown ()
db.del_actor(self.object)

self.object:set_callback(callback.inventory_info, nil)
self.object:set_callback(callback.article_info, nil)
self.object:set_callback(callback.on_item_take, nil)
self.object:set_callback(callback.on_item_drop, nil)
—self.object:set_callback(callback.actor_sleep, nil)
self.object:set_callback(callback.task_state, nil)
self.object:set_callback(callback.level_border_enter, nil)
self.object:set_callback(callback.level_border_exit, nil)
self.object:set_callback(callback.take_item_from_box, nil)
self.object:set_callback(callback.use_object, nil) — вот наш колбек

if sr_psy_antenna.psy_antenna then
sr_psy_antenna.psy_antenna:destroy()
sr_psy_antenna.psy_antenna = false
end

200?’200px’:»+(this.scrollHeight+5)+’px’);»> function actor_binder:reinit()
object_binder.reinit(self)

local npc_id = self.object:id()

self.st = db.storage[npc_id]
self.st.pstor = nil

self.object:set_callback(callback.inventory_info, self.info_callback, self)
self.object:set_callback(callback.article_info, self.article_callback, self)
self.object:set_callback(callback.on_item_take, self.on_item_take, self)
self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)
self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) — for game stats
—self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)
self.object:set_callback(callback.task_state, self.task_callback, self)
—self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)
self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)
self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)
self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)
self.object:set_callback(callback.use_object, self.use_obj, self) — вот наш колбек
end

= nil then
if obj:section() == «sleep_bag» then — при использоваании спального мешка будет открываться выборочное меню
local hud = sleep_ui(get_hud()) — указываем на class «sleep_ui» (CUIScriptWnd)
level.start_stop_menu(hud, true) — открываем меню
end
end
end

class «sleep_ui» (CUIScriptWnd)

function sleep_ui:__init(owner) super()
self.owner = owner
self:InitControls()
self:InitCallBacks()
end

function sleep_ui:__finalize() end

function sleep_ui:InitControls()
self:Init(50,50,550,450)

local xml = CScriptXmlInit()
xml:ParseFile(«ui_sleep.xml») — настройки будут воспроизводиться в этом xml файле

xml:InitStatic(«back_video», self) — видео сзади

xml:InitStatic(«background», self) — рамка сзади

Источник

Читайте также:  Как красиво положить декоративную плитку
Оцените статью
Поделиться с друзьями