Добро пожаловать на RAGEM.RU

Все для RageMP GTA 5

JS Добавляем маркеры и чекпоинты на сервер rage:mp

Appi

Пробегом тут
Випка
Команда форума
Куратор портала
Регистрация
27.03.2023
Сообщения
226
Реакции
168
Баллы
80
🪙 RC
316
В этом уроке рассмотрим работу с маркерами и чекпоинтами в rage mp.

Маркеры

Для создания маркера используется метод mp.markers.new

JavaScript:
mp.markers.new(type, position, scale,
{
direction: direction,
rotation: rotation,
color: color,
visible: visible,
dimension: dimension
});
У нас 3 обязательных аргумента:
  • type - внешний вид маркера. Всего 45 вариантов их список можно посмотреть на wiki.
  • position - объект типа Vector3 с координатами точки в которой должен стоять маркер.
  • scale - размер маркера. Можно делать маркеры разных размеров, управляя этим через scale.
Пример использования:

JavaScript:
mp.markers.new(1, {x: -412.3, y: 1218.3, z: 324.7}, 2);

1.png


Стандартно маркер идет белого цвета, но мы можем поменять его при помощи опциональных параметров.

JavaScript:
mp.markers.new(1, {x: -412.3, y: 1218.3, z: 324.7}, 2, {
color: [255, 0, 0, 100] // [красный, зеленый, синий, альфа]
});

2.png


Также мы можем поменять direction и rotation (очевидно что только не у всех маркеров это будет иметь смысл), а также скрыть маркер через visible или перенести в другое измерение dimension.

При необходимости мы можем поменять свойства маркера уже после его создания. Все свойства можно поменять напрямую, например, marker.scale = 10;. Исключение составляет только цвет, его можно поменять при помощи специального метода setColor:
JavaScript:
marker.setColor(r, g, b, a);


Чекпоинты
Гоночные чекпоинты выделены в отдельную сущность и создаются другим методом. Но по сути имеют тот же набор аргументов (за исключением rotation, они всегда круглые и их нет смысла крутить).
JavaScript:
mp.checkpoints.new(1, {x: -412.3, y: 1218.3, z: 324.7}, 2);
3.png

В остальном не вижу особых отличий от маркеров с плане создания и параметров.


Определение попадания в маркер / чекпоинт
Главное отличие между маркерами и чекпоинтами состоит в способе определения попадания в них игрока. Для чекпоинтов доступны следующие события:
playerEnterCheckpoint
playerExitCheckpoint

Например,

JavaScript:
mp.events.add("playerEnterCheckpoint", (player, checkpoint) => {
// Код сработает при попадании игрока в чекпоинт
});

Для маркеров же таких событий нет (по крайней мере на википедии они не задокументированы). Поэтому для маркеров принято дополнительно создавать колшейпы - невидимые области на карте разных форм, пересечение с которыми можно засечь и для этого есть отдельные события:
playerEnterColshape
playerExitColshape

Мы просто ставим колшейп того же размера и формы что и маркер на одни координаты. И когда игрок попадает в колшейп, то это равнозначно попаданию в маркер. Пример такой реализации можно посмотреть в уроке по созданию скрипта работы дальнобойщика.
 

Все для RAGE:MP

Все для RAGE:MP. Портал о мультиплеере. Подумывали об том «как создать гта 5 сервер?» или «скачать готовый сервер rage mp?» на нашем сайте вы найдете очень много полезных ресурсов для RAGE:MP: готовые сервера, скрипты, моды, карты, шаблоны сайтов, мануалы и уроки, помощь в разработке, услуги скриптеров и других специалистов в сфере RAGE Multiplayer.

RAGE Multiplayer

Объединитесь с другими игроками, создайте свой сервер, сообщество или новый игровой режим. В RAGE Multiplayer вас ждут безграничные возможности и беспрецедентный контроль. Пусть ваше воображение будет единственным горизонтом.

Сайт входит в группу проектов GTA V MP
Верх