CoP. Создание спального мешка
Материал из S.T.A.L.K.E.R. Inside Wiki
Всем привет… В этой статье я расскажу вам как создать спальный мешок в ЗП
Теория
Многие люди делая спальник задавались вопросом: "Почему ГГ сьедает спальник?". Ответ прост Чтобы зделать спальник нужно к нему скрипт прикрутить. Идея скрипта проста и состоит она в том что: Когда ГГ использует спальник чтобы его несьесть вызываем диалог сна и по окнчанию спавним сальник в инвентарь ГГ.
Кофиги
Для начала заходим в файл gamedata\configs\misc\items.ltx
И в самый конец добавляем вот это:
; Спальник
[spalnik]:identity_immunities
discovery_dependency =
$spawn = "food and drugs\antirad"
$prefetch = 32
class = S_FOOD
cform = skeleton
; eatable item
eat_health = 0
eat_satiety = 0
eat_power = 0
eat_radiation = 0
eat_alcohol = 0
wounds_heal_perc = 0
eat_portions_num = 1
; food item
animation_slot = 4
;hud item
hud = wpn_vodka_hud
visual = dynamics\workshop_room\banka_kraski_1.ogf ;ссылка на 3д модель спальника
description = enc_spalnik ;описание configs\text\rus
inv_name = spalnik ;Название configs\text\rus
inv_name_short = spalnik ;Название configs\text\rus
inv_weight = 1
inv_grid_width = 2
inv_grid_height = 2
inv_grid_x = 14
inv_grid_y = 23
cost = 2200 ;цена
Сохраняем…
Скрипты
Теперь идём в файл bind_stalker.script и после строчек
get_console():execute("snd_volume_eff 0") else
пишем вот это:
if (spalnik) then spalnik.use_inventory_item(s_obj) end --Idler используем спальник? end
сохраняем…
Теперь в папке gamedata\scripts создадим файл spalnik.script и в него впишем:
-- функции АМК function spawn_item_in_inv(spawn_item, npc) if npc==nil then npc=db.actor end return alife():create(spawn_item, npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id()) end -- функции спальника function use(s_obj) if not s_obj then return end if (surge_manager.actor_in_cover()) then ui_sleep_dialog.sleep() give_info("sleep_active") else news_manager.send_tip(db.actor, game.translate_string("st_spalnik_nosleep")) end spawn_item_in_inv("spalnik") end function use_inventory_item(s_obj) if s_obj and s_obj.section_name and s_obj:section_name()=="spalnik" then use(s_obj) end end
все можно сохранять...
Теперь идем в файл gamadata\configs\text\rus\st_items_equipment.xml
И в конце перед строчкой вписываем вот это:
<string id="spalnik">
<text>Спальный мешок</text>
</string>
<string id="spalnik_s">
<text>Спальный мешок</text>
</string>
<string id="enc_spalnik">
<text>Походный спальный мешок. Пожалуй, самый удобный способ переночевать в Зоне. Но от радиации не спасёт, поэтому для ночевки нужно искать места по-укромнее. Например такие, где можно переждать выброс.</text>
</string>
Сохраняем… Теперь идем в туже папку в файл ui_st_screen.xml и в конце перед строчкой пишем вот это:
<string id="st_spalnik_nosleep">
<text>В этом месте не заснуть. Нужно найти более надежное укрытие, там где можно переждать выброс.</text>
</string>
Теперь идем в файл: Gamedata\configs\gamepley\character_desc_general.xml и там после строчки:
stalker_outfit \n
пишем:
spalnik \n
Сохраняем…
Ссылки
http://narod.ru/disk/11754345001/item_spalnik.ogf.html ----Модель спальника.
http://narod.ru/disk/11756013001/c%D0%BF%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA.dds.html ----Иконка спальника.
Все можно заходить в игру и проверять…Спальный мешок появится у вас в начале новой игры!!!
Участник:Mesnik
(Статья от ак101)