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) — рамка сзади
Источник
Как спать в Сталкер Чистое Небо
Проходя впервые игру Сталкер Чистое Небо, многие игроки сталкиваются с ситуацией, когда в Зоне наступает ночь и бродить по игровым локациям кишащим опасными мутантами и смертельными аномалиями, с довольно посредственным освещением в виде налобного фонарика, становиться проблематично. Попытки найти место пригодное для сна на сталкерских базах, не дают результата.
С грустью игроки понимают, что в игре Чистое Небо разработчики не добавили систему сна главного героя, как это реализовано в третьей части трилогии Зов Припяти. Напрашивается закономерный вопрос — как спать в Сталкер Чистое Небо.
Решить досадный промах разработчиков поможет модификация, позволяющая добавить в инвентарь Шрама спальный мешок и переждать ночь. Двойным нажатием мыши по спальному мешку, вы активируете систему сна и на экране появиться меню с возможностью выбора продолжительности сна вашего персонажа три, пять и восемь часов игрового времени.
Установка мода на сон:
- Скачать мод на спальный мешок.
- Разархивировать скачанный архив.
- Полученную папку gamedata, скопировать в папку с игрой Сталкер Чистое Небо v1.5.10
- Играть
Источник
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) — рамка сзади
Источник