--[[ -----------------------------------------------------------------------------------------------
 File       : xr_giditara.script
 Description: GG+guitar
 Copyright  : 2010 © ФеНиКс
 Author     : Starter, ВЛАД ,ФеНиКс, ALEX BOY ,Shadows
 Last update: 10.06.2010(by ФеНиКс ) 
--]]-----------------------------------------------------------------------------------------------


local device_active = true
local snd_obj,react

function item_update()
  local item = db.actor:active_item()
    if not (item and item:section() == "guitar_b") then
        if snd_obj and snd_obj:playing() then
            snd_obj:stop()
        end
        return
    end
    if device_active then
        snd_obj = sound_object("characters_voice\\human_01\\bandit\\music\\guitar_"..tostring(math.random(1,11)))  
        snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
    for k, v in pairs (db.storage) do
        local stalker = level.object_by_id(k)
        if (stalker and IsStalker(stalker)) then
            if stalker:position():distance_to(db.actor:position()) < 10 then
                if not snd_obj:playing() then
                    react = sound_object("characters_voice\\human_01\\stalker\\reactions\\music\\reaction_music_"..tostring(math.random(1,7)))  
                    react:play_at_pos(stalker, stalker:position(), sound_object.s2d)
                    react.volume = 0.8
                end
            end
        end
    end
        device_active = false
    else
        if not snd_obj:playing() then
            device_active = true
        end
    end
end

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

--local device_active = true
--local snd_obj

--function item_update()
--    local item = db.actor:active_item()
  --  if not (item and item:section() == "wpn_gitara") then
  --      if snd_obj and snd_obj:playing() then
   --         snd_obj:stop()
  --      end
  --      return
 --   end
 --   if device_active then
 --this.play_zvuk()
  --    snd_obj = sound_object("characters_voice\\human_01\\bandit\\music\\guitar_"..tostring(math.random(1,11)))   
  --      snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
   --     device_active = false
 --   else
   --     if not snd_obj:playing() then --тут уже NIL-а не будет
       --     device_active = true
       -- end
   -- end
--end


--local tbl={"music3","music2","music1"}
--***
--if npc:position():distance_to(db.actor:position())<1 then
--sndname=tbl[math.random(#tbl)]
--создание саунд_обьекта и проигрывание(см. lua_help.script)
--end


--local snd_stop = true
--local snd_obj
--local upd_timer = 0

--function item_update()
   -- if time_global() < upd_timer then return end
   -- upd_timer = time_global() + 1000
   -- local item = db.actor:active_item()
   -- if not (item and item:section() == "wpn_gitara") then
    --    if snd_obj and snd_obj:playing() then
      --      snd_obj:stop_deffered() 
  --    end
   --     return
  --  end
 --   if snd_stop then
   --    snd_obj = sound_object("characters_voice\\human_01\\bandit\\music\\guitar_"..tostring(math.random(1,11)))   
  --    snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
     --   snd_stop = false
  --  else
    --   if snd_obj and not snd_obj:playing() then
       --     snd_stop = true
   --     end
  --  end
--end




---if sound == "reac_guitar" then
---sound = "reac_music"

--local music={
--[1]="characters_voice\\human_01\\bandit\\music\\guitar_1",
--[2]="characters_voice\\human_01\\bandit\\music\\guitar_2",
--[3]="characters_voice\\human_01\\bandit\\music\\guitar_3",
--[4]="characters_voice\\human_01\\bandit\\music\\guitar_4"
--}
--local device_active = "stop"

--function item_update()
--local snd_obj= nil
--local item = db.actor:active_item()
-- если нет активной вещи либо есть, но не та что нужно, то дальше не выполняем

--if not (item and item:section() == "wpn_gitara") then
--device_active = "stop" -- на случай убирания предмета из слота - флаг в дефолт
--return end
-- если таки есть и флаг в дефолтном состоянии то...
--if device_active=="stop" then
-- вызываем функцию проигрыватель и заодно  получаем звуковой объект
--snd_obj= this.First_track()
-- флаг переключаем дабы не вызывать функцию снова и снова
--device_active = "start"
--elseif device_active == "start" then
-- если флаг проигрыша трека включен,  но звуковой объект уже доиграл
--if not snd_obj:playing() then
-- то  назначаем флагу дефолтное состояние  - блок с First_track()  снова становится доступным для активации
--device_active="stop"
--end
--end
--end

--function First_track()
--local F=math.random(1,4)
--local snd_obj = sound_object(musik[F])
--snd_obj:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
--return snd_obj
--end


-------------------
--function play_zvuk()
--local act = db.actor
--local os = act:position()
--for id,o in pairs(db.storage) do--for id=1,65534 do	
--local obj = level.object_by_id(id)
--if obj and IsStalker(obj) and obj:alive() and obj.health > 0.1 and  --then 
--obj:position():distance_to(db.actor:position()) < 1 then		--if 
 -- news_manager.send_tip(db.actor, "ВСЁ НОРМ!", 0, "default", 8000)
 -- else --/ ошибка спавна
  --  news_manager.send_tip(db.actor, "ПИЗДОС! ошибка...", 0, "default", 8000)
--local snd_obj0 = sound_object("characters_voice\\human_01\\stalker\\reactions\\music\\reaction_music_"..tostring(math.random(1,7)))
--snd_obj0:play_at_pos(db.actor, vector():set(0,0,0), 0, sound_object.s2d)
--end
--end
--end
--end














