GSC|MOD-Народный портал модостроения
PDA
Гость - Гости
Дата: 22.08.2018
Непрочитанных ЛС:
Гость - Гости
В Зоне: -дней
Пропуск №:
Гость - Гости
День рождения:
Ваш IP: 54.224.11.137
Музыка S.T.A.L.K.E.R.
Мини-чат
500
Друзья сайта
Наш опрос
Оцените мой сайт
Всего ответов: 1165
Статистика
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Uk  
Форум » Модостроение » Скриптинг Lua » Создание невидимого костюма
Создание невидимого костюма
РостянДата: Суббота, 23.03.2013, 13:14 | Сообщение # 1
Руководитель команды модостроителей UM-ST-MOD Team
Группа: Администраторы
Сообщений: 132
Репутация: 300
Статус: Offline
Режим не очень серьёзный. Глаза - глазами, а на слух неписи как собаки, прям! На зверьё прозрачный режим ГГ не действует. Это - пример. Браз что-то сделал, надеюсь лучше, чем у меня.

Создаём пустой файл в \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

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

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


Желаю всем удачного модостроения Ростян:-)
Если вы хотите отправить сообщение шлите на Yandayks3003
 
Форум » Модостроение » Скриптинг Lua » Создание невидимого костюма
  • Страница 1 из 1
  • 1
Поиск:
Design by Xom & Ростян
Copyright Ростян GSC-MOD
© 2013 - 2017
Авторское право на игру и использованные в ней материалы принадлежит GSC Game World.
Любое использование материалов сайта возможно только с разрешения администрации.
Хостинг от uCoz