SoC. Создаем худ маски — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(→Автор: Weanchester) |
Monolith (обсуждение | вклад) (→Работа со скриптами) |
||
(не показаны 7 промежуточные версии 4 участников) | |||
Строка 11: | Строка 11: | ||
Открываем его пишем: | Открываем его пишем: | ||
− | <lua> | + | <lua>local mask_section = { |
− | + | ["stalker_outfit"] = true, | |
− | + | ["killer_outfit"] = true | |
− | + | } | |
− | local | + | |
− | if | + | function hud_gas() |
− | + | local outfit = db.actor:item_in_slot(6) | |
− | + | if outfit and mask_section[ outfit:section() ] then | |
− | + | get_hud():AddCustomStatic("hud_gasmask", true) | |
− | + | else | |
− | + | get_hud():RemoveCustomStatic("hud_gasmask") | |
− | + | end | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
end</lua> | end</lua> | ||
Теперь поясню: | Теперь поясню: | ||
− | <lua> | + | <lua>local mask_section = { -- таблица с секциями костюмов, которым добавляем худ маски |
− | + | ["stalker_outfit"] = true, | |
− | + | ["killer_outfit"] = true | |
− | local | + | } |
− | + | ||
− | + | function hud_gas() | |
− | + | local outfit = db.actor:item_in_slot(6) -- переменная костюма | |
− | + | if outfit -- одет костюм | |
− | + | and -- и | |
− | + | mask_section[ outfit:section() ] -- нужна маска | |
− | + | then | |
− | + | get_hud():AddCustomStatic("hud_gasmask", true) -- добавляем статик с текстурой маски | |
− | + | else -- иначе | |
− | + | get_hud():RemoveCustomStatic("hud_gasmask") -- удаляем статик маски | |
− | + | end | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
end</lua> | end</lua> | ||
Строка 71: | Строка 60: | ||
и в самом конце перед строкой: </header> пишем: | и в самом конце перед строкой: </header> пишем: | ||
− | < | + | <xml><hud_gasmask x="0" y="0" width="1024" height="768" stretch="1"> |
<texture>hud\hud_gas</texture> | <texture>hud\hud_gas</texture> | ||
− | </ | + | </hud_gasmask></xml> |
Теперь поясню: | Теперь поясню: | ||
− | < | + | <xml><hud_gasmask x="0" y="0" width="1024" height="768" stretch="1"> |
− | <texture>hud\hud_gas</texture> -- | + | <texture>hud\hud_gas</texture> -- путь к файлу с текстурой маски. Посмотрите внимательно в скрипте мы указывали 'hud_gasmask' |
− | </ | + | </hud_gasmask></xml> |
===Текстура=== | ===Текстура=== | ||
Строка 88: | Строка 77: | ||
Как работать с текстурами описано в этой статье: | Как работать с текстурами описано в этой статье: | ||
− | http://www.stalkerin.gameru.net/wiki/index.php/% | + | http://www.stalkerin.gameru.net/wiki/index.php/Изменение%20текстур |
+ | |||
Вот и все! Начинаем новую игру, ищем костюм сталкера или наемника, надеваем и видим вашу текстуру. | Вот и все! Начинаем новую игру, ищем костюм сталкера или наемника, надеваем и видим вашу текстуру. | ||
===Автор: Weanchester=== | ===Автор: Weanchester=== | ||
[[Категория:Скрипты]] [[Категория:Texturing]] | [[Категория:Скрипты]] [[Категория:Texturing]] |
Текущая версия на 14:25, 9 июня 2015
Содержание
Теория
Мне кажется многие задавались вопросом "Как же создать худ маски"? Немного пораздумав, я создал функцию, которая крепит текстуру к определенному костюму.
Опытным модмейкерам может показаться моя функция усложненной, но главное, что все работает и не вылетает!
Практика
Работа со скриптами
Первым делом в директории gamedata\scripts создайте файл с названием xr_mask.script
Открываем его пишем:
local mask_section = { ["stalker_outfit"] = true, ["killer_outfit"] = true } function hud_gas() local outfit = db.actor:item_in_slot(6) if outfit and mask_section[ outfit:section() ] then get_hud():AddCustomStatic("hud_gasmask", true) else get_hud():RemoveCustomStatic("hud_gasmask") end end
Теперь поясню:
local mask_section = { -- таблица с секциями костюмов, которым добавляем худ маски ["stalker_outfit"] = true, ["killer_outfit"] = true } function hud_gas() local outfit = db.actor:item_in_slot(6) -- переменная костюма if outfit -- одет костюм and -- и mask_section[ outfit:section() ] -- нужна маска then get_hud():AddCustomStatic("hud_gasmask", true) -- добавляем статик с текстурой маски else -- иначе get_hud():RemoveCustomStatic("hud_gasmask") -- удаляем статик маски 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_gasmask x="0" y="0" width="1024" height="768" stretch="1"> <texture>hud\hud_gas</texture> </hud_gasmask>
Теперь поясню:
<hud_gasmask x="0" y="0" width="1024" height="768" stretch="1"> <texture>hud\hud_gas</texture> -- путь к файлу с текстурой маски. Посмотрите внимательно в скрипте мы указывали 'hud_gasmask' </hud_gasmask>
Текстура
Теперь заходим в gamedata\textures\ui, находим файл с названием ui_mainmenu.dds. Копируем его, заходим в gamedata\textures\hud вставляем его и переминуем в hud_gas.dds Открываем программой Adobe Photoshop и рисуем подходящую для вас маску. Как работать с текстурами описано в этой статье:
http://www.stalkerin.gameru.net/wiki/index.php/Изменение%20текстур
Вот и все! Начинаем новую игру, ищем костюм сталкера или наемника, надеваем и видим вашу текстуру.