SoC. Создаем худ маски — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(Новая страница: «===Теория=== Мне кажется многие задавались вопросом "Как же создать худ маски"? Немного пораз...») |
|||
Строка 2: | Строка 2: | ||
Мне кажется многие задавались вопросом "Как же создать худ маски"? | Мне кажется многие задавались вопросом "Как же создать худ маски"? | ||
Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму. | Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму. | ||
+ | |||
Опытным '''модмейкерам''' может показаться моя функция усложненной, но главное, что все '''работает и не '''вылетает'''! | Опытным '''модмейкерам''' может показаться моя функция усложненной, но главное, что все '''работает и не '''вылетает'''! | ||
===Практика=== | ===Практика=== | ||
Строка 48: | Строка 49: | ||
Теперь зайдем в '''bind_stalker.script''', который находится в '''gamedata\scripts''', | Теперь зайдем в '''bind_stalker.script''', который находится в '''gamedata\scripts''', | ||
найдем функцию: | найдем функцию: | ||
− | |||
function actor_binder:update(delta) | function actor_binder:update(delta) | ||
− | и после пишем: | + | и после пишем: xr_mask.hud_gas() в итоге: |
− | xr_mask.hud_gas() | + | |
− | в итоге: | + | |
− | + | ||
function actor_binder:update(delta) | function actor_binder:update(delta) | ||
xr_mask.hud_gas() | xr_mask.hud_gas() | ||
Строка 59: | Строка 56: | ||
local time = time_global() | local time = time_global() | ||
game_stats.update (delta, self.object) | game_stats.update (delta, self.object) | ||
− | |||
===Работа с XML - описателем=== | ===Работа с XML - описателем=== | ||
Версия 11:17, 28 мая 2011
Содержание
Теория
Мне кажется многие задавались вопросом "Как же создать худ маски"? Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму.
Опытным модмейкерам может показаться моя функция усложненной, но главное, что все работает и не вылетает!
Практика
Работа со скриптами
Первым делом в директории gamedata\scripts создайте файл с названием xr_mask.script Открываем его и пишем:
function hud_gas() local slot = db.actor:item_in_slot(6) local object = db.actor:object("stalker_outfit") and db.actor:object("killer_outfit") if slot ~= nil and object ~= nil then local hud = get_hud() local custom_static = hud:GetCustomStatic("hud_gas") if custom_static == nil then hud:AddCustomStatic("hud_gas", true) end else local hud = get_hud() local custom_static = hud:GetCustomStatic("hud_gas") if custom_static ~= nil then hud:RemoveCustomStatic("hud_gas") end end end
Теперь поясню:
function hud_gas() -- функция local slot = db.actor:item_in_slot(6) -- переменная - слот костюмов local object = db.actor:object("stalker_outfit") and db.actor:object("killer_outfit") -- переменная объектов, если именно этот костюм одет, запускаем текстуру if slot ~= nil and object ~= nil then -- соединяем переменную - слот костюмов и переменную объектов local hud = get_hud() -- переменная худа local custom_static = hud:GetCustomStatic("hud_gas") -- переменная худа в XML - описателе if custom_static == nil then -- проверяем переменную худа в XML - описателе hud:AddCustomStatic("hud_gas", true) -- тоже самое переменная худа в XML - описателе и ниже тому подобное end else local hud = get_hud() local custom_static = hud:GetCustomStatic("hud_gas") if custom_static ~= nil then hud:RemoveCustomStatic("hud_gas") end end end
Теперь зайдем в bind_stalker.script, который находится в gamedata\scripts, найдем функцию: function actor_binder:update(delta) и после пишем: xr_mask.hud_gas() в итоге: function actor_binder:update(delta)
xr_mask.hud_gas()
object_binder.update(self, delta)
local time = time_global() game_stats.update (delta, self.object)
Работа с XML - описателем
Итак, заходим в директорию gamedata\config\ui, находим файл с названием ui_custom_msgs, открываем его и в самом конце перед строкой: </header> пишем:
<hud_gas x="0" y="0" width="1024" height="768" stretch="1"> <texture>hud\hud_gas</texture> </hud_gas>
Теперь поясню:
<hud_gas x="0" y="0" width="1024" height="768" stretch="1"> <texture>hud\hud_gas</texture> -- текстура маски. Посмотрите внимательно в скрипте мы указывали '''hud_gas''' </hud_gas>
Текстура
Теперь заходим в gamedata\textures\ui, находим файл с названием ui_mainmenu.dds. Копируем его, заходим в gamedata\textures\hud вставляем его и переминуем в hud_gas. Открываем программой Adobe Photoshop и рисуем подходящую для вас маску Вот и все! Начинаем новую игру ищем костюм сталкера или наемника, надеваем и видим вашу текстуру. Всем респект