Короны
Работа с коронами в plugin-sdk.
Основной модуль в Plugin SDK для работы с коронами — CCoronas и класс с таким же именем. Этот класс позволяет создавать и контроллировать короны. Сама корона описана классом CRegisteredCorona
. Класс "CCoronas" содержит указатель на массив этих корон (файл "CCoronas.h").
С этим массивом можно работать так же, как мы это делали ранее в модуле CBulletTraces. Рассмотрим другие переменные класса "CCoronas":
Имя переменной | Тип | Описание |
---|---|---|
SunScreenX | float | Позиция солнца X (экранные координаты) |
SunScreenY | float | Позиция солнца Y (экранные координаты) |
SunBlockedByClouds | bool | "Закрыто" ли солнце облаками |
bChangeBrightnessImmediately | bool | Включить резкое изменение яркости корон (при выключенном режиме они будут "затухать" или "появляться") |
NumCoronas | unsigned int | Кол-во созданных корон в кадре (другими словами, кол-во используемых элементов в массиве aCoronas) |
LightsMult | float | Интенсивность корон |
MoonSize | unsigned int | Размер луны (используется для изменения размера луны при стрельбе в неё из снайперской винтовки) |
В списке функций стоит рассмотреть следующие функции:
Создание короны с указанием текстуры:
Создание короны с указанием типа короны:
Типы корон описаны в перечислении eCoronaType
(файл "CRegisteredCorona.h"):
Рассмотрим параметры этих функций:
Имя параметра | Тип | Описание |
---|---|---|
id | unsigned int | id короны. Для каждой созданной короны в кадре он должен быть уникальным. |
attachTo | CEntity * | игровой субьект, к которому "прицепляется" корона. Если такой субьект указан, координаты (параметр posn) указываются в системе координат этого субьекта (локальный оффсет). Если субьекта нет - используйте NULL. |
red | unsigned char | составляющая цвета R (0-255). |
green | unsigned char | составляющая цвета G (0-255). |
blue | unsigned char | составляющая цвета B (0-255). |
alpha | unsigned char | составляющая цвета A (0-255). |
posn | CVector const & | позиция короны. |
radius | float | размер короны. |
farClip | float | дальность прорисовки короны (дальняя граница отсечения при отрисовке короны). |
texture / coronaType | RwTexture * / unsigned char | текстура или тип короны. |
flare | unsigned char | тип бликов короны (1 или 2, 0 - бликов нет). |
enableReflection | bool | включить отражение короны на мокром асфальте. |
checkObstacles | bool | выполнить проверку на наличие преград между камерой и короной перед отрисовкой (если преграды есть, корона не отрисуется). |
_param_not_used | int | неиспользуемый параметр. |
angle | float | угол короны (также не используется). |
longDistance | bool | корону видно только издалека. |
nearClip | float | ближняя граница отсечения при отрисовке короны. |
fadeState | unsigned char | статус затенения (0 или 255). |
onlyFromBelow | bool | корону видно только тогда, когда камера находится ниже короны. |
reflectionDelay | bool | делать задержку при отрисовке отражения короны. |
Обновление уже созданной короны (в функцию передается параметр - id созданной короны).
Полный код плагина:
Для получения объекта игрока мы использовали функцию FindPlayerPed
(файл "common.h").
Автор: DK22Pac
Last updated