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 ----Иконка спальника.
http://narod.ru/disk/11787986001/item_meshok1.dds.html ----Текстура спальника кидать в textures\item
Все можно заходить в игру и проверять…Спальный мешок появится у вас в начале новой игры!!!
(Статья от ак101)
Статья доделана
Mesnik`ом