Efekt oddechu postaci przy założonym kombinezonie

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez vandr w 06 Gru 2012, 13:38

Nie mam pojęcia, być może kwestia silnika? Nie wiem.
TAJAG JUDYN
HAZBAZ
SEKODYN!
vandr
Modder

Posty: 3878
Dołączenie: 21 Lut 2011, 14:18
Ostatnio był: Wczoraj, 16:11
Kozaki: 1749

Reklamy Google

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez Junx w 06 Gru 2012, 13:59

Niestety, dalej brak dźwięku oddechu :/ W logu mam takie coś:

Kod: Zaznacz wszystko
! Invalid ogg-comment version, file:  d:\s.t.a.l.k.e.r. - clear sky\gamedata\sounds\actor\gas_mask_idle.ogg


A do dźwięków apteczki bandaży itd. mam takie coś:

Kod: Zaznacz wszystko
! Missing ogg-comment, file:  d:\s.t.a.l.k.e.r. - clear sky\gamedata\sounds\actor\cop_heal.ogg
! Missing ogg-comment, file:  d:\s.t.a.l.k.e.r. - clear sky\gamedata\sounds\actor\cop_bandage.ogg


Fakt, czasami słychać dźwięki, ale to rzadki przypadek.
Ryzen 5600x || 32gb DDR4 || RTX 2080 Super
Awatar użytkownika
Junx
Modder

Posty: 2341
Dołączenie: 15 Kwi 2008, 09:39
Ostatnio był: 20 Lut 2025, 09:31
Miejscowość: Na co Ci to :)
Frakcja: Samotnicy
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 358

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez nelson82 w 08 Gru 2012, 09:48

Możesz zapodać gdzieś plik bind_stalker.script z CS w którym dodawałeś funkcje odgłosów?
łatwiej już nie będzie
Awatar użytkownika
nelson82
Łowca

Posty: 505
Dołączenie: 16 Paź 2011, 00:09
Ostatnio był: 13 Paź 2019, 11:44
Ulubiona broń: --
Kozaki: 130

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez Junx w 08 Gru 2012, 10:14

Proszę:

Kod: Zaznacz wszystko
function init    (obj)
            xr_motivator.AddToMotivator(obj)
end

function actor_init    (npc)
            npc:bind_object(actor_binder(npc))
end

delayed_alife_release_objects = {}
to_delayed_alife_release_objects = {}

local game_difficulty_by_num = {
            [0] = "gd_novice",
            [1] = "gd_stalker",
            [2] = "gd_veteran",
            [3] = "gd_master"
            }

lasthealth  = 0
lasttime        = 0
post_process = 0
local weapon_hide = {}
----------------------------------------------------------------------------------------------------------------------
class "actor_binder" (object_binder)
----------------------------------------------------------------------------------------------------------------------
function actor_binder:__init (obj) super(obj)
            self.bCheckStart = false
            self.weather_manager = level_weathers.get_weather_manager()
            --self.actor_detector = xr_detector.actor_detector()
            self.last_level_name = nil
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:net_spawn(data)
   printf("actor net spawn")      

   level.show_indicators()

   self.bCheckStart = true
   self.weapon_hide = false -- ńďđ˙ňŕíî čëč íĺň îđóćčĺ ďđč đŕçăîâîđĺ.
   weapon_hide = false -- óńňŕíŕâëčâŕĺě ăëîáŕëüíűé äĺôîëňîâűé ôëŕă.

   if object_binder.net_spawn(self,data) == false then
      return false
   end

            level.show_indicators()

            self.bCheckStart = true
            self.weapon_hide = false -- ńďđ˙ňŕíî čëč íĺň îđóćčĺ ďđč đŕçăîâîđĺ.
      self.weapon_hide_in_dialog = false
            weapon_hide = {} -- óńňŕíŕâëčâŕĺě ăëîáŕëüíűé äĺôîëňîâűé ôëŕă.

            if object_binder.net_spawn(self,data) == false then
                        return false
            end

            db.add_actor(self.object)

            if self.st.disable_input_time == nil then
                        level.enable_input()
            end
      --  IMM  --------------------------
         amk.on_game_load()
      --  IMM  --------------------------
            xr_s.on_game_load()                                    --' Distemper 03.2008 --
            atmmain.on_game_load()
            self.weather_manager:reset()
