Можно навешать ещё разные виды приборов, сделать худы масок, проверку на поясе и ещё что-нибудь, но мне и так нравиться.
[Показать] Спойлер:
-1- Вызов скрипта при помощи аси кейлоггера: http://www.sendspace.com/file/tkmneo, одной кнопкой для вкл. и выкл.('N' в данном примере):
keylogger.script:
-2- Ещё один вызов при выбросе ПНВ из инвентаря (эффект ПНВ должен отключиться):
bind_stalker.script:
-3- Сам срипт ПНВ:
my_file.script:
-4- Создаём секцию с настройками предмета:
quest_items.ltx:
-5- Во всех настройках всех защитных костюмов (outfit.ltx, unique_items.ltx) удаляем параметр:
и
-6- Вместо или дополнительно к пункту -5-, в файлах default_controls.ltx и user.ltx, удаляем строчки
keylogger.script:
- Код: Выделить всё
function _78()
my_file.night_vision(actor)
end
-2- Ещё один вызов при выбросе ПНВ из инвентаря (эффект ПНВ должен отключиться):
bind_stalker.script:
- Код: Выделить всё
function actor_binder:on_item_drop(obj)
...
if obj:section() == "nv_scopes" then
my_file.night_vision(self.object, true)
end
end
-3- Сам срипт ПНВ:
my_file.script:
- Код: Выделить всё
local nv_on, snd_on, snd_idle, snd_off
function night_vision(actor, drop)
if drop then
nv_on = nil
if snd_idle then snd_idle:stop() end
level.remove_pp_effector(1034)
return
end
if actor:object("nv_scopes") == nil then return end
if nv_on == nil then
nv_on = 1
snd_on = xr_sound.get_safe_sound_object('weapons\\nv_start')
snd_on:play_no_feedback(actor, sound_object.s2d, 0, vector(), 1.0)
snd_idle = sound_object("weapons\\nv_loop", sound_object.looped+sound_object.s2d)
snd_idle:play(actor, 0, sound_object.looped+sound_object.s2d)
level.add_pp_effector("nightvision_bad.ppe", 1034, true)
else
nv_on = nil
if snd_idle then snd_idle:stop() end
snd_off = xr_sound.get_safe_sound_object("weapons\\nv_off")
snd_off:play_no_feedback(actor, sound_object.s2d, 0, vector(), 1.0)
level.remove_pp_effector(1034)
end
end
-4- Создаём секцию с настройками предмета:
quest_items.ltx:
- Код: Выделить всё
[nv_scopes]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\quest_items\nv_scopes"
class = II_ATTCH
cform = skeleton
visual = equipments\item_psi_helmet.ogf
radius = 1
quest_item = false
description = nv_scopes_desc
inv_name = nv_scopes_inv
inv_name_short = nv_scopes_inv
inv_weight = 0.46
inv_grid_width = 2
inv_grid_height = 1
inv_grid_x = 14
inv_grid_y = 33
cost = 30000
-5- Во всех настройках всех защитных костюмов (outfit.ltx, unique_items.ltx) удаляем параметр:
- Код: Выделить всё
nightvision_sect = effector_nightvision_bad
и
- Код: Выделить всё
nightvision_sect = effector_nightvision_good
-6- Вместо или дополнительно к пункту -5-, в файлах default_controls.ltx и user.ltx, удаляем строчки
- Код: Выделить всё
bind night_vision kN
Смысл - сделать ПНВ уникальным предметом, каким он и является.