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

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


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

@Hind 
idle_particles        = static\buble_distort00
это вроде партикл который играется всегда, не знаю, можно ли его закомментить, попробуй так сделать:
;idle_particles        = static\buble_distort00

idle_sound            = ambient\fire2                    ;iinoiyiiue caoe
звук, можно тоже попробовать закомментить, но думаю будет вылетать, звук - можно поставить пустой, заглушку, с партиклом так же.

 

 

 

 

 

Скрипт level.tasks
Таблица:
 

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

local jump_level_by_name = {
    l01_escape                = "l02_garbage",
    l02_garbage                = "l03_agroprom",
    l03_agroprom            = "l03u_agr_underground",
    l03u_agr_underground    = "l04_darkvalley",
    l04_darkvalley            = "l04u_labx18",
    l04u_labx18                = "l05_bar",
    l05_bar                    = "l06_rostok",
    l06_rostok                = "l07_military",
    l07_military            = "l08_yantar",
    l08_yantar                = "l08u_brainlab",
    l08u_brainlab            = "l10_radar",
    l10_radar                = "l10u_bunker",
    l10u_bunker                = "l11_pripyat",
    l11_pripyat                = "l12_stancia",
    l12_stancia                = "l12u_sarcofag",
    l12u_sarcofag            = "l12u_control_monolith",
    l12u_control_monolith    = "l12_stancia_2",
    l12_stancia_2            = "l01_escape"
}

Зачем нужна? Какое применение ей?

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

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

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

Как сделать проверку? Типа, если нет n'ого предмета, то не появляется ветка диалога..

И подскажите функцию на отдавание бабок актором пожалуйста

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

  

32 minutes ago, Houdini_one said:

Скрипт level.tasks

В ЗП есть аналогичная таблица в [jump_level.script] и обработчик "найти активную карту, переместиться на сопоставленную с ней следующую карту или на Затон, после чего выйти из игры".

В ЧН такая же схема, только реализованная через if … elseif … вместо таблицы.

В обоих случаях флаг need_jump не выставляется в положение true ни в скриптах, ни в движке. Возможно, это предрелизный тест стабильности прогрузки локаций.

 

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

Шпаргалка

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

@Hind 
        <precondition>dialog_darkvalley.has_babki_1</precondition>

function outmoney(first_speaker, second_speaker)
    dialogs.relocate_money(second_speaker, 2500, "out")
end
 

@Norman Eisenherz можно получается стереть функцию?
Если я изменю названия уровней на свои - ничего не произойдёт?

 

Подскажите функцию, после которой инвентарь гг выпадает возле него и вещи он может их поднять лишь после получения инфопоршня.
Желательно с таблицей в которой можно указать какие вещи не будут выпадать... (квестовые не будут само собой...)

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

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

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

1. Пока нет активации через флаг или инфо, это просто старый тестовый код. Даже при наличии такой активации надо еще разлочить команду для "прыжков" по картам – если не нарушать синтаксис файла, игра никак не реагирует на удаление частей скрипта.

 

2. Сброс предмета: db.actor:drop_item(ссылка на объект).

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

Можно создать список id сброшенных предметов и скидывать их снова через событие actor_binder:on_item_take(obj), если разрешение не получено. В этом случае придется заносить список в pstor для переноса через сейв/загрузку, что при большом количестве предметов может и переполнить pstor (8 кб).

 

Нельзя ли обойтись более простой схемой работы, с перемещением предметов в коробку или сбросом только некоторых предметов?

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

Шпаргалка

Ссылка на комментарий
10 минут назад, Norman Eisenherz сказал:

Даже при наличии такой активации надо еще разлочить команду для "прыжков" по картам

В ОГСР есть.

 

11 минут назад, Norman Eisenherz сказал:

Нельзя ли обойтись более простой схемой работы, с перемещением предметов в коробку или сбросом только некоторых предметов?

Распакованный ТЧ.

sounds/characters_voice/human_03/stalker/talk/stories/story006

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

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

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

Можно отобрать управление через level.disable_input(), потом по таймеру скидывать  предметы раз в секунду или еще как-то, в конце процесса выставить ГГ за дверь и включить телепорт, который будет откидывать ГГ чуть назад, ну или саму дверь сделать неинтерактивной.

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

Шпаргалка

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

