Colshape (Коллизии)

Описание

Класс Colshape предназначен для управления коллизиями (Colshape) в RAGE:MP. Он позволяет создавать коллизии с различными параметрами настройки, а также настраивать обработку входа и выхода игроков из зоны коллизии.

Подключение библиотеки

Перед использованием необходимо импортировать библиотеку:

import { essentials } from 'ragemp-essentials';

Использование

Создание одной коллизии

Для создания одной коллизии используется метод essentials.colshape.create().

Пример:

essentials.colshape.create(new mp.Vector3(427.95, -981.05, 29.8), 2, {
    onEnter: (player) => {
        console.log(`${player.name} вошел в колшейп`);
    },
    onExit: (player) => {
        console.log(`${player.name} покинул колшейп`);
    },
    marker: { type: 1, color: [255, 0, 0, 100] }
});

Создание нескольких коллизий

Если необходимо создать несколько коллизий, передайте массив координат в essentials.colshape.create().

Пример:

const Coords = [
    new mp.Vector3(1820.113, 3673.207, 34.27),
    new mp.Vector3(-252.971, 6315.504, 32.427),
    new mp.Vector3(427.95, -981.05, 29.8)
];

essentials.colshape.create(Coords, 2, {
    onEnter: (player) => {
        console.log(`${player.name} вошел в колшейп`);
    },
    onExit: (player) => {
        console.log(`${player.name} покинул колшейп`);
    }
});

Интерфейс ColshapeOptions

Определяет настройки, которые могут быть применены к создаваемым коллизиям.

Поля:

  • key (string, необязательное) — Уникальный ключ коллизии.

  • onEnter (function, необязательное) — Функция, вызываемая при входе игрока в коллизии.

  • onExit (function, необязательное) — Функция, вызываемая при выходе игрока из коллизии.

  • marker (boolean | object, необязательное) — Будет ли отображаться маркер над коллизией.

    • type (number) — Тип маркера (по умолчанию 1).

    • color ([number, number, number, number]) — Цвет маркера в формате RGBA (по умолчанию [255, 255, 255, 255]).

Использование маркера

Можно указать параметры маркера, чтобы он отображался в зоне коллизии. Маркер может быть настроен как объект с полями type и color, или как просто булевое значение.

Пример с маркером:

essentials.colshape.create(new mp.Vector3(427.95, -981.05, 29.8), 2, {
    onEnter: (player) => {
        console.log(`${player.name} вошел в колшейп`);
    },
    onExit: (player) => {
        console.log(`${player.name} покинул колшейп`);
    },
    marker: { type: 1, color: [255, 0, 0, 100] }
});

Пример без маркера:

essentials.colshape.create(new mp.Vector3(427.95, -981.05, 29.8), 2, {
    onEnter: (player) => {
        console.log(`${player.name} вошел в колшейп`);
    },
    onExit: (player) => {
        console.log(`${player.name} покинул колшейп`);
    },
    marker: false
});

Примечания:

  • Указывать marker: false необязательно, так как по умолчанию маркер отсутствует.

  • Если требуется отобразить маркер, укажите объект с настройками type и color.

  • Цвет указывается в формате RGBA: [R, G, B, A], где A — прозрачность (от 0 до 255).

Last updated