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

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

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

4 hours ago, Houdini_one said:

Если в state {0, 1}, что в скриптах типа gulag_escape оставить лишь одно значение (0, день то бишь), то ночью мобы будут уходить в оффлайн?

Нет, у лагеря будет только одно состояние и все. Состояния лагерей никак не связаны с день-ночь или чем-то ещё. Это всего-навсего разные состояния лагеря. А уж что они означают для каждого лагеря - определяешь ты.

 

4 hours ago, Houdini_one said:

Если нет, то каким образом реализовывается дневные-ночные монстры? (ночью онлайн, днём оффлайн).

Раз фигурируют слова онлайн оффлайн, то скорее всего через функции can_switch_online can_switch_offline в se_monster.script

  • Спасибо 1
Ссылка на комментарий
4 часа назад, Houdini_one сказал:

каким образом реализовывается дневные-ночные монстры

Задать условия по времени для состояний, например.

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

function load_job(sj, gname, type, squad, groups)
    --" Кровосос, хоум недалеко на восток от грузовика смерти
    if type == "esc_smart_bloodsucker" then
        -- днём оффлай
        t = { section = "logic@esc_smart_bloodsucker_day",
        idle = 0,
        prior = 5, state = {0},
        online = false,
        in_rest = "", out_rest = ""
        }
        table.insert(sj, t)
        -- ночью резвится
        t = { section = "logic@esc_smart_bloodsucker_night",
        idle = 0,
        prior = 5, state = {1},
        online = true,
        in_rest = "", out_rest = ""
        }
        table.insert(sj, t)
    end

    ...

end

...

function load_states(gname, type)
    if type == "esc_smart_bloodsucker" then
        return function(gulag)
            if db.actor ~= nil then
                if ( level.get_time_hours() >= 3 and level.get_time_hours() <= 21 ) then
                    return 0  -- день
                else
                    return 1  -- ночь
                end
            else
                return gulag.state
            end
        end
    end

    ...

end

 

  • Спасибо 1
  • Согласен 1

Здесь могла быть ваша реклама.

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

