Документація по incognito streamer - основи

Отже, як уже всім відомо, плагін дозволяє створювати нескінченне число об'єктів / іконок / 3d текстів / пікапів. Велика частина людей використовують лише малу частину того, що може даний плагін. перейдемо до головного.

- Динамічні об'єкти - це об'єкти, пікапи, іконки, 3D тексти, зони, чекпоінти в цілому.
- Динамічні зони - не фізична (в грі) зона. Являє собою тільки точки в просторі.
- Стандартні - це функції плагіна без постфікса Ex.

  • STREAMER_TYPE_OBJECT - об'єкт
  • STREAMER_TYPE_PICKUP - пікап
  • STREAMER_TYPE_CP - чекпоінт
  • STREAMER_TYPE_RACE_CP - гоночний чекпоінт
  • STREAMER_TYPE_MAP_ICON - радарна іконка
  • STREAMER_TYPE_3D_TEXT_LABEL - 3D текст
  • STREAMER_TYPE_AREA - динамічна зона

- Типи динамічних зон -
  • STREAMER_AREA_TYPE_CIRCLE - коло
  • STREAMER_AREA_TYPE_RECTANGLE - прямокутник
  • STREAMER_AREA_TYPE_SPHERE - сфера
  • STREAMER_AREA_TYPE_CUBE - куб
  • STREAMER_AREA_TYPE_POLYGON - полігон
  • STREAMER_OBJECT_TYPE_GLOBAL - глобальний (загальний)
  • STREAMER_OBJECT_TYPE_PLAYER - для певного гравця
  • STREAMER_OBJECT_TYPE_DYNAMIC - динамічний

