Обновление 0.7.2
Увеличен максимальный онлайн: было 1000, стало 5000 игроков.
Увеличен лимит игроков в зоне стрима: было 64, стало 256.
Разделены лимиты входящих пакетов игрока, управляемых сущностей и native-синхронизации. Настройки добавлены и доступны на сервере:
Python:
# Общий поток: синхронизация игрока, скриптовые события/RPC и управляющие сообщения, пакетов/с.
maxPacketsPerSecond = 120
# Максимальный запас общего потока для кратковременного всплеска, пакетов.
maxPacketBurst = 240
# Синхронизация управляемых сущностей и транспорта, пакетов/с.
maxControlledPacketsPerSecond = 120
# Максимальный запас синхронизации управляемых сущностей и транспорта, пакетов.
maxControlledPacketBurst = 240
# Native-синхронизация: состояния сущностей, запросы стриминга и уведомления об уроне, пакетов/с.
maxNativePacketsPerSecond = 6000
# Максимальный запас native-синхронизации, пакетов.
maxNativePacketBurst = 6000
# Объём native-синхронизации, байт/с — 4 МиБ/с.
maxNativeBytesPerSecond = 4194304
# Максимальный запас native-синхронизации по объёму, байт — 8 МиБ.
maxNativeByteBurst = 8388608
Параметры Burst позволяют принять кратковременный всплеск трафика, не увеличивая постоянную скорость. До авторизации остаётся фиксированный лимит 120 пакетов/с с запасом 30 пакетов
Исправлены реакции NPC на урон.
Исправлены случаи, когда событие pedDeath не срабатывало.
Исправлен запоздалый урон от парных ударов кулаком, когда цель уже вышла из допустимого положения.
Добавлены переносы строк и цветовые коды GTA в TextLabel, например ~r~, ~g~, ~s~ и ~n~.
Исправлены несовпадающие значения значков карты в BlipSprite.
Добавлена возможность задавать dimension и streamed при создании авто, объектов и NPC. Для авто также доступен lockState. Параметры применяются до первой отправки сущности клиентам.
Пример на серверном JavaScript:
JavaScript:
import * as mint from 'mint-server';
const vehicle = new mint.Vehicle(
'sultan',
{ x: 215, y: -810, z: 30 },
{ x: 0, y: 0, z: 0 },
300, // Дистанция стриминга.
false, // Не статическая сущность.
42, // dimension.
false, // streamed: пока не отправлять клиентам.
mint.VehicleLockState.Locked // Машина сразу закрыта.
);
// Когда машина готова к появлению у игроков:
vehicle.streamed = true;
Расширено API drag-and-drop в RmlUi: через eventArgs.drag_element теперь доступен перетаскиваемый элемент.
Пример на клиентском JavaScript для уже созданного RML-документа. В интерфейсе есть элемент drop-zone, у перетаскиваемого элемента настроено свойство drag:
JavaScript:
import * as mint from 'mint-client';
const target = document.getElementByID('drop-zone');
if (!target) throw new Error('Не найден drop-zone');
target.on('dragdrop', (sender, eventArgs) => {
const dragged = eventArgs.drag_element;
if (!dragged) return;
mint.log(`Перенесён ${dragged.rmlId} на ${sender.rmlId}`);
});
Диапазон изменения урона через weaponDamage приведён к 0–10000 для клиентского JavaScript, серверного JavaScript и C#. Значения вне диапазона игнорируются.
Снижена нагрузка на видеокарту при инициализации: добавлено ограничение 60 FPS на этапе запуска и подключения.
Если при запуске GTA требуется авторизация Rockstar, теперь появляется ошибка с предложением войти в Rockstar Games Launcher.