@mole venomous обязательно в         t = { section = "logic@esc_smart_bloodsucker_night" писать разную логику?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Houdini_one , думаю нет.

Изменено пользователем mole venomous

Здесь могла быть ваша реклама.

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

Только это будет не ночные дневные монстры, а ночные дневные лагеря. Т.е. разные состояния нужно будет делать всем лагерям, членами которых являются нужные мутанты. Хотя если цель сделать это для парочки конкретных мутантов, то да.

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

Вот у ГГ есть оружие, которое нельзя выбросить с инвентаря.
Но по кнопке G всё равно выбросить возможно.

Как это исправить?

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@macron ну если без шуток то вариант наверное нормальный, только вот как.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Houdini_one Есть вариант: если сброшен объект с заданной секцией, передать его обратно в инвентарь.

actor_binder:on_item_drop(obj) + db.actor:transfer_item(obj, db.actor)

 

Потребуется проверка на начало общей чистки инвентаря при перезагрузке или завершении игры:

Spoiler
[bind_stalker.script]
function actor_binder:on_item_drop(obj)
	
(+)
	if obj:section() == "bolt" then			-- всегда удаляется первым
		restart = true
	end

	if obj:section() == "секция_нужного_предмета" then
		if not restart then
			db.actor:transfer_item(obj, db.actor)
		end
	end

 

 

Вопрос к более опытным: попытка выставить такой же логический флаг в начале обработчика actor_binder:net_destroy() не учитывается. Почему?

  • Смешно 1

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

Шпаргалка

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

@Norman Eisenherz вариант хороший.

Если у меня таких предметов несколько, то просто писать такое несколько раз?:
 

	if obj:section() == "секция_нужного_предмета" then
		if not restart then
			db.actor:transfer_item(obj, db.actor)
		end
	end

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

Лучше создать таблицу и проверять наличие секций в ней:

t = {sect_1 = true, sect_2 = true, …}

if t[ obj:section() ] then

 

Образец: обработка трупов с квестовыми предметами через таблицу keep_items.

 

Если среди секций есть названия с точками и дефисами, обязательно оформить их как текст, чтобы поиск не "споткнулся": ["ammo_5.45x39_ap"] или ["wpn_rg-6"]

 

 

И, по-хорошему, это всё надо перенести в тему "Скриптование".

Изменено пользователем Norman Eisenherz
  • Спасибо 1

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

Шпаргалка

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

@Norman Eisenherz каким образом тогда можно передать предмет из инвентаря другому НПС?
А то ловлю вылет:
 

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

[error]Expression    : e_entity->ID_Parent == id_parent
[error]Function      : xrServer::Process_event_reject
[error]File          : d:\ogsr-engine-main\ogsr_engine\xrgame\xrserver_process_event_reject.cpp
[error]Line          : 38
[error]Description   : wpn_ak74_m3237
[error]Arguments     : single_player

 

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

Ссылка на комментарий
7 часов назад, Houdini_one сказал:

только вот как.

Одновременно стереть "bind drop kG" в config\default_controls.ltx и в user.ltx. 

  • Спасибо 1
Ссылка на комментарий
20 часов назад, Houdini_one сказал:

по кнопке G всё равно выбросить возможно.

Оружие также может быть выбито из рук.

Отношения между людьми- главная ценность в человеческом обществе.
Любая полученная информация- это только повод для размышлений, а не побуждение к действию.
Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAE
Накопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt

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

@aromatizer ну это если такая фича есть, а в тч такого нет.

Как избавиться от данного вылета?
 

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

[error]Expression    : FATAL ERROR
[error]Function      : CResourceManager::_GetBlender
[error]File          : d:\ogsr-engine-main1\ogsr_engine\layers\xrrender\resourcemanager.cpp
[error]Line          : 60
[error]Description   : Shader 'postprocess_cm' not found in library.

Вроде всё просто - добавить подобный шейдер. Но при добавлении его ничего не происходит (брал из шейдеров другого рендера для теста и просто переименовывал любой файл, итог тот же).

Ещё подскажите, почему перчатки не сохраняются при переходе на другую локацию.
Использую этот и этот скрипт.
Регал всё так:
 

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

function actor_binder:item_to_slot(obj)
    if not obj then return end
    local sobj = alife():object(obj:id())
    if not sobj then return end

    ogsr_outfit_arms.on_item_to_slot(obj, sobj)
end

 

function actor_binder:item_to_backpack(obj)
    if not obj then return end
    local sobj = alife():object(obj:id())
    if not sobj then return end

    ogsr_outfit_arms.check_drop(obj, sobj)
end

function actor_binder:on_item_drop (obj)
    ogsr_outfit_arms.check_drop(obj, sobj)
end

Ну и на апдейте:
    -- апдейт худа рук
    ogsr_outfit_arms.on_first_update()

 
Чего не хватает?
Полагаю какой-то проверки в load, но не знаю чего туда добавить.

ищу человека, который смог бы заняться разработкой погоды на OGSR.
кто может помочь - пишите в ЛС.

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

@Houdini_one Если требуется сдавать исключенный предмет по квесту, нужна проверка "переносить предмет обратно, если ГГ не в диалоге с NPC id=…"

Вполне возможно, что хватит проверки на диалог if not db.actor:is_talking() – продажа для квестовых предметов отключена и так.

  • Спасибо 1

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

Шпаргалка

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

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

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

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

Изменено пользователем андрей дронав
Ссылка на комментарий
6 часов назад, андрей дронав сказал:

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

Вот, например, плагин для коммандера: http://wincmd.ru/plugring/stalker_db.html

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

Не знаю где спросить..

 

Возможно ли для ТЧ убрать лимит в 4 звука для звуков шагов? (которые в shaders.xr выбираются)

Еще по теме звуков - есть ли способ избавиться от "зацикливания" звуков шагов?

Даже из этих 4 файлов проигрываются, чаще всего, один-два...

Добавлено  Опричник,

Перемещено.

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

Всем привет. Подскажите, как вывести какой-нибудь (любой) статик (2-3 штуки) с полотна ui_hud в окно инвентаря, что-бы он появлялся/убирался при открытии/закрытии инвентаря? (без скриптов и движка (не шарю)). 
(надеюсь, я понятно изъясняюсь?)

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

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

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

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

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

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

Войти

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

Войти

AMK-Team.ru

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