Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
amxts 0.3.0 — большое обновление: модуль стал один, ReAPI больше не нужен, а плагины на TypeScript работают не медленнее Pawn.
Главное
amxts — теперь один модуль
В 0.2 было две части: модуль amxts_amxx и плагин-хост amxts_host.amxx в plugins.ini, через который события игры шли в TypeScript. В 0.3 хоста нет: модуль сам слушает игру — команды игроков, сообщения, квары, лог, меню и хуки ReGameDLL/ReHLDS. Между игрой и вашим кодом больше нет Pawn.
Заодно amxts стал быстрее: на каждом замере тестового набора плагин на TypeScript работает как минимум так же быстро, как его двойник на Pawn, а на большинстве — быстрее.
ReAPI не нужен
То, что делали натив ReAPI rg_*, модуль делает сам — через API ReGameDLL, а на чистом HLDS через функции игры. Выдача и отбор оружия, смена команды, возрождение, модели, HUD, текстовые меню, game.restartRound() работают одинаково на:
ReHLDS + ReGameDLL, с ReAPI и без;
обычном HLDS от Valve с metamod-p.
Сервер только загружает, собирает ваш компьютер
Сервер больше ничего не компилирует: он загружает готовые .aot. Собираете npx amxts build и заливаете — или amxts dev / build --deploy делают это сами, как .sma компилируют дома и заливают .amxx. Комплект для сервера стал в разы меньше.
Одна линия — один ABI
Плагин, собранный под 0.3.0, загружается на любом модуле 0.3: 0.3.1, 0.3.2 и дальше. Патч ядра не заставляет ничего пересобирать.
Что нового
Секреты через env() — токен или ключ не попадают в код и в .aot, а читаются на сервере из addons/amxts/.env или окружения:
А каждая команда игрока доходит до события "command", где preventDefault() её останавливает.
Что видит каждый игрок — событие "entityState": меняете то, что сервер шлёт одному игроку про одну сущность, и изменение видит только он.
Плагины, управляющие плагинами — server.plugins: список всех плагинов (TypeScript и Pawn), остановка, запуск, перезагрузка, вызов публичной функции Pawn-плагина.
Storage с типами — new Storage<T>(name) хранит любой интерфейс в JSON и один раз забирает nVault-файл с тем же именем, так что при переносе с Pawn ничего не теряется.
Файлы, загрузки и архивы — файлы читаются и пишутся байтами, fs.extract распаковывает zip: плагин может скачать карту и положить её на место.
Движение игрока — у событий движения есть event.touchCount и event.frameTime: хватает для jump stats без get_pmove из ReAPI.
выстрелы: остановить выстрел или показать его только части игроков;
у amxts dev панель: карта, игроки, FPS, состояние плагинов, клавиши пересборки, смены карты и рестарта раунда; amxts rcon шлёт команду серверу.
Как обновиться
Сначала обновите команду пакетным менеджером проекта:
C-подобный:
npm install -D @amxts/cli@latest
Потом:
C-подобный:
npx amxts upgrade
Он переведёт @amxts/core на 0.3.0 и модули на их версии, перепишет код под изменения API, соберёт проект и поставит модуль 0.3.0 на сервер из AMXTS_SERVER. Что нужно проверить руками, он перечислит в конце. Плагин amxts_host.amxx и папки addons/amxts/tools/ и build/ старого комплекта больше не нужны.
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.