Лучшая модификация месяца
Всего ответов: 219
Главная » Статьи » Сталкер Зов Припяти » Уроки по модостроению

Создание невидимого костюма

Режим не очень серьёзный. Глаза - глазами, а на слух неписи как собаки, прям! На зверьё прозрачный режим ГГ не действует. Это - пример. Браз что-то сделал, надеюсь лучше, чем у меня.

Создаём пустой файл в \scripts\trans_outfit.script и создаём две функции:

function transparent_gg() --назовём её для памяти - "хулиганы зрения лишают!"

local fov1, range1, id, obj_around, alife_obj, dist_act_npc 
if db.actor == nil then 
return nil 
end

--если ГГ голый

if db.actor:item_in_slot(7) == nil then 
fov1 = 150 
range1 = 80

--если на ГГ одет костюм новичка

elseif db.actor:item_in_slot(7):section() == "novice_outfit" then

fov1 = 1 
range1 = 1

--если на ГГ одет другой броник

else 
fov1 = 150 
range1 = 80 
end

--задача предыдущего куска проанализировать, что надето на ГГ и установить 
--соответствующие угол обзора и дальность зрения 
-- 
--дальше перебор ВСЕХ объектов в игре по его id

for id = 1, 65534 do 
obj_around = level.object_by_id(id) -- создаём онлайн объект 
if obj_around ~= nil and IsStalker(obj_around) then --если есть такой и это сталкер

--создаём серверный объект, соответствующий онлайновому 
--сам обескуражен, что не смог определить дистанцию по онлайновому объекту 
--ну, наверное, мало рыл

alife_obj = alife():object(id) 
if alife_obj then

--определяем дистанцию между ГГ и неписем

dist_act_npc = db.actor:position():distance_to(alife_obj.position) 
end 
if dist_act_npc <= 120 then --отличаясь огромным человеколюбием я решил не бросать

--в беде ослеплённых сталкеров и восстанавливать им зрение в кольце 120-150 метров. 
--ну жалко их, болезных

if obj_around then - проверка обязательна иначе может быть

--вылет при убийстве вражины

obj_around:set_fov(fov1) --портим неписю угол зрения 
obj_around:set_range(range1) --портим неписю дальность зрения 
end 
else 
if obj_around then --если непись в кольце 120-150м восстанавливаем зрение 
obj_around:set_fov(150) 
obj_around:set_range(80) 
end 
end 
end 
end 
end

--а это стартёр нашей функции "хулиганы зрения лишают!" 
--тупой до бесконечности, когда я подоткнулся к таймерам Николая - диалоги начали мелькать. 
--но мы ж не таймеры разучиваем. Принцип прост. Вызов ф-ции подтыкаем в апдейт биндера актёра 
--и каждый раз наращиваем, предварительно созданную, глобальную переменную на 1 единичку. 
--на 50 раз обнуляем глобалку и запускаем "хулиганы зрения лишают!"

function timer_trans() 
timer_transparent = timer_transparent + 1 
if timer_transparent >= 50 then 
timer_transparent = 0 
transparent_gg() 
end 
end

------------------------------------------------------------------------------

Далее открываем файл \scripts\_g.script и внем прописываем свою глобалку:

dev_debug = false 
sim_debug = false 
mus_vol = 0 
amb_vol = 0 
timer_transparent = 0 --вот она, родная!

-------------------------------------------------------------------------------

Ну и последний штрих: подключить моторчик, чтобы пятидесятки считались, и "хулиганы

зрения лишают!" запускалась один раз на 50 апдейтов биндера.

Открываем \scripts\bind_stalker.script 
ищем функцию апдейта function actor_binder:update(delta) 
и так скромненько пристраиваем ей в хвостик свой доморощенный таймер

pda.fill_sleep_zones() 
trans_outfit.timer_trans() -- функция из другого файла вызывается с префиксом имяфайла.

-- загрузка мода(постоянное обновление)

if mod_update() then 
sgm_loader.sigerous_mod_main() 
end 
end

-----------------------------------------------

Всё в игре находим/обдираем/покупаем костюм новичка и пробуем инвизибл вар!


Категория: Уроки по модостроению | Добавил: Блэк☭ (03.12.2015)
Просмотров: 1475 | Теги: сталкер, уроки по модостроению, зов Припяти, STALKER, создание, костюма, call of Pripyat, невидимого | Рейтинг: 5.0/1
Всего комментариев: 0
Внимание! Прочтите для ознакомления!
Правила написания коментария: В комментариях запрещено - Писать сообщение прописными буквами (Caps Lock). Рекламировать какие-либо сайты. Использовать более двух смайлов в одном комментарии. Оскорблять пользователей сайта. Выражаться некультурными словами. Комментарии, в которых содержатся предложения по обмену баннерами, лишние вопросы, или просто не несущие никакого смысла будут незамедлительно удаляться, а пользователи, написавшие их, будут строго наказаны.

avatar
Приветствую, Гость!

-Ну что,Бродяга?
Мне тебе мозги парить,как я со всеми новичками делаю,или с тобой как с опытным сталкером обращатся?


-Давай как с новичком..

-Давай как с опытным!!!
Рейтинг@Mail.ru
Онлайн всего: 1
Бродяг: 1
Сталкеров: 0

[ Сегодняшние посетители ]