Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 1
XenoZD

Снова PPEffects

Читал вот эту тему 

Вкратце перескажу, у человека была проблема с вызовом эффекта на экране. Предполагалось, что сам эффект он прописал и при должном вызове он бы сработал. У меня же вопрос другого плана: как я понял, богемы успели обновить всю механику визуальных эффектов, появились (либо я только сейчас заметил) классы типа PPERequesterBank и прочее. Есть ли у кого актуальный способ/пример, как добавить в игру сам эффект? (допустим, банальный эффект сатурации с другим колоритом, без возни с материалами и т.д.)? Как его включить на игроке я уж разберусь, проблема именно в регистрации эффекта

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


Ссылка на сообщение
Поделиться на других сайтах

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

  • 0

Руки дойдут - мб гайд напишу, хотя сам эффект оказался лишь верхушкой айсберга
Вкратце:
1. Нужен свой класс (далее - реквестер) от PPERequester_GamePlayBase, примеры лежат в 3_Game/PPEManager/Requesters. Если это вкл/выкл эффект, нужен только override OnStart(), иначе - кастомная функция, которая влияет на какой-то эффект
Основные функции для управления эффектами - SetTargetValueFloat() и SetTargetValueColor() (до конца не понял - либо первое для эффектов типа размытия, а второе для колоризации, либо обе функции могут относиться к одному эффекту, но у меня так не получилось)
Параметры функций: первые два - уточнение самого эффекта (см. примеры и копай от них), далее для SetTargetValueFloat() флаг, отвечающий за относительность изменений (0.5 буквально или 0.5 от текущего) и следом сам значение условной "силы" эффекта, для SetTargetValueColor() без флага сразу цвет эффекта ({R, G, B, четвёртый должен быть A но я не увидел его импакта на игру}, ОТНОСИТЕЛЕН (0..1), числа выше 1 мне ничего не дали), далее (важно) - приоритет эффекта. Приоритет - int, в примерах используются константы для удобства, момента когда это решает что-то я не нашёл, однако забывать не стоит (как я понял, желательно найти использование этого же эффекта в примерах и выставить такой же приоритет), и последнее - оператор. Для примера - оператор SET сотрёт бывший эффект и запишет новый (например, размытие экрана станет ровно такой силы, какой поставите), ADD добавит к текущему (было 0.2, в функции 0.5 - станет 0.7). Поиск по операторам и найдёте где они все находятся, названия говорят за себя.

2. Реквестер нужно добавить в PPERequesterBank, так же по образу и подобию уже туда добавленных. Тут проблем нет
(Далее дисклеймер - я говорю на своём примере. Данное сообщение всё равно не гайд, а ответ на мой же вопрос, так что понимайте как хотите)

3. Реквестер - часть клиента, потому с теми же эффектами при болезнях нельзя просто взять и добавить реквестер в ModifiersManager (ибо он есть только на сервере). Лучший вариант по-моему через симптомы и StateManager. Пример нынче лежит в 4_World/Classes/PlayerSymptoms/Symptoms/Secondary: BloodLoss.c для понимания управления эффектом в зависимости от чего-то (заодно сразу Classes/TransferValues.c или RPC запросы можете смотреть, если какой-то инфы вдруг не будет на клиенте), Fever.c для понимания управления эффектом от своей переменной (например, времени). И там и там показано как прикрепить эффект к симптому и как его выключить. Соответственно Classes/PlayerSymptoms/StateManager.c для добавления нового симптома в общий список (прочие нюансы по типу идентификтора для симптома надеюсь все уже знают, если нет - вам гайд нужен попроще)

4. В таком виде эффект готов, вызвать его можно включив у игрока симптом. Подбираете нужные для себя условия и

player.GetSymptomManager().QueueUpSecondarySymptom(NewSymptomIDs.MY_SPECIAL_EFFECT)



Надеюсь, ничего не забыл и кому-то ещё это пригодится. Я спать.

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


Ссылка на сообщение
Поделиться на других сайтах





Создайте аккаунт или войдите в него для комментирования

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

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

Зарегистрируйтесь для получения аккаунта. Это просто!

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

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

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

Важная информация

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