Форум

Воскресенье, 29.06.2025, 05:43 Приветствую Вас Гость
Главная | Регистрация | Вход | RSS
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: [Try]DiGGeR225  
Создание спального мешка от ак101
[Try]DiGGeR225Дата: Суббота, 18.06.2011, 20:30 | Сообщение # 1
Прибывший
Группа: Администраторы
Сообщений: 501
Награды: 5
Репутация: 4
Статус:
Теория

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

Конфиги

Для начала заходим в файл 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....ds.html ----Иконка спальника.
http://narod.ru/disk/11787986001/item_meshok1.dds.html ----Текстура спальника кидать в textures\item

Все можно заходить в игру и проверять…Спальный мешок появится у вас в начале новой игры!!!



 
fedorДата: Четверг, 30.06.2011, 20:57 | Сообщение # 2
Прибывший
Группа: Пользователь
Сообщений: 5
Награды: 0
Репутация: 0
Статус:
Где это писать:
Теперь идём в файл bind_stalker.script и после строчек
get_console():execute("snd_volume_eff 0")
else

пишем вот это:
if (spalnik) then spalnik.use_inventory_item(s_obj) end --Idler используем спальник?
end
 
[Try]DiGGeR225Дата: Пятница, 01.07.2011, 17:02 | Сообщение # 3
Прибывший
Группа: Администраторы
Сообщений: 501
Награды: 5
Репутация: 4
Статус:
1. заходишь в \gamedata\scripts и находишь файл bind_stalker.script
2. открываешь его блокнотом, ищешь строчки:
Quote
get_console():execute("snd_volume_eff 0")
else

3. и после них пишем это:
Quote
if (spalnik) then spalnik.use_inventory_item(s_obj)
end

4. сохраняем с расширением .script



 
  • Страница 1 из 1
  • 1
Поиск:

Чат доступен только пользователям сайта
Зарегистрироваться

ТОП самых общительных:

[Try]DiGGeR225
Репутация:4
Постов: 501
Файлов: 43
Krendelyok
Репутация:0
Постов: 108
Файлов: 0
Sniper
Репутация:0
Постов: 82
Файлов: 0
Инквизитор
Репутация:0
Постов: 27
Файлов: 0
[K715]
Репутация:0
Постов: 22
Файлов: 0
Конструктор сайтовuCoz