Плавное затемнение экрана

Активный
Статус
Оффлайн
Сообщения
744
Лайки
378

10

месяц на сайте

Скрипт позволяет использовать плавно затухающий и проявляющий TextDraw на весь экран для переключения игрока между игровыми сценами. Подключать необходимо после стандартных библиотек.

Pawn:
#include <background>

Основная функция:

Pawn:
TogglePlayerBackground(playerid, const function[]="", pause=DEFAULT_BACKGROUND_INTERVAL, Float:x=0.0, Float:y=0.0, Float:z=0.0, Float:a=0.0, world=0, int=0, const string[]="LD_SPAC:white")

  • playerid - ID игрока
  • function - имя функции, которая будут вызываться при затемнении (необязательный параметр)
  • pause - время паузы после полного затухания в миллисекундах (необязательный параметр)
  • x - координата для перемещения по оси x (необязательный параметр)
  • y - координата для перемещения по оси y (необязательный параметр)
  • z - координата для перемещения по оси z (необязательный параметр)
  • a - координата для перемещения по оси a (необязательный параметр)
  • world - виртуальный мир для перемещения (необязательный параметр)
  • int - интерьер для перемещения (необязательный параметр)
  • string - спрайт, который будет создан для игрока (необязательный параметр)

Дополнительная функция:

Pawn:
TogglePlayerBackgroundTeleport(playerid, Float:x, Float:y, Float:z, Float:a, world=0, int=0, const function[]="", pause=DEFAULT_BACKGROUND_INTERVAL, const string[]="LD_SPAC:white")

  • playerid - ID игрока
  • x - координата для перемещения по оси x
  • y - координата для перемещения по оси y
  • z - координата для перемещения по оси z
  • a - координата для перемещения по оси a
  • world - виртуальный мир для перемещения (необязательный параметр)
  • int - интерьер для перемещения (необязательный параметр)
  • function - имя функции, которая будут вызываться при затемнении (необязательный параметр)
  • pause - время паузы после полного затухания в миллисекундах (необязательный параметр)
  • string - спрайт, который будет создан для игрока (необязательный параметр)

Настройки по умолчанию:
Pawn:
#define DEFAULT_BACKGROUND_INTERVAL 1000
#define BACKGROUND_INTERVAL 25

Получение статуса:

Pawn:
GetBackgroundStatus() // возможно использовать только внутри OnBackground

Доступные статусы:


  • BACKGROUND_STATUS_BEGIN - начало затемнения
  • BACKGROUND_STATUS_SHADED - экран полностью затемнён
  • BACKGROUND_STATUS_END - экран полностью просветлён
Дополнительные настройки:

Pawn:
#define BACKGROUND_SETTING_SHADING    // BACKGROUND_STATUS_SHADING - экран затемняется
#define BACKGROUND_SETTING_LIGHTING   // BACKGROUND_STATUS_LIGHTING - экран просветляется
#define BACKGROUND_SETTING_OFF_TELEPORT // отключение функций перемещения игрока

Особенности:

  • Настройка времени затемнения для каждого игрока отдельно
  • Использование PlayerText для создания фона
  • На некоторых сборках игры спрайт LD_SPAC:white не меняет прозрачность



Pawn:
public OnPlayerConnect(playerid)
{
    TogglePlayerSpectating(playerid, true);
    TogglePlayerBackground(playerid, BG:ConnectPlayer, 3500);

    return 1;
}

Pawn:
OnBackground ConnectPlayer(playerid)
{
    switch(GetBackgroundStatus())
    {
        case BACKGROUND_STATUS_SHADED:
        {
            InterpolateCameraPos(playerid, 0.0, 0.0, 20.0, 500.0, 1500.0, 150.0, 10000, CAMERA_MOVE);
            InterpolateCameraLookAt(playerid, 0.0, 100.0, 30.0, 400.0, 1400.0, 120.0, 10000, CAMERA_MOVE);
        }
        
        case BACKGROUND_STATUS_END:
        {
            SendClientMessage(playerid, -1, !"Добро пожаловать!");
        }
    }

    return 1;
}
 

Вложения

  • background.inc
    8.9 KB · Просмотры: 1

1 человек читают эту тему (Всего: 1, Пользователей: 0, Гостей: 1)

Сверху