@Norman Eisenherz хочу реализовать так:
гг подойдёт к столу, на нём будет закуска (взять нельзя) и водка, вот эти голоса всякие, в один момент эта водка станет доступна, гг как только возьмёт предмет сразу активируется выпивка (тоже не знаю как сделать, что именно водку со стола взял, можно наверное подсекцию создать водки специально), после чего вернётся управление, но вещи забрать всё ещё не получится, гг вылезет через окно.

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

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

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

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

отображений аномалий? Т.е чтобы не было ряби и шума при подходе к ним.

postprocess = -> ; postprocess = в конфиге нужных аномалий  в начале соответствующей строки  ( ";" - знак комментирования для файлов с расширением .ltx). Или просто удалить строку.

 

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

@Houdini_one 

1. Нетпакет проще всего редактировать через подключаемый модуль [m_netpk.script] от Артоса. Флаг "можно брать" хранится в нетпакете по пути data.object_flags + Interactive. Пример действий для сброса флага:

Spoiler
function clear_useful_for_ai( sobj )
	local pk = get_netpk( sobj, 1)				-- [m_netpk] прочитать нетпакет
	local data = pk:get()							-- [m_netpk] вывести данные в таблицу
	data.object_flags = bit_xor( data.object_flags, 8 )		-- двоичное сравнение и сброс флага "интерактивно" на 0 (позиция 8 или 2^3 справа налево: …1xxx или …0xxx –> …0xxx)
			)
	data.object_flags = bit_or( data.object_flags, 8 )			-- то же для поднятия флага при любых исходных значениях
	pk:set( data )									-- [m_netpk] записать данные в нетпакет по измененной таблице
end

 

 

2. Взятие и активация водки: actor_binder:on_item_take(obj) + db.actor:eat(obj) с проверкой "водка в заданной комнате" или "водка с известным id".

 

Для начала, найди и подключи [m_netpk.script] и попытайся сделать один предмет неактивным.

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

Шпаргалка

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

@Norman Eisenherz тяжело понять что ты под спойлером написал.

Модуль подключен в огср изначально, а как сделать то, чтобы предмет выпал из инвентаря у меня лишь такой вариант:
 

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

    if obj:section() == "bolt" then            -- всегда удаляется первым
        restart = true
    end

    if obj:section() == "wpn_ak74" then
        if not restart then
            db.actor:drop_item(obj, db.actor)
        end
    end


Это ты когда-то функцию эту подкидывал, и от изменил одну строчку.
Впрочем, это наверное на апдейт вешать стоило бы - ибо предмет выпадает лишь при загрузке.

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

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

1. Какая именно часть вызывает вопросы: чтение, запись, редактирование значений? Если интересует порядок значений, можно сделать pk:dumpDesc() и отправить полученный текст в сообщение.

2. Это был вариант для transfer_item – в варианте drop_item ГГ указывается только один раз. Проверка на перезапуск (bolt + restart) тоже не требуется.

3. Для тестов можно сделать триггер через расход бинта в actor_binder:use_inventory_item(obj), либо через нажатие клавиши в главном меню – [ui_main_menu.script].

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

Шпаргалка

Ссылка на комментарий
4 минуты назад, Norman Eisenherz сказал:

1. Какая именно часть вызывает вопросы: чтение, запись, редактирование значений?

Да вся, я попросту ничего не понимаю, так как не имел опыта с скриптами совсем.

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

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

Кажется, есть решение: расширенная скриптовая база OGSR. В файле [_g.script] должны быть обработчики set_item_untakeable( item ) и set_item_takeable( item ), которые через дополнительные флаги состояния позволяют управлять статусом предмета.

Примерно так:

local obj = db.actor:object(…)

set_item_untakeable(obj)

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

Шпаргалка

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

@Norman Eisenherz по поиску notepad++ совпадений 0, нет там обработчиков.

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

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

Простой поиск через Ctlr+F в указанном файле не дает совпадений? Строка 1204.

Изменено пользователем Norman Eisenherz

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

Шпаргалка

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

@Norman Eisenherz простой поиск, чистый _g.script что идёт в комплекте с огср, строка 1204:
    local new_point = nil

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

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

Что же у меня за версия тогда? И в OGSE, и в OGSR обработчики флагов состояния есть.

Тогда попробуй просто вызвать метод set_item_untakeable(obj) со ссылкой на существующий объект – если библиотека xrgame.dll изменена, игра должна знать такую конструкцию.

 

Ссылки с фразой global_flags в [_g.script] есть?

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

Шпаргалка

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

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

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

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

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

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

Войти

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

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

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