CoP. Создание спального мешка — различия между версиями — S.T.A.L.K.E.R. Inside Wiki

CoP. Создание спального мешка — различия между версиями

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

Перейти к: навигация, поиск
м (Скрипты)
 
(не показаны 14 промежуточные версии 7 участников)
Строка 1: Строка 1:
Всем привет… В этой статье я расскажу вам как создать спальный мешок в ЗП  
+
Всем привет… В этой статье я расскажу вам как создать спальный мешок в ЗП<br />
Для начала заходим в файл gamedata\configs\misc\items.ltx  
+
 
И в самый конец добавляем вот это:
+
==Теория==
<code> ; Спальник  
+
Многие люди делая спальник задавались вопросом: "Почему ГГ съедает спальник?". Ответ прост Чтобы сделать спальник нужно к нему скрипт прикрутить.
 +
Идея скрипта проста и состоит она в том что: Когда ГГ использует спальник чтобы его не съесть вызываем диалог сна и по окончанию спавним спальник в инвентарь ГГ.
 +
 
 +
==Конфиги==
 +
Для начала заходим в файл '''gamedata\configs\misc\items.ltx''' <br />
 +
И в самый конец добавляем вот это:
 +
<ini> ; Спальник  
 
  [spalnik]:identity_immunities  
 
  [spalnik]:identity_immunities  
 
  discovery_dependency =  
 
  discovery_dependency =  
Строка 22: Строка 28:
 
  hud = wpn_vodka_hud  
 
  hud = wpn_vodka_hud  
  
  visual = dynamics\workshop_room\banka_kraski_1.ogf  
+
  visual = dynamics\workshop_room\banka_kraski_1.ogf ;ссылка на 3д модель спальника
  description = enc_spalnik  
+
  description = enc_spalnik ;описание configs\text\rus
  inv_name = spalnik  
+
  inv_name = spalnik ;Название configs\text\rus
  inv_name_short = spalnik_s
+
  inv_name_short = spalnik ;Название configs\text\rus
 
  inv_weight = 1  
 
  inv_weight = 1  
 
  inv_grid_width = 2  
 
  inv_grid_width = 2  
Строка 31: Строка 37:
 
  inv_grid_x = 14  
 
  inv_grid_x = 14  
 
  inv_grid_y = 23  
 
  inv_grid_y = 23  
  cost = 2200</code><br>Сохраняем…  
+
  cost = 2200 ;цена
Теперь идём в файл bind_stalker.script и после строчек
+
</ini><br>Сохраняем…
<code> get_console():execute("snd_volume_eff 0")
+
else</code><br>пишем вот это:
+
<code> if (spalnik) then spalnik.use_inventory_item(s_obj) end --Idler используем спальник?
+
end</code><br>сохраняем…
+
Теперь в папке gamedata\scripts создадим файл spalnik.script и в него впишем:
+
  
<code>-- функции АМК
+
==Скрипты==
function spawn_item_in_inv(spawn_item, npc)
+
Теперь идём в файл '''bind_stalker.script''' и после строчек
if npc==nil then
+
<lua> get_console():execute("snd_volume_eff 0")
npc=db.actor
+
  else</lua><br>пишем вот это:  
end
+
<lua> if s_obj and spalnik then spalnik.use_inventory_item(s_obj) end --Idler используем спальник?
return alife():create(spawn_item,
+
  end</lua><br>сохраняем…
  npc:position(),
+
Теперь в папке '''gamedata\scripts''' создадим файл '''spalnik.script''' и в него впишем:  
npc:level_vertex_id(),
+
  npc:game_vertex_id(),
+
npc:id())
+
end
+
  
  -- функции спальника
+
  <lua>
  function use(s_obj)  
+
  function use_inventory_item(s_obj)  
if not s_obj then return end
+
  if s_obj:section_name()=="spalnik" then
if (surge_manager.actor_in_cover()) then  
+
  if (surge_manager.actor_in_cover()) then
ui_sleep_dialog.sleep()  
+
    ui_sleep_dialog.sleep()  
give_info("sleep_active")  
+
    give_info("sleep_active")  
else  
+
  else  
news_manager.send_tip(db.actor, game.translate_string("st_spalnik_nosleep"))  
+
    news_manager.send_tip(db.actor, "st_spalnik_nosleep")  
 +
  end
 +
  alife():create("spalnik", vector(), 0, 0, npc:id())
 +
  end
 
  end  
 
  end  
 +
</lua>
  
spawn_item_in_inv("spalnik")
+
все можно сохранять...
end
+
Теперь идем в файл '''gamadata\configs\text\rus\st_items_equipment.xml''' <br />
 +
И в конце перед строчкой вписываем вот это:
 +
<xml>
 +
<string id="spalnik">
 +
<text>Спальный мешок</text>
 +
</string>
 +
<string id="spalnik_s">
 +