--        game_stats.initialize ()

--        if(actor_stats.add_to_ranking~=nil)then
--                actor_stats.add_to_ranking(self.object:id())
--        end

            --' Çŕăđóćŕĺě íŕńňđîéęč äđîďŕ
            death_manager.init_drop_settings()

            --'Óńňŕíŕâëčâŕĺě ńńűëęó íŕ ňŕńęěĺíĺäćĺđ
            self.task_manager = task_manager.get_task_manager()

            -- Ŕíđĺěňĺ ýňî, ÷ňîáű ďđîďóńňčňü číňđî íŕ ěŕđřĺ.
            --self.object:give_info_portion("mar_lvl_sim")
            if level.name() ~= "marsh" then
               sim_board.get_sim_board():start_sim()
            end

            --spawn_items.main()
            self.spawn_frame = device().frame
      self.already_jumped = false
      benchmark.main()                               --' Distemper 06.2008 --
      if rx_ai then rx_ai.actor_net_spawn() end
-------- ďŕóçŕ ďđč çŕăđóçęĺ ---------------
   ui_main_menu.start()
-------------------------------------------

   return true
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:net_destroy()
      --  IMM  --------------------------
         amk.on_game_save()
      --  IMM  --------------------------
      xr_sound.stop_sounds_by_id(self.object:id())
      local board_factions = sim_board.get_sim_board().players
      for k,v in pairs (board_factions) do
         xr_sound.stop_sounds_by_id(v.id)
      end
      if(actor_stats.remove_from_ranking~=nil)then
         actor_stats.remove_from_ranking(self.object:id())
      end
      xr_effects.stc_stop_particle_sounds()
      level.show_indicators()
      level.show_weapon(true)
--      get_console():execute("hud_crosshair 1")
--      get_console():execute("hud_weapon 1")
--    get_console():execute("r2_dof -0.250000,1.400000,200.000000")
--     game_stats.shutdown ()
            db.del_actor(self.object)

            self.object:set_callback(callback.inventory_info, nil)
            self.object:set_callback(callback.article_info, nil)
            self.object:set_callback(callback.on_item_take, nil)
            self.object:set_callback(callback.on_item_drop, nil)
            --self.object:set_callback(callback.actor_sleep, nil)
            self.object:set_callback(callback.task_state, nil)
            self.object:set_callback(callback.level_border_enter, nil)
            self.object:set_callback(callback.level_border_exit, nil)
            self.object:set_callback(callback.take_item_from_box, nil)

            if sr_psy_antenna.psy_antenna then
                        sr_psy_antenna.psy_antenna:destroy()
                        sr_psy_antenna.psy_antenna = false
            end
      xrs_dyn_music.stop_sound()
            object_binder.net_destroy(self)
--      xr_sound.stop_all_sounds()
            xr_s.on_actor_destroy()                                       --' Distemper 03.2008 --
            atmmain.on_actor_destroy() 
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:reinit()
   object_binder.reinit(self)
   
   local npc_id = self.object:id()

   db.storage[npc_id] = { }

   self.st = db.storage[npc_id]
   self.st.pstor = nil

   self.next_restrictors_update_time = -10000

   self.object:set_callback(callback.inventory_info, self.info_callback, self)
   self.object:set_callback(callback.article_info, self.article_callback, self)
   self.object:set_callback(callback.on_item_take, self.on_item_take, self)
   self.object:set_callback(callback.on_item_drop, self.on_item_drop, self)
   self.object:set_callback(callback.trade_sell_buy_item, self.on_trade, self) -- for game stats
   --self.object:set_callback(callback.actor_sleep, self.sleep_callback, self)
   self.object:set_callback(callback.task_state, self.task_callback, self)
   --self.object:set_callback(callback.map_location_added, self.map_location_added_callback, self)
   self.object:set_callback(callback.level_border_enter, self.level_border_enter, self)
   self.object:set_callback(callback.level_border_exit, self.level_border_exit, self)
   self.object:set_callback(callback.take_item_from_box, self.take_item_from_box, self)
   self.object:set_callback(callback.use_object, self.on_use_item, self)
end