- Параметри для маніпуляції -
  • E_STREAMER_ATTACHED_OBJECT - прикріплений об'єкт. інформації немає. Стандартний тип: Integer.
  • E_STREAMER_ATTACHED_PLAYER - прикріплений гравець. Використовується для 3D текстів, прикріплених до гравцеві. Стандартний тип: Integer.
  • E_STREAMER_ATTACHED_VEHICLE - транспорт. використовується для взяття / вказівки id транспорту, до якого прикріплений об'єкт / 3D текст / динамічна зона. Стандартний тип: Integer.
  • E_STREAMER_ATTACH_OFFSET_ (X / Y / Z) - офсет. використовується для вказівки / взяття даних по осі. можлива маніпуляція прикріпленого об'єкта до транспорту. Стандартний тип: Float.
  • E_STREAMER_ATTACH_R_ (X / Y / Z) - поворот по осі. схожий з e_streamer_attach_offset_ (x / y / z). Стандартний тип: Float.
  • E_STREAMER_ATTACH_ (X / Y / Z) - немає інформації. можливо, те ж саме, що і e_streamer_attach_offset_ (x / y / z). Стандартний тип: Float.
  • E_STREAMER_COLOR - колір. можливе використання з іконкою (за умови, що тип іконки дорівнює 0) і 3d текстом. Стандартний тип: Integer.
  • E_STREAMER_DRAW_DISTANCE - дистанція промальовування 3D тексту. Стандартний тип: Float.
  • E_STREAMER_EXTRA_ID - додатковий ID. Інформації немає. Стандартний тип: Integer.
  • E_STREAMER_INTERIOR_ID - ID інтер'єру. Доступно для всіх типів. Стандартний тип: Integer.
  • E_STREAMER_ (MAX / MIN) _ (X / Y / Z) - дані мінімальних / максимальних значень. Використовується для динамічних зон типів прямокутник (X, Y) і куб (X, Y, Z). Стандартний тип: Float.
  • E_STREAMER_MODEL_ID - ID моделі. Можливе використання для об'єктів і пікапів. Стандартний тип: Integer.
  • E_STREAMER_MOVE_R_ (X / Y / Z) - значення повороту по осі. Використовується для об'єктів. Стандартний тип: Float.
  • E_STREAMER_MOVE_SPEED - швидкість пересування. Використовується для об'єктів. Стандартний тип: Float.
  • E_STREAMER_MOVE_ (X / Y / Z) - кінцеві точки пересування. Використовується для об'єктів. Стандартний тип: Float.
  • E_STREAMER_NEXT_ (X / Y / Z) - координати наступних точок. Використовується для гоночних чекпоінтів. Стандартний тип: Float.
  • E_STREAMER_PLAYER_ID - ID гравця, якому видно будь-динамічний об'єкт. Використовується для всіх типів. Стандартний тип: Integer.
  • E_STREAMER_R_ (X / Y / Z) - координати повороту по осі. Можливе використання для об'єктів. Стандартний тип: Float.
  • E_STREAMER_SIZE - розмір. Використовується для чекпоінтів, гоночних чекпоінтів і динамічних зон типу коло і сфера як радіус. Стандартний тип: Float.
  • E_STREAMER_STREAM_DISTANCE - дистанція, на якому видно динамічних об'єкт. Стандартний тип: Float.
  • E_STREAMER_STYLE - Вказівка ​​стилю для іконки (схожі з типами об'єктів). Стандартний тип: Integer.
  • E_STREAMER_TEST_LOS - відображення 3D тексту через моделі. Стандартний тип: Integer.
  • E_STREAMER_TYPE - тип. Використовується для іконок, пікапів і динамічних зон. Стандартний тип: Integer.
  • E_STREAMER_WORLD_ID - віртуальний світ. Доступно для всіх типів. Стандартний тип: Integer.
  • E_STREAMER_ (X / Y / Z) - координати. Можливе використання для об'єктів, іконок, пікапів, 3D текстів і динамічних зон типу коло і сфера. Стандартний тип: Float.

- Функції настройки -
  • Streamer_TickRate (rate) - час оновлення для плагіна в мілісекундах. За стандартом - 50 мсек.
  • Streamer_MaxItems (type, items) - максимальне число динамічних об'єктів. За стандартом - не обмежена.
  • Streamer_VisibleItems (type, items) - число динамічних об'єктів, які можливо бачити. Значення є стандартними значеннями SA-MP'а.
  • Streamer_CellDistance (Float: distance) - Ні інформації.
  • Streamer_CellSize (Float: size) - Ні інформації.
  • Streamer_ProcessActiveItems () - Ні інформації.
  • Streamer_ToggleIdleUpdate (playerid, toggle) - функція включення / відключення поновлення динамічних об'єктів для гравця. (True / false. Отже). При цьому динамічні об'єкти, які бачив гравець, буде видно, але не пропадуть.
  • Streamer_ToggleItemUpdate (playerid, type, toggle) - функція включення / відключення поновлення динамічних об'єктів певного типу для гравця.
  • Streamer_Update (playerid) - оновлення гравця щодо плагіна. Використовується, якщо потрібно показати в той же момент створені динамічні об'єкти, тому що при створенні вони з'являються не відразу.
  • Streamer_UpdateEx (playerid, Float: x, Float: y, Float: z, worldid = -1, interiorid = -1) - рівносильно Streamer_Update (playerid). але вже з додатковими параметрами.

- Функції маніпуляції -
  • Data - параметр для маніпуляції, type - тип.
  • Streamer_ (Get / Set) FloatData (type,: id, data, Float: result) - запис / вказівку даних з плаваючою точкою.
  • Streamer_ (Get / Set) IntData (type,: id, data, (value)) - запис / вказівку даних з цілим значенням.
  • Streamer_ (Get / Set) ArrayData (type,: id, data, dest [], maxlength = sizeof dest) - запис / вказівки значення масиву. Дані функції можливо використовувати для динамічних зон типу полігон і динамічних об'єктів, створених через функції з Ex на кінці.
  • Streamer_IsInArrayData (type,: id, data, value) - перевірка на те, що дане значення є в масиві.
  • Streamer_ (Append / Remove) ArrayData (type,: id, data, value) - додавання / видалення з масиву інформації потрібного значення. Це можна використовувати, наприклад, для тимчасового візуального видалення динамічного об'єкта щодо гравця.
  • Streamer_GetUpperBound (type) - Ні інформації.

- Функції динамічних об'єктів -
  • Streamer_GetDistanceToItem (Float: x, Float: y, Float: z, type,: id, Float: distance) - взяття відстані від точки до динамічного об'єкта.
  • Streamer_IsItemVisible (playerid, type,: id) - перевірка на те, що динамічний об'єкт видно гравцеві.
    Примітка: динамічні зони видно тільки при знаходженні гравця в них.
  • Streamer_DestroyAllVisibleItems (playerid, type) - знищення динамічних об'єктів певного типу для гравця.
    Примітка: динамічні об'єкти відновлюються через 50 мсек (або через вказане значення функцією Streamer_TickRate).
  • Streamer_CountVisibleItems (playerid, type) - підрахунок видимих ​​гравцеві динамічних об'єктів певного типу.

- Функції динамічних зон -
  • Основна тема (клікабельно).
  • CreateDynamicPolygon (Float: points [], Float: minz = -FLOAT_INFINITY, Float: maxz = FLOAT_INFINITY, maxpoints = sizeof points, worldid = -1, interiorid = -1, playerid = -1) - створення динамічної зони у вигляді полігону.

- Інформація про полігонах -

В даному плагіні полігон - це в своєму роді призма з багатокутником в основі.
Скріншот
Сторони "підстави" вказуються масивом, де записані координати кожної точки (x1, y1, x2, y2. Xn, yn). Перша і остання точки з'єднуються самі. За стандартним принципом полігонів діє наступне правило:
Скріншот
Де зелена зона - місце дії зони.

Приклад створення полігону:

CreateDynamicPolygon (Float:<3500.0 ,- 3500.0. 367.0 ,- 3500.0>, minZ. maxZ. чісло_точек_умноженное_на_два. worldid. interior, - 1);

Розширені функції є функціями з Ex на кінці. Відмінність їх полягає в тому, що дані записуються одинично, а в масив. Наприклад, звичайною функцією ми можемо вказати тільки один віртуальний світ і один інтер'єр. Але в розширеній за допомогою масиву можна вказати кілька віртуальних світів і інтер'єрів.

CreateDynamicCP (- 1959.4308. 305.3159. 35.4688. 1.5. 1. 0, - 1. 20.0); // Віртуальний світ 1, інтер'єр 0.
CreateDynamicCPEx (380.7783, - 190.5340. 1000.6328. 2.0. 25.0,<35. 45. 75>,<17. 13. 5>,); // Віртуальні світи з ID 35,45,75 і інтер'єри 17,13,5.

Примітка: Порядок розташування вказуються даних відрізняється від стандартних.

- Інформація про маніпуляції даних -

За допомогою маніпуляції даних можна спростити виконання операцій над динамічними об'єктами. Наприклад, у нас є об'єкт, якому потрібно змінити модель. Звичайним способом потрібно видалити даний об'єкт і створити новий на його позиції, що займає від 2-х до 4-х операцій.
За допомогою маніпуляції це виконується однією операцією:

Streamer_SetIntData (STREAMER_TYPE_OBJECT. ID_об'екта. E_STREAMER_MODEL_ID. ID_новой_моделі);

Для параметрів, створених у функціях з постфіксом Ex. так і без нього, а також для точок динамічних зон типу полігон, використовуються функції Streamer_GetArrayData і Streamer_SetArrayData. Наприклад, створений динамічний чекпоінт для гравців з певним ID. Але в якийсь момент потрібно зробити відображення його для всіх. Таким чином, слід змінити дані E_STREAMER_PLAYER_ID на -1 (тобто, для всіх).

Streamer_SetArrayData (STREAMER_TYPE_CP. ID_чекпоінта. E_STREAMER_PLAYER_ID.);

Ще простіше - дописати чи видалити дані. Це діє на всі динамічні об'єкти, як без постфікса Ex. так і з ним.

Streamer_AppendArrayData (STREAMER_TYPE_OBJECT. Object_id. E_STREAMER_PLAYER_ID, - 1); // дописування значення
Streamer_RemoveArrayData (STREAMER_TYPE_OBJECT. Object_id. E_STREAMER_PLAYER_ID, - 1); // видалення значення

Але цей спосіб може зайняти кілька рядків.

- Виклик стандартних callback'ов -

Streamer має функцію виклику стандартних callback'ов. Більшість з них не можна викликати стандартним шляхом.
  • Streamer_CallbackHook (callback,.) - функція виклику.

Існуючі callback'і:

STREAMER_OPC - OnPlayerConnect
STREAMER_OPDC - OnPlayerDisconnect
STREAMER_OPEO - OnPlayerEditObject
STREAMER_OPSO - OnPlayerSelectObject
STREAMER_OPPP - OnPlayerPickUpPickup
STREAMER_OPEC - OnPlayerEnterCP
STREAMER_OPLC - OnPlayerLeaveCP
STREAMER_OPERC - OnPlayerEnterRaceCP
STREAMER_OPLRC - OnPlayerLeaveRaceCP

Сенс їх використання залежить від того, що саме Вам потрібно.

i love you mxIni Mysql

Документація по incognito streamer - основи