Работа с массивами объектов
Работа с массивом следов пуль в plugin-sdk.
Подключение файлов.
#include "CBulletTraces.h"CBulletTraces::aTraces[0] // (или CBulletTraces::aTraces) - 1-ый элемент
CBulletTraces::aTraces[5] // шестой элемент
CBulletTraces::aTraces[9].m_dwCreationTime // время создания 10-го элемента
CBulletTraces::aTraces[i].m_bExists // статус создания i-го элемента// теперь мы можем обращаться к i-ому элементу массива пулей через переменную trace
CBulletTrace *trace = CBulletTraces::aTraces[i];
// проверяем, существует ли эта пуля
if (trace->m_bExists)1. С использованием переменной-счётчика i.
#include "plugin.h"
#include "CBulletTraces.h"
using namespace plugin;
class TestPlugin {
public:
// Функция, которая выполняется при загрузке .asi-плагина.
TestPlugin() {
// Регистрируем нашу функцию
Events::gameProcessEvent += [] {
for (int i = 0; i < MAX_NUM_BULLETTRACES; i++) { // Перебираем 0-15 (MAX_NUM_BULLETTRACES = 16)
// Если след пули существует и его радиус меньше 0,5
if (CBulletTraces::aTraces[i].m_bExists && CBulletTraces::aTraces[i].m_fRadius < 0.5f) {
// Прибавляем 0,01 к радиусу
CBulletTraces::aTraces[i].m_fRadius += 0.01f;
// Если время существования следа пули меньше 3 мс - ставим в 3 мс.
if (CBulletTraces::aTraces[i].m_dwLifeTime < 3000)
CBulletTraces::aTraces[i].m_dwLifeTime = 3000;
// Если прозрачность меньше 255 - ставим в 255.
if (CBulletTraces::aTraces[i].m_nTransparency != 255)
CBulletTraces::aTraces[i].m_nTransparency = 255;
}
}
};
}
} test;2. С использованием в роли счётчика переменной trace
Last updated