Перейти к контенту

Скриптование


Svoboда

Рекомендуемые сообщения

Подскажите функцию скрипта: чтобы при использовании предмета например хлеба, спаунился другой предмет на время и удалялся.Функция спавна и удаления есть, а функции использования предмета неправильная. Заранее спасибо))) :) Вот функция:

function hud_bread()
local act_it = db.actor:active_item()
if act_it and act_it:section() == "bread" then

Поделиться этим сообщением


Ссылка на сообщение

 

 

в таком виде она не может быть правильной
А как быть тогда? Может быть так?
function use_bread_oz(obj)
    if obj ~= nil then
        if obj:section() == "bread" then
            for i = 1, 1 do --Совершаем спавн 1 раз
           alife():create(:"Любой предмет", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
       end
end
    end
end

Поделиться этим сообщением


Ссылка на сообщение

 

 

Можно и так
Я просто хотел реализовать худ предметов: схема такова - кушаем батон, спавнится сам худ на классе чего-нибудь, заводится таймер, и потом худ удаляется. Но вот со спавном этого худа проблемы...

Поделиться этим сообщением


Ссылка на сообщение

Всем привет! Подскажите пожалуйста, почему у меня скрипт работает через раз? Платформа ТЧ, переделал мод худы вещей. Заранее спасибо) Вот скрипт:

 

 

snd = sound_object([[interface\inv_food]])
function use_bread_oz(obj)
    if obj ~= nil then
        if obj:section() == "bread" then
        this.Timer_zrems_1()
         for i = 1, 1 do
           alife():create("baton_b", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
       end
end
    end
end
 
local flo2 = false
local Timer_zrems 
function Timer_zrems_1() --/ запуск таймера 
if not flo2 then
Timer_zrems = time_global() + 1*3000 --/ взводим таймер на 6se
 snd:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
flo2 = true 
end
 if flo2 and not Timer_zrems then     
            flo2 = false
end
end
 
function Timer_zrems_2() --/ вызывается из ':update' сталкер-биндера
if Timer_zrems and Timer_zrems < time_global() then --/ проверка текущего значения
Timer_zrems = nil --/ выключаем таймер
 this.del_naxren() 
end
end
 
function del_naxren() 
local oitem = db.actor:object("baton_b")
    if oitem then
      db.actor:drop_item(oitem)
      alife():release(alife():object(oitem:id()), true)
end
end

 

Изменено пользователем Kirgudu

Поделиться этим сообщением


Ссылка на сообщение
так попробуй

Спасибо огромное! Но функция удаления не работает

Изменено пользователем Mododel15

Поделиться этим сообщением


Ссылка на сообщение

 

 

У меня всё работает. Ищите ошибку у себя.
Всё перепроверил: и bind_stalker и сам скрипт xr_baton. Получается что кушаю батон, мне спавнится сам худ батона как и раньше, но удаляться худ видимо не хочет. Из-за вылета пришлось убрать в bind_stalker строчку xr_baton.Timer_zrems_2() т.к. в скрипте эта функция отсутствует.

Поделиться этим сообщением


Ссылка на сообщение

 

 

У меня всё работает. Ищите ошибку у себя.
Еще раз перепроверил, со скриптом всё нормально, прописал другой предмет в спавн, всё заработало, значит проблема в конфиге худа baton_b. Помогите исправить пожалуйста

[baton_activation]

starting = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
flying = 0, detectors\geiger_click3, 0, 0, 0, 0, "","idle"
idle_before_spawning = 9, detectors\bomb_timer, 0, 0, 0, 0, "","idle"
spawning = 0.5, detectors\geiger_click3, 0, 0, 0, 0, "","idle"


[baton_b]:identity_immunities
GroupControlSection = spawn_group
$spawn = "weapons\mine\baton_b"
hud = baton_b_hud
animation_slot = 11
allow_inertion = true
slot = 2
attach_angle_offset = 0,0,0
attach_position_offset = -0.1,-0.1,0
attach_bone_name = bip01_r_hand
belt = false
af_actor_properties = off
actor_properties = on

$prefetch = 64
cform = skeleton
class = ARTEFACT
visual = weapons\bred\bred.ogf
description = "Корка хлеба"
inv_name = "Огрызок"
inv_name_short = "Огрызок"
inv_weight = 0.0
inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 11
inv_grid_y = 9
cost = 8
jump_height = 0
lights_enabled = false

snd_draw = weapons\pm_draw
snd_holster = weapons\generic_holster
snd_shoot = weapons\t_pm_shot ;pm_shoot
snd_empty = weapons\pistol_empty
snd_reload = weapons\pm_reload, 0.8
snd_close = weapons\generic_close
snd_idle_sprint = weapons\generic_close
snd_hide = weapons\generic_close
snd_show = weapons\generic_close
snd_activate = weapons\generic_close
snd_idle = weapons\generic_close


;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = baton_absorbation

artefact_activation_seq = baton_activation

[baton_b_hud]
orientation = 0, 0, 0
position = 0, 0, 0
visual = huds\hleb\hleb.ogf

anim_idle_sprint = hleb_eat
anim_activate = hleb_eat
anim_show =hleb_eat
anim_hide = hleb_holster
anim_idle = hleb_eat


[baton_absorbation]
burn_immunity = 1.0 ;коэффициенты иммунитета
strike_immunity = 1.0
shock_immunity = 1.0
wound_immunity = 1.0
radiation_immunity = 1.0
telepatic_immunity = 1.0
chemical_burn_immunity = 1.0
explosion_immunity = 1.0
fire_wound_immunity = 1.0

 

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...