-- new method, will be called every time you use item in inventory
function actor_binder:on_use_item(obj)
  item_usage.on_use_item(obj)
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:take_item_from_box(box, item)
      local box_name = box:name()
      treasure_manager.take_item_from_box(box, box_name, item)

      --local smart_name = string.sub(box_name, 1, string.len(box_name)-4)
   --if(sim_board.get_sim_board().smarts_by_names[smart_name]~=nil) then
      --  game_relations.set_gulag_relation_actor(smart_name, "enemy")
   --end
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:level_border_enter(npc, info_id)
            --self.actor_detector:actor_enter()
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:level_border_exit(npc, info_id)
            --self.actor_detector:actor_exit()
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:info_callback(npc, info_id)
            printf("*INFO*: npc='%s' id='%s'", npc:name(), info_id)
            --' Ńţćĺň
            level_tasks.proceed(self.object)
            -- Îňěĺňęč íŕ ęŕđňĺ
            level_tasks.process_info_portion(info_id)
   --  IMM  --------------------------
   amk.on_info(npc,info_id)
   --  IMM  --------------------------
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:on_trade (item, sell_bye, money)
      if sell_bye == true then
          game_stats.money_trade_update (money)
       xr_statistic.inc_recieved_money_counter(money)
      else
          game_stats.money_trade_update (-money)
       xr_statistic.inc_spent_money_counter(money)
      end
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:inventory_pda (item, sell_bye, money)
      if sell_bye == true then
          game_stats.money_trade_update (money)
       xr_statistic.inc_recieved_money_counter(money)
      else
          game_stats.money_trade_update (-money)
       xr_statistic.inc_spent_money_counter(money)
      end
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:article_callback(npc, group, name)
            --printf("article_callback [%s][%s]", group, name)
            if device().precache_frame >1 then return end

            if group == "Diary" then
                        news_manager.send_encyclopedy("diary", group)
            else
                        news_manager.send_encyclopedy("encyclopedy", group)
            end
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:on_item_take (obj)
      level_tasks.proceed(self.object)
      printf("on_item_take [%s]", obj:name())
      if isArtefact(obj) then
                        bind_anomaly_zone.artefact_ways_by_id[obj:id()] = nil
                        local artefact =  obj:get_artefact()
                        artefact:FollowByPath("NULL",0,vector():set(500,500,500))
                        if bind_anomaly_zone.parent_zones_by_artefact_id[obj:id()] ~= nil then
                                    bind_anomaly_zone.parent_zones_by_artefact_id[obj:id()]:on_artefact_take()
                        end
            end
            for k,v in pairs(task_manager:get_task_manager().task_info) do
                        if(v.type=="bring_item" and v.state~="finished") then
                                    v:on_item_take(obj)
                        end
            end
      atmmain.on_item_take(obj)   
      --game_stats.update_take_item (obj, self.object)
   if rx_ai then rx_ai.actor_item_take(obj) end

   --  IMM  --------------------------
   amk.on_item_take(obj)
   --  IMM  --------------------------

end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:on_item_drop (obj)
      level_tasks.proceed(self.object)
            for k,v in pairs(task_manager:get_task_manager().task_info) do
                        if(v.type=="bring_item" and v.state~="finished") then
                                    v:on_item_drop(obj)
                        end
            end
      --game_stats.update_drop_item (obj, self.object)
      atmmain.on_item_drop(obj)   
   --  IMM  --------------------------
   amk.on_item_drop(obj)
   --  IMM  --------------------------
   
end
----------------------------------------------------------------------------------------------------------------------

function actor_binder:task_callback(_task, _state)
      if _state ~= task.fail then
      if _state == task.completed then
         news_manager.send_task(db.actor, "complete", _task)
      else
         news_manager.send_task(db.actor, "new", _task)
      end
   end

   task_manager.task_callback(_task, _state)
end

----------------------------------------------------------------------------------------------------------------------
function actor_binder:map_location_added_callback(spot_type_str, object_id)
            if (false==app_ready()) or (device().precache_frame>1) then return end
            --'news_manager.send_task(db.actor, "new")
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:update(delta)
            object_binder.update(self, delta)
            snd_breath_gasmask.sound_update() -- sound of breathing
            
         

-- ATM Sleeping Bag start

   local act = db.actor
   if not has_alife_info("has_sleeping_bag") then
      db.actor:give_info_portion("has_sleeping_bag")
      alife():create("sleepingbag", act:position(), act:level_vertex_id(), act:game_vertex_id(), act:id())
   end

-- ATM Sleeping Bag start

            if self.already_jumped==false and jump_level.need_jump==true and (device().frame > self.spawn_frame+2000) then
         jump_level.try_to_jump()
         self.already_jumped = true
      return
   end

   atmmain.update()
   
            -- DEBUG slowdown
--        slowdown.update()

            local time = time_global()

            game_stats.update (delta, self.object)
--get_console():execute("load tg = " .. time)
            -- ŕďäĺéň ďîăîäű
            self.weather_manager:update()

            -- ŕďäĺéň ńőĺěű äĺňĺęňîđŕ
            --self.actor_detector:update()

            --' Ŕďäĺéň ńŕóíäěĺíĺäćĺđŕ
            xr_sound.update(self.object:id())

            --' Ďđîâĺđęŕ ďîňĺđč ćčçíč
--[[
            if self.object.health - lasthealth > 0.001 or
                self.object.health - lasthealth < -0.001 then
                        printf("%f | %f", self.object.health, self.object.health - lasthealth, game.time() - lasttime)
                        lasthealth = self.object.health
                        lasttime = game.time()
            end
]]
            -- Îáíîâëĺíčĺ îňęëţ÷ĺíč˙ ââîäŕ ń ęëŕâčŕňóđű.
            if self.st.disable_input_time ~= nil and
                game.get_game_time():diffSec(self.st.disable_input_time) >= self.st.disable_input_idle
            then
                         level.enable_input()
                        self.st.disable_input_time = nil
            end
            -- Îáíîâëĺíčĺ ńíŕ ń ďĺđĺíîńîě ÷óâŕęŕ â óęŕçŕííóţ ďîçčöčţ
            if self.st.sleep_relocate_time ~= nil and
                game.get_game_time():diffSec(self.st.sleep_relocate_time) >= self.st.sleep_relocate_idle
            then
                        self.object:set_actor_position(self.st.sleep_relocate_point)
                        local dir = self.st.sleep_relocate_point:sub(self.st.sleep_relocate_look)
                        self.object:set_actor_direction(dir:getH())
                        self.st.sleep_relocate_time = nil
            end
      -- Ŕďäĺéň ďđ˙ňŕíčĺ îđóćč˙ čăđîęŕ âî âđĺě˙ äčŕëîăŕ
      if self.object:is_talking() then
         if self.weapon_hide_in_dialog == false then
            --printf("PL:HIDE_D1 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
            self.object:hide_weapon()
            self.weapon_hide_in_dialog = true
            --printf("PL:HIDE_D2 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
         end
      else
         if self.weapon_hide_in_dialog == true then
            --printf("PL:RESTORE_D1 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
            self.object:restore_weapon()
            self.weapon_hide_in_dialog = false
            --printf("PL:RESTORE_D2 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
         end
            end


            -- Ŕďäĺéň ďđ˙ňŕíčĺ îđóćč˙ čăđîęŕ â çîíĺ sr_no_weapon
            if check_for_weapon_hide_by_zones() == true then
               --printf("weapon_hide1 = [%s]", tostring(weapon_hide))
                        if self.weapon_hide == false then
                              --printf("PL:HIDE_W1 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
                                    self.object:hide_weapon()
                                    self.weapon_hide = true
                  --printf("PL:HIDE_W2 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
                        end
            else
               --printf("weapon_hide3 = [%s]", tostring(weapon_hide))
                        if self.weapon_hide == true then
                              --printf("PL:RESTORE_W1 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
                                    self.object:restore_weapon()
                                    self.weapon_hide = false
                  --printf("PL:RESTORE_W2 ---> self.weapon_hide = [%s] weapon_hide = [%s]", tostring(self.weapon_hide), tostring(weapon_hide))
                        end
            end

            -- îáíîâëĺíčĺ đĺńňđčęňîđîâ, ęîňîđűĺ ďîä ëîăčęîé, ńđŕáŕňűâŕĺň ÷ĺđĺç číňĺđâŕëű âđĺěĺíč
            if self.next_restrictors_update_time < time then

                        self.next_restrictors_update_time = time + 200

                        self.task_manager:update()
            end

            -- îáíîâëĺíčĺ ďîńňďđîöĺńńîâ
            if post_process ~= 0 then
                        if post_process:update () == true then
                            post_process = 0
                        end
            end

            -- îáíîâëĺíčĺ ďńč-ŕíňĺííű
            if sr_psy_antenna.psy_antenna then
                        sr_psy_antenna.psy_antenna:update(delta)
            end

      --[[local hud_demo = get_hud()

      local custom_static_demo = hud_demo:GetCustomStatic("cs_demo_play")
      if custom_static_demo == nil then
      hud_demo:AddCustomStatic("cs_demo_play", true)
      if level.name() == "agroprom_underground" then
         hud_demo:GetCustomStatic("cs_demo_play"):wnd():SetTextST("st_demo_agr")
      elseif level.name() == "military_nvidia" then
         hud_demo:GetCustomStatic("cs_demo_play"):wnd():SetTextST("st_demo_mil")
      else
         hud_demo:GetCustomStatic("cs_demo_play"):wnd():SetTextST("st_demo_play")
      end
      end

      if jump_level.need_jump==true then
      hud_demo:GetCustomStatic("cs_demo_play"):wnd():SetTextST("L: " .. level.name() .. " frame [" ..
                           tostring(device().frame) ..
                           "] delta[" ..
                           tostring(device().frame - self.spawn_frame) ..
                           "]")
   end]]--

   --' Âűâîä ńîîáůĺíč˙ î áîëüřîé đŕäčŕöčč
   if self.object.radiation >= 0.7 then
         local hud = get_hud()
         local custom_static = hud:GetCustomStatic("cs_radiation_danger")
         if custom_static == nil then
               hud:AddCustomStatic("cs_radiation_danger", true)
               hud:GetCustomStatic("cs_radiation_danger"):wnd():SetTextST("st_radiation_danger")
         end
   else
         local hud = get_hud()
         local custom_static = hud:GetCustomStatic("cs_radiation_danger")
         if custom_static ~= nil then
               hud:RemoveCustomStatic("cs_radiation_danger")
         end
   end



    if self.bCheckStart then
         printf("SET DEFAULT INFOS")

         if not has_alife_info("global_dialogs") then
               self.object:give_info_portion("global_dialogs")
         end

         if not has_alife_info("level_changer_icons") then
               self.object:give_info_portion("level_changer_icons")
         end

         level_tasks.add_lchanger_location()

         self.bCheckStart = false
   end
   if rx_ai then rx_ai.actor_update() end
      --' Distemper 03.2008 --
   if xrs_dyn_music.play_combat == 0 then
         xrs_dyn_music.interactive_music(0)
   elseif xrs_dyn_music.play_combat == 1 then
         xrs_dyn_music.interactive_music(20)
   elseif xrs_dyn_music.play_combat == 2 then
         xrs_dyn_music.interactive_music(10)
   end

   --  IMM  --------------------------
   amk.on_actor_update(delta)   
   --  IMM  --------------------------

   xr_s.on_actor_update(delta)
         --' end  --
   if xr_surge_hide.start_surge then
      if not xr_surge_hide.weather_surge then
         xr_surge_hide.weather_surge = true
         level.set_weather("default_cloudy", true)
      end
      local diff_sec = math.ceil(game.get_game_time():diffSec(xr_surge_hide.initialization_time)/level.get_time_factor())
      local time_before_lag_noosphere = 0
      local time_before_give_task = 0
      if level.name() == "marsh" then
         time_before_lag_noosphere = 12
         time_before_give_task = 15
      else
         time_before_lag_noosphere = 17
         time_before_give_task = 27
      end
      if diff_sec>=time_before_lag_noosphere and xr_surge_hide.phase == 1 then
         xr_surge_hide.activate_surge()
      elseif diff_sec>=time_before_give_task and xr_surge_hide.phase == 2 then
         xr_surge_hide.activate_surge(xr_surge_hide.time_before_surge)
      end
   end

   local al = alife()
   if al ~= nil then
      local name = al:level_name(al:level_id())
      if(self.last_level_name==nil) then
         self.last_level_name = name
      else
         if(name~=self.last_level_name) then
                     self.last_level_name = name
            local time = xr_surge_hide.surge_can_be_started(name)
            if time then
                              xr_surge_hide.activate_surge(time)
                     end
         end
      end
   end
   if guiders.teleported_to_another_level and not guiders.level_changed then
      guiders.action_teleport_to_point()
   end
   -->> Simple CS Freeplay Mod 1.0
   if db.actor:dont_has_info("set_changers") then
      ogsm_freeplay.set_lc()
      db.actor:give_info_portion("set_changers")
   end
   --<<
end

----------------------------------------------------------------------------------------------------------------------
function actor_binder:save(packet)
            if rx_ai then rx_ai.actor_save(packet) end
            set_save_marker(packet, "save", false, "actor_binder")

            object_binder.save(self, packet)

            --' Ńîőđŕí˙ĺě óđîâĺíü ńëîćíîńňč
            packet:w_u8(level.get_game_difficulty())


            --' Ńîőđŕí˙ĺě äŕííűĺ îá îňęëţ÷ĺííîě ââîäĺ
            if self.st.disable_input_time == nil then
                        packet:w_bool(false)
            else
                        packet:w_bool(true)
                        utils.w_CTime(packet, self.st.disable_input_time)
            end

            xr_logic.pstor_save_all(self.object, packet)
            self.weather_manager:save(packet)
            release_body_manager.get_release_body_manager():save(packet) --' Distemper 12.02.2008
      xr_surge_hide.save(packet)
            sr_psy_antenna.save( packet )
            --self.actor_detector:save(packet)

      packet:w_bool(sim_board.get_sim_board().simulation_started)

            -- Ńîőđŕíĺíčĺ ńďčńęŕ îćčäŕíč˙ íŕ ęîěŕíäó ŕňŕęč îň čăđîęŕ
            local n = 0
            for k,v in pairs(sim_combat.wait_for_combat) do
                        n = n + 1
            end
            packet:w_u8(n)
            for k,v in pairs(sim_combat.wait_for_combat) do
                        packet:w_u16(k)
                        packet:w_stringZ(v)
            end
            xr_sound.actor_save(packet)
         packet:w_stringZ(tostring(self.last_level_name))
      xr_statistic.save(packet)
      guiders.save(packet)
      treasure_manager.save(packet)
      n = 0
      for k,v in pairs(delayed_alife_release_objects) do
         n = n + 1
      end
      packet:w_u8(n)
      for k,v in pairs (delayed_alife_release_objects) do
         printf("TO_RELEASING OBJ:[%s]", tostring(k))
         packet:w_u16(k)
      end
      n = 0
      for k,v in pairs(db.script_ids) do
         n = n + 1
      end
      packet:w_u8(n)
      for k,v in pairs (db.script_ids) do
         packet:w_u16(k)
         packet:w_stringZ(v)
      end
--      minigames_manager.get_minigames_manager():save(packet)
            set_save_marker(packet, "save", true, "actor_binder")
end
----------------------------------------------------------------------------------------------------------------------
function actor_binder:load(reader)
            set_save_marker(reader, "load", false, "actor_binder")

            object_binder.load(self, reader)

            --' Çŕăđóćŕĺě óđîâĺíü ńëîćíîńňč
            local game_difficulty = reader:r_u8()
            printf("load game_difficulty %s", tostring(game_difficulty))
            get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty])

            local stored_input_time = reader:r_u8()
            if stored_input_time == true then
                        self.st.disable_input_time = utils.r_CTime(reader)
            end

            xr_logic.pstor_load_all(self.object, reader)
            self.weather_manager:load(reader)
            release_body_manager.get_release_body_manager():load(reader) --' Distemper 12.02.2008
      xr_surge_hide.load(reader)
            sr_psy_antenna.load(reader)
            --self.actor_detector:load(reader)

      sim_board.get_sim_board().simulation_started = reader:r_bool()

            -- Çŕăđóçęŕ ńďčńęŕ îćčäŕíč˙ íŕ ęîěŕíäó ŕňŕęč îň čăđîęŕ
            local n = reader:r_u8()
            sim_combat.wait_for_combat = {}
            for i = 1,n do
                        sim_combat.wait_for_combat[reader:r_u16()] = reader:r_stringZ()
            end

            xr_sound.actor_load(reader)
            local n = reader:r_stringZ()
            if(n~="nil") then
                  self.last_level_name = n
            end
      xr_statistic.load(reader)
      guiders.load(reader)
      treasure_manager.load(reader)
      n = reader:r_u8()
      for i = 1,n do
         to_delayed_alife_release_objects[reader:r_u16()] = true
      end
      printf("delayed_alife_release_objects")
      print_table(delayed_alife_release_objects)
      n = reader:r_u8()
      for i = 1,n do
         db.script_ids[reader:r_u16()] = reader:r_stringZ()
      end
--      minigames_manager.get_minigames_manager():load(reader)
            set_save_marker(reader, "load", true, "actor_binder")
end
----------------------------------------------------------------------------------------------------------------------

--ńňŕđň ďđĺôĺň÷ŕ çâóęîâ
--if string.find(command_line(), "-noprefetch") == nil then
--        sound_prefetch.prefetch_sounds()
--end

function check_for_weapon_hide_by_zones()
   for k,v in pairs(weapon_hide) do
      if v == true then
         return true
      end
   end
   return false
end
-- Weapon functions
function hide_weapon(zone_id)
   weapon_hide[zone_id] = true
end
function restore_weapon(zone_id)
   weapon_hide[zone_id] = false
end


function add_to_delayed_release(obj_id)
   printf("TO_RELEASING_add OBJ:[%s]", tostring(obj_id))
   delayed_alife_release_objects[obj_id] = true
end
function del_to_delayed_release(obj_id)
   printf("TO_RELEASING_del OBJ:[%s]", tostring(obj_id))
   delayed_alife_release_objects[obj_id] = nil
end


PS. Trochę jest edytowany bo robię moda do CS, ale na czystych plikach jest ten sam efekt, więc wyprzedzę pytanie czy sprawdzałem na czystych plikach.
Ryzen 5600x || 32gb DDR4 || RTX 2080 Super
Awatar użytkownika
Junx
Modder

Posty: 2341
Dołączenie: 15 Kwi 2008, 09:39
Ostatnio był: 20 Lut 2025, 09:31
Miejscowość: Na co Ci to :)
Frakcja: Samotnicy
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 358

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez nelson82 w 08 Gru 2012, 10:29

http://pliczek.net/index.php?p=39603
w sekcji
:

Kod: Zaznacz wszystko
self.object:set_callback(callback.inventory_info, nil)
            self.object:set_callback(callback.article_info, nil)
            self.object:set_callback(callback.on_item_take, nil)
            self.object:set_callback(callback.on_item_drop, nil)
            --self.object:set_callback(callback.actor_sleep, nil)
            self.object:set_callback(callback.task_state, nil)
            self.object:set_callback(callback.level_border_enter, nil)
            self.object:set_callback(callback.level_border_exit, nil)
            self.object:set_callback(callback.take_item_from_box, nil)
dodałem tą linijkę
:

Kod: Zaznacz wszystko
self.object:set_callback(callback.on_use_item, nil)

Sprawdź czy odgłosy używania bandaży etc. będą działać.
łatwiej już nie będzie

Za ten post nelson82 otrzymał następujące punkty reputacji:
Positive Junx.
Awatar użytkownika
nelson82
Łowca

Posty: 505
Dołączenie: 16 Paź 2011, 00:09
Ostatnio był: 13 Paź 2019, 11:44
Ulubiona broń: --
Kozaki: 130

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez Junx w 08 Gru 2012, 10:44

Krata flaszki dla Ciebie :D

Odgłosy są teraz już prawie za każdym razem. Na 5 przedmiotów jak nie było dźwięku, ale to już szczegół.

Ale, coś dalej ich za często nie ma :/
Ryzen 5600x || 32gb DDR4 || RTX 2080 Super
Awatar użytkownika
Junx
Modder

Posty: 2341
Dołączenie: 15 Kwi 2008, 09:39
Ostatnio był: 20 Lut 2025, 09:31
Miejscowość: Na co Ci to :)
Frakcja: Samotnicy
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 358

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez nelson82 w 08 Gru 2012, 11:22

Wypróbuj tę łatkę http://pliczek.net/index.php?p=39604 i zapodaj skrypt który definiuje które dźwięki będą odtwarzane podczas czynności.
łatwiej już nie będzie
Awatar użytkownika
nelson82
Łowca

Posty: 505
Dołączenie: 16 Paź 2011, 00:09
Ostatnio był: 13 Paź 2019, 11:44
Ulubiona broń: --
Kozaki: 130

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez Junx w 08 Gru 2012, 11:35

Trzym: http://pliczek.net/index.php?p=39605

W tej paczce wcale nie słychać dźwięków.
Ryzen 5600x || 32gb DDR4 || RTX 2080 Super
Awatar użytkownika
Junx
Modder

Posty: 2341
Dołączenie: 15 Kwi 2008, 09:39
Ostatnio był: 20 Lut 2025, 09:31
Miejscowość: Na co Ci to :)
Frakcja: Samotnicy
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 358

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez nelson82 w 08 Gru 2012, 12:31

Ta paczka to był strzał. Przygotowałem ją z moda dla SOC, a jedynie bind_stalker.script pochodził od Ciebie.
Wypróbuj teraz swój plik http://pliczek.net/index.php?p=39606, jeśli nie zadziała to podejrzewam, że masz jeszcze zainstalowaną jakąś modyfikację która wpływa w jakiś sposób na itemy, np. mod na wolniej działające apteczki, który u mnie (tyle, że w SOC) powodował, że dźwięki przestały działać.
łatwiej już nie będzie
Awatar użytkownika
nelson82
Łowca

Posty: 505
Dołączenie: 16 Paź 2011, 00:09
Ostatnio był: 13 Paź 2019, 11:44
Ulubiona broń: --
Kozaki: 130

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez Junx w 08 Gru 2012, 15:19

Dalej nic z tego :/

W logu mam coś takiego:

Kod: Zaznacz wszystko
! Missing ogg-comment, file:  d:\s.t.a.l.k.e.r. - clear sky\gamedata\sounds\actor\cop_vodka1.ogg
! Invalid ogg-comment version, file:  d:\s.t.a.l.k.e.r. - clear sky\gamedata\sounds\actor\cop_drink.ogg
! Invalid ogg-comment version, file:  d:\s.t.a.l.k.e.r. - clear sky\gamedata\sounds\actor\cop_eat.ogg


Coś z dźwiękami musi być i tyle. Trudno, chyba jednak będzie bez tych dźwięków.

jeśli nie zadziała to podejrzewam, że masz jeszcze zainstalowaną jakąś modyfikację która wpływa w jakiś sposób na itemy, np. mod na wolniej działające apteczki


Nie, nie mam żadnego takiego moda.
Ryzen 5600x || 32gb DDR4 || RTX 2080 Super
Awatar użytkownika
Junx
Modder

Posty: 2341
Dołączenie: 15 Kwi 2008, 09:39
Ostatnio był: 20 Lut 2025, 09:31
Miejscowość: Na co Ci to :)
Frakcja: Samotnicy
Ulubiona broń: Sniper Rifle SVDm2
Kozaki: 358

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez nelson82 w 08 Gru 2012, 15:22

Podrzuć gdzieś te dźwięki z loga
łatwiej już nie będzie
Awatar użytkownika
nelson82
Łowca

Posty: 505
Dołączenie: 16 Paź 2011, 00:09
Ostatnio był: 13 Paź 2019, 11:44
Ulubiona broń: --
Kozaki: 130

Re: Efekt oddechu postaci przy założonym kombinezonie

Postprzez r_populik w 08 Gru 2012, 15:26

A próbowałeś podmienić te dźwięki jakimiś standardowymi, co do których masz pewność, że są ok (np. jakiekolwiek dźwięki z vanilli). Jak będzie działało, tzn. że to tylko dźwięki są zrypane.
Awatar użytkownika
r_populik
Modder

Posty: 789
Dołączenie: 26 Mar 2010, 12:45
Ostatnio był: 29 Wrz 2022, 22:03
Miejscowość: okolice stolicy
Kozaki: 263

PoprzedniaNastępna

Powróć do Tutoriale

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości