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

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


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

@Фокусник, открой -->  ..\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] уже есть в ТЧ), а у костра должен сидеть нпц с гитарой.

@abramcumner выбор между гармошкой и гитарой случайный, или есть какой-то конфиг с процентами?

@Купер  вижу, спасибо. Я бы сделал: 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 – нет эффекта в игре.

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

Шпаргалка

@Фокусник ЕМНИП пресеты на рамдомность выставляются в xr.kamp.script. Там это легко увидеть, к сожалению нет под рукой распакованных архивов.

@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

 

 

36 минут назад, Купер сказал:

применительно, например, к этому

if self.particle and self.particle:playing() then
  -- do something
end

Возможны нюансы в зависимости от того, что в действительности возвращает метод playing(). Там константа на выходе, теоретически 0 или 1, то есть должна сработать как булевый результат, но лучше проверить или посмотреть в движке.

  • Нравится 1
  • Полезно 2

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

28.03.2025 в 16:58, Kirgudu сказал:

Там константа на выходе, теоретически 0 или 1, то есть должна сработать как булевый результат

В lua (в сталкере) в 99% случаев приведение типов работает корректно, поэтому условие сработает как обычное булевое. Ну а чтобы проверить проигрывающий партикл, да, этот метод и ссылка на собственно партикл (а без ссылки его и не будет, сборщик мусора же).

 

Кстати, в приведенном примере по ссылке ситуация странная - код есть в оригинале, но проблем никогда не было. Да и "он выполняется на каждом обновлении биндера", на самом деле нет, там выше стоит флажок, код под ним выполнится только на первом апдейте. Впрочем, от доп. проверки хуже ему не станет.

  • Полезно 2

Telegram-канал RayTwitty Space

А напомните, пожалуйста, кто-то уже реализовывал же схему поиска артефактов как в ЧН из ЗП, но для ТЧ? Вроде достаточно немного усовершенствовать se_artefact.script?

@Капрал Хикс подобие есть в autumn aurora 2 (вроде чисто на скриптах, если память не изменяет). Более серьезная система в ogsr, но с движковыми правками.

  • Полезно 1

@Fllfll, вроде в Detectors mod 1.0 singapur22 систему поиска поменял, но ссылки дохлые, ищу. Выдирать откуда-то из Соли дело неблагодарное...

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

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

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

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

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

Войти

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

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

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