Короны
Работа с коронами в 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