<text>Спальный мешок</text>
 +
</string>
 +
<string id="enc_spalnik">
 +
<text>Походный спальный мешок. Пожалуй, самый удобный способ переночевать в Зоне. Но от радиации не спасёт, поэтому для ночевки нужно искать места по-укромнее. Например такие, где можно переждать выброс.</text>
 +
</string>
 +
</xml>
  
function use_inventory_item(s_obj)
+
Сохраняем…
if s_obj and s_obj.section_name and s_obj:section_name()=="spalnik" then
+
Теперь идем в туже папку в файл '''ui_st_screen.xml''' и в конце перед строчкой пишем вот это:  
use(s_obj)
+
<xml>
end
+
<string id="st_spalnik_nosleep">
end
+
<text>В этом месте не заснуть. Нужно найти более надежное укрытие, там где можно переждать выброс.</text>
</code>
+
</string>
 +
</xml>
 +
Теперь идем в файл:
 +
'''Gamedata\configs\gamepley\character_desc_general.xml''' и там после строчки:
 +
<code> stalker_outfit \n</code>  
 +
пишем:
 +
<code> spalnik \n</code>
 +
Сохраняем…
  
все можно сохранять...  
+
==Ссылки==
Теперь идем в файл gamadata\configs\text\rus\st_items_equipment.xml
+
http://narod.ru/disk/11754345001/item_spalnik.ogf.html ----Модель спальника.
И в конце перед строчкой вписываем вот это:  
+
<br />http://narod.ru/disk/11756013001/c%D0%BF%D0%B0%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA.dds.html ----Иконка спальника.
<code>
+
<br />http://narod.ru/disk/11787986001/item_meshok1.dds.html ----Текстура спальника кидать в ''textures\item''
Спальный мешок
+
  
Спальный мешок  
+
Все можно заходить в игру и проверять…Спальный мешок появится у вас в начале новой игры!!!
  
Походный спальный мешок. Пожалуй, самый удобный способ переночевать в Зоне. Но от радиации не спасёт, поэтому для ночевки нужно искать места по-укромнее. Например такие, где можно переждать выброс.</code>
 
  
Сохраняем…
+
'''(Статья от ак101)'''
Теперь идем в туже папку в файл ui_st_screen.xml и в конце перед строчкой пишем вот это:
+
Статья доделана
<code>
+
<br />[[Mesnik`ом]]
В этом месте не заснуть. Нужно найти укрытие в котором можно переждать выброс.
+
 
+
</code> Теперь идем в файл:
+
Gamedata\configs\gamepley\character_desc_general.xml и там после строчки:
+
<code> stalker_outfit \n</code>
+
пишем:
+
<code> spalnik \n</code>
+
Сохраняем…
+
Все можно заходить в игру и проверять…Спальный мешок появится у вас в начале новой игры!!!
+
НО ЕСТЬ ДВА НЕДОСТАТКА!!!У СПАЛЬНОГО МЕШКА НЕТ ИКОНКИ ИНВЕНТАРЯ И У МОДЕЛЬ У НЕГО НЕ СПАЛЬНОГО МЕШКА, А БАНКИ КРАСКИ…ИКОНКУ СДЕЛАЙТЕ САМИ, ДУМАЮ ЗНАЕТЕ КАК, НУ А ЕСЛИ У ВАС И МОДЕЛЬ СПАЛЬНОГО МЕШКА ЕСТЬ ТО ЭТО ВООБЩЕ ОТЛИЧНО…ДУМАЮ КАК ЕЁ ВСТАВИТЬ ВЫ ТОЖЕ ЗНАЕТЕ…
+
Так по моему не чего не забыл…
+
'''(Статья от ак101)'''
+
 
[[Категория:Скрипты]]
 
[[Категория:Скрипты]]

Текущая версия на 07:20, 1 декабря 2016

Всем привет… В этой статье я расскажу вам как создать спальный мешок в ЗП

Теория

Многие люди делая спальник задавались вопросом: "Почему ГГ съедает спальник?". Ответ прост Чтобы сделать спальник нужно к нему скрипт прикрутить. Идея скрипта проста и состоит она в том что: Когда ГГ использует спальник чтобы его не съесть вызываем диалог сна и по окончанию спавним спальник в инвентарь ГГ.

Конфиги

Для начала заходим в файл 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 s_obj and spalnik then spalnik.use_inventory_item(s_obj) end --Idler используем спальник? 
 end

сохраняем…

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

 
 function use_inventory_item(s_obj) 
  if s_obj:section_name()=="spalnik" then
   if (surge_manager.actor_in_cover()) then
     ui_sleep_dialog.sleep() 
     give_info("sleep_active") 
   else 
     news_manager.send_tip(db.actor, "st_spalnik_nosleep") 
   end
   alife():create("spalnik", vector(), 0, 0, npc:id())
  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`ом

Другие места
LANGUAGE