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

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


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

Есть новый предмет, ремкомплект [repair_kit]. Где нужно прописать, чтобы его можно было бы складывать в тайники? Сейчас ГГ может хранить его в рюкзаке, пользоваться и все. 

Изменено пользователем Фокусник
Ссылка на комментарий

@Фокусник, открой -->  ..\gamedata\config\misc\items.ltx   спустись в конец файла и удали строку --> quest_item = true

 

Скрытый текст
[repair_kit]:identity_immunities
GroupControlSection	= spawn_group
discovery_dependency	=
$spawn			= "devices\quest_items\repair_kit"
$prefetch		= 32
class			= II_ANTIR
cform			= skeleton
visual			= equipments\item_merger.ogf
radius			= 1
description		= enc_equipment_repairkit
inv_name		= repairkit
inv_name_short		= repairkit
inv_weight		= 0.02
quest_item		= true          <-- Вот эту строку удали!!!!!!!!!!!!
inv_grid_width		= 2
inv_grid_height		= 2
inv_grid_x		= 10
inv_grid_y		= 33
cost			= 0
eat_health		= 0
eat_satiety		= 0
eat_power		= 0
eat_radiation		= 0
eat_alcohol		= 0
wounds_heal_perc	= 0
eat_portions_num	= 1
animation_slot		= 4

 

 

Изменено пользователем ted.80
  • Полезно 1
Ссылка на комментарий

Просьба знающего человека, перенести функционал клавиш ESC + F3 из ui_main_menu.script_from_spawner в ui_main_menu.script 

 

Добавлено  Купер,

Перемещено из темы.

Ссылка на комментарий

@abramcumner а существует ограничение на колличество гитарных файлов? Например если положить 100 треков с трилогии новичкам. Спрашиваю, потому что пока одну гармошку слышно.

Добавлено  Купер,

Перемещено.

Ссылка на комментарий

Ограничений нет. Но треки надо положить в виде файлов \sounds\music\guitar_x.ogg (где х от 12 и далее по порядку. [1,11] уже есть в ТЧ), а у костра должен сидеть нпц с гитарой.

Ссылка на комментарий

xr_kamp.script. -> function CKampManager:__init(path) -> значения табл. self.trans_kamp. Вроде бы? здесь.

Т.е., устанавливаем с вероятностью соответствующее состояние в кампе и потом начинаем нужное.

  • Согласен 1
  • Полезно 2
Ссылка на комментарий

@Купер  вижу, спасибо. Я бы сделал: pre_harmonica = 10, pre_guitar = 50

 

-- Таблица допустимых переходов между состояниями с вероятностями.
	self.trans_kamp = { idle			= { idle = 0, pre_harmonica = 30, pre_guitar = 30, story = 20, pre_joke = 30 },

 

  • Спасибо 1
Ссылка на комментарий

[ТЧ 1.0006]

Из какой текстуры берутся корявые красные глаза, которые видно под противогазами Долга и Свободы? Проверил правкой файлов act_ecolog_mp, act_ekolog, act_stalker_black, act_svoboda_mp – нет эффекта в игре.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

@Фокусник

Скрытый текст
-- Таблица глобальных состояний лагеря.
    -- * допустимые исходные состояния в кампе.
    self.kamp_states = { idle = true,
                         pre_harmonica = false, harmonica = false, post_harmonica = false,
                         pre_guitar = false, guitar = false, post_guitar = false,
                         story = false, post_story = false,
                         pre_joke = true, joke = true, post_joke = true}
    -- Таблица допустимых переходов между состояниями с вероятностями.
    -- * начинаем с некоторой вероятностью менять своё состояние (суммарно 100%)
    self.trans_kamp = { idle            = { idle = 0, pre_harmonica = 30, pre_guitar = 30, story = 0, pre_joke = 40 }, --* из idle можем начинать такую активность с заданной вероятностью
                        pre_harmonica    = { harmonica = 100 }, --* потянулись за гармошкой
                        harmonica        = { post_harmonica = 100 }, --* играем на гармошке
                        post_harmonica    = { idle = 70, harmonica = 30 }, --* закончили играть на гармошке
                        pre_guitar        = { guitar = 100 }, --* аналогично для гитары
                        guitar            = { post_guitar = 100 },
                        post_guitar        = { idle = 70, guitar = 30 },
                        story            = { post_story = 100 }, --* начали рассказывать истории
                        post_story        = { idle = 100 }, --* законичили рассказывать истории
                        pre_joke        = { joke = 100 }, --* решили пошутить
                        joke            = { post_joke = 100 }, --* шутим
                        post_joke        = { idle = 100 }} --* закончили шутить

 

@Norman Eisenherz , а там не в шейдерах дело?

Ссылка на комментарий

@gam из вышеописанного объяснения, вот эта строка. Я сделал 10% гармошка, 90% гитара:
 

self.trans_kamp = { idle            = { idle = 0, pre_harmonica = 5, pre_guitar = 55, story = 15, pre_joke = 25 }, 

 

Изменено пользователем Фокусник
Ссылка на комментарий
13 часов назад, Norman Eisenherz сказал:

Из какой текстуры берутся корявые красные глаза, которые видно под противогазами Долга и Свободы?

Хех. А не приходятся ли им кабаны родственниками? У кабанчиков на текстуре глазки-то симпатичные.

А в игре работает шейдер models\selflight. Он то ли криво написан, то ли специально так сделан, что из текстуры берет только красный канал и задирает его значение до безумных величин. Можно его поправить/сделать копию, чтобы оставлял все каналы. Ну и добавить других цветов.

 

Скинь модельку с красными глазами, у оригинальных вроде все норм в ТЧ.

 

Может поможет.

 

Изменено пользователем abramcumner
  • Полезно 1
Ссылка на комментарий

@abramcumner Указал же: ТЧ 1.0006.

Ладно на базе Свободы красноглазики, но и в Долге то же самое. Скрин: https://drive.google.com/file/d/1p1J8jFm3SjDk1filSpAfZ9TQpXG1ACrT

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

Ссылка на комментарий

Существует ли решение для некидаемой гранаты, когда с ней походил дольше 10 секунд?

Есть такой код для bind_stalker.script, помогает, но не всегда

Spoiler
local grenade_equipped_time = 0
local grenade_timeout = 10  -- Timeout in seconds before resetting state
local rmb_was_pressed = false

function on_key_press(key)
    if key == DIK_keys.DIK_4 then
        local weapon = db.actor:active_item()
        if weapon and (weapon:section() == "grenade_f1" or weapon:section() == "grenade_rgd5") then
            grenade_equipped_time = os.time()
        end
    elseif key == DIK_keys.DIK_LBUTTON then
        -- Instant throw (LMB)
        grenade_equipped_time = 0
    elseif key == DIK_keys.DIK_RBUTTON then
        -- Begin throw buildup (RMB)
        rmb_was_pressed = true
        local weapon = db.actor:active_item()
        if weapon and (weapon:section() == "grenade_f1" or weapon:section() == "grenade_rgd5") then
            local elapsed = os.time() - grenade_equipped_time
            if elapsed >= grenade_timeout then
                -- Re-equip current grenade section to refresh state
                db.actor:set_item(weapon:section())
                grenade_equipped_time = os.time()
            end
        end
    end
end

function on_key_release(key)
    if key == DIK_keys.DIK_RBUTTON and rmb_was_pressed then
        -- Throw triggered on RMB release
        grenade_equipped_time = 0
        rmb_was_pressed = false
    end
end

function update_grenade_state()
    if grenade_equipped_time > 0 then
        local elapsed = os.time() - grenade_equipped_time
        if elapsed >= grenade_timeout then
            local weapon = db.actor:active_item()
            if weapon and (weapon:section() == "grenade_f1" or weapon:section() == "grenade_rgd5") then
                db.actor:set_item(weapon:section())  -- Re-equip current grenade
                grenade_equipped_time = os.time()     -- Restart timer to avoid re-triggering loop
            end
        end
    end
end

function on_update()
    update_grenade_state()
end

 

 

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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