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

[SoC] Ковыряемся в файлах


Halford

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

2 часа назад, AndreySol сказал:

Как не работает? Ошибку выдает, тихо не делает что нужно?

Звуки не воспроизводятся. 

Адаптировал срезание только  ножем, ничего не происходит, никаки вылетов и ошибок... 

Косяки естесно за мной, но непонятно что делаю не так. 

 

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


Ссылка на сообщение
(изменено)

@Akros Можно звуковые заглушки поставить, вместо его фраз. Думаю это самое простое 

Изменено пользователем андрей дронав

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


Ссылка на сообщение
(изменено)

@Akros В ОП стоит античит, любое ковыряние файлов, и твои сейвы будут меченными красным ( возможно ошибаюсь). 

Распаковать файлы sounds.xdb

В папке sound/actors найти не нужные реплики, заменить их, и закинуть в папку с ОП. Я в ОП не гоняю, не факт что все что я написал сработает. 

Загляни в тему ковыряние ОП 2.2 

Изменено пользователем андрей дронав
  • Спасибо 1

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


Ссылка на сообщение
(изменено)

Народ, я снова по теме срезания запчастей с мутантов.

Что здесь нужно изменить, чтобы открывался  инвентарь, только когда нож в руках

Скрытый текст

-- Срезание трофеев с монстров / Идея: мод "Мясник" (CoP) от Singapur22
function generic_object_binder:use_callback(obj, who)
    if self.use_flag == nil and self.object:section()~="m_trader" then
        self.object:set_nonscript_usable(false)  --если (true) инвентарь работает
        self.use_flag = true
    end
    
    if self.object:alive() or self.used then return end
    
    local knife = who:item_in_slot(0)
    if who:id() ~= db.actor:id() or (knife~=nil and who:active_slot() == 0) then
        self.used = true
    else
        if knife then
            news_manager.send_tip(db.actor,"Чтобы cрезать трофей, нужно достать нож.")
        end
        return
    end
    
    self.item = read_if_exist("s",nil,self.object:section(),"Spawn_Inventory_Item_Section",nil)
    if self.item then
        self.item_count = read_if_exist("f",nil,self.object:section(),"Spawn_Inventory_Item_Amount",1)
    else
        return
    end
    
    for i=1, self.item_count do
        alife():create(self.item, who:position(), who:level_vertex_id(), who:game_vertex_id(), who:id())
    end
    
    self.object:set_tip_text("")
    
    local h = hit()
    h.draftsman = self.object
    h.type = hit.fire_wound
    h.direction = vector():set(0,1,0)
    h:bone(read_if_exist("s",nil,self.object:section(),"bone_impuls_abscission","bip01_spine"))
    h.power = 1
    h.impulse = (read_if_exist("f",nil,self.object:section(),"impuls_abscission",150))
    self.object:hit(h)
    
    local sound_use = sound_object("material\\dead-body\\collide\\hithard0"..tostring(math.random(1, 6)).."hl")
    sound_use:play_at_pos(self.object, self.object:position(), sound_object.s3d)
end

Звуки не воспроизводятся, не нахожу нужного калбэка

 

Изменено пользователем андрей дронав

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


Ссылка на сообщение
10 часов назад, Купер сказал:

 Оно действительно в таком виде не желает работать. По крайней мере, на "классике". Интересно, почему?

 

Разберусь с этим когда получу вывих мозга. Но это не точно. :dash3: 

  • Смешно 2

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


Ссылка на сообщение
(изменено)
1 час назад, Купер сказал:

@андрей дронав ,

  off topic (Скрыть)

хотелось бы понять почему в такой конфигурации не работает?

 

Дружище, я никогда не учил язык программирования, для меня этот код "Абракадабра". Я умею пользоваться "WinMerge", и на этом мой навык мододела кончился. Буду пробовать ковырять ссылаясь на прошлые темы, а вдруг узнаю, ПАЧИМУ НЕ РАБОТАЕТ:laugh:

 

Может быть так?

Скрытый текст

self.object:set_callback(callback.use_object, self.use_object, self)
...
end

  function actor_binder:use_object(obj)
        sound_obj_left = sound_object([[material\\dead-body\\collide\\hithard0]])
        sound_obj_left:play_at_pos(db.actor, vector():set(1, 0, 1), 0, sound_object.s2d)
    end

 

Изменено пользователем андрей дронав
  • Смешно 1

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


Ссылка на сообщение
30.06.2022 в 17:56, Zander_driver сказал:

Вот просто интересно, каких ответов люди хотят на подобные вопросы... Ты же понимаешь что ответить тебе по существу, невозможно.

.

Пытался адаптировать этот скрипт

Скрытый текст

-- Отрезание запчастей монстров ножом и озвучка. Для отрезания достаточно, чтобы нож был в рюкзаке.
local monster = nil
local snd = nil
function get_monster()
    return monster
end

-- Ножи и прочее ХО, которым можно отрезать запчасть
local knives = {
    ["wpn_knife"]=true
}

function right_knife(knife)
    return (knives[knife:section()] and knife:condition()>0.1) or false
end

function on_part_take(obj)
    if not monster then
        return 
    end
    local item_part=ini_reader.iniReader():readBool(obj:section(),"monster_part",false)
    local monster_part=ini_reader.iniReader():readString(monster:section(),"Spawn_Inventory_Item_Section","")
    if not item_part or monster_part~=obj:section() then
        return
    end
    
    if actor_has_knife() then
        level.start_stop_menu(level.main_input_receiver(), true)
        if snd and snd:playing() then
            snd:stop()
        end
        snd = voice("zwuk\\inv_mutant_loot_"..math.random(1,16))
        snd:play_at_pos(db.actor, vector(), 0, sound_object.s2d)
        archievements.acv_count_event("acv_gvdr", 500, "acv_gvdr") 
        local knife=db.actor:item_in_slot(0)
        local cond_dec=ini_reader.iniReader():readString(knife:section(),"condition_shot_dec",0)
        if cond_dec~=0 then
            knife:set_condition(knife:condition()-cond_dec)
        end
        return
    end
    sms("on_part_take_0", nil, "nano", 5000)
    db.actor:transfer_item(obj, monster)
end

function actor_has_knife()
    local item_in_slot=db.actor:item_in_slot(0)
    if item_in_slot and item_in_slot:condition()>0.1 then
        return knives[item_in_slot:section()] or false
    end
    return false
end

function on_monster_use(victim, who)
    monster = victim
end

function on_monster_stop_use()
    monster = nil
end

function move_on()
    snp.move_on()
end
 

 

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


Ссылка на сообщение
(изменено)
5 часов назад, Houdini_one сказал:

@андрей дронав как понять?
При диалоге НПС говорит вместо "Привет" какую-то особенную фразу?

Нет, чтобы при приближении к нему, он говорил громко: здравствуй брат, говори зачем пришёл. 

Изменено пользователем андрей дронав

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


Ссылка на сообщение
(изменено)

Народ подскажите, чем возможно распаковать "Data Base File(.DB)" ? 

Пробовал утилиты от барака, UE 1.3.1 и sue2, никто из них не  распаковывет. 

Пытаюсь распаковать Misery+Gunslinger 

Изменено пользователем андрей дронав

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


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

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

AMK-Team.ru

×
×
  • Создать...