Информация Гайд Arizona API | Библиотека для работы с Arizona Trilogy

ARMOR

Adopt ArturDilbarov
Автор темы
Модератор
4,917
6,630
Arizona API - Библиотека для TrilogyLoader, разрешающая работать с Мультиплеером Arizona Trilogy с помощью Lua.

  • Установка
  • Для установки переместите ArizonaAPI.dll с вложений темы по пути Arizona Launcher/bin/trilogy/Client/CommunityMods. Если папки CommunityMods нет - создайте её.
  • В ту же папку переместите TrilogyLoader.asi и измените формат файла на .dll, после чего установка .lua скриптов будет происходить по пути Arizona Launcher/bin/Game/Gameface/Binaries/Win64/TrilogyLoader
  • Текущие возможности
  • На текущий момент API предоставляет такие возможности
  • Функции:
Lua:
-- Функции для работы с чатом
sampAddChatMessage(string szString, int nColor) -- Отпарвка визуального сообщения в чат
sampSendChat(string szString) -- Отправка сообщения в серверный чат от лица локального игрока
sampSendCommand(string szCommand) -- Отправка команды в чат
sampRegisterChatCommand(string szString, function callback) -- Регистрация чат команды

-- Функции для работы с игроками
local nId = sampGetLocalPlayerId() -- Возвращает ID локального игрока
local nColor = sampGetPlayerColor(int nId) -- Возвращает цвет игрока по его ID
local szNickName = sampGetPlayerNickName(int nId) -- Возвращает ник игрока по его ID
local bIsAFK = sampIsPlayerAFK(int nId) -- Проверяет находится ли игрок АФК
local bIsConnected = sampIsLocalPlayerConnected() -- Проверяет подключены ли вы к серверу

-- Функции для работы с браузером
executeUIBrowserJSCode(szCode) -- Отправляет JS код браузеру
sendUIBrowserMessage(szMessage) -- Отправляет сообщение обработчику браузера

-- Прочие функции
int nVersion = getArizonaAPIVersion() -- Возвращает текущую версию API

  • Ивенты
Lua:
-- Ивенты которые нельзя отклонять
onStateChanged(int oldState, int newState) -- Ивент на смену статуса игры
onServerJoin(int nId) -- Ивент на подключение к серверу
onServerQuit(int nId) -- Ивент на отключение от сервера
onWorldPlayerAdd(int nId) -- Ивент на создание игрока в зоне стрима
onWorldPlayerRemove(int nId) -- Ивент на удаление игрока из зоны стрима
onWorldPlayerDeath(int nId) -- Ивент на смерть игрока
onWorldVehicleAdd(int nId) -- Ивент на создание транспорта в зоне стрима
onWorldVehicleRemove(int nId) -- Ивент на удаление транспорта из зоны стрима
onSetPlayerColor(int nId, int nColor) -- Ивент на установку цвета игроку
onSetPlayerName(int nId, string szName) -- Ивент на установку ника игроку

-- Ивенты которые разрешают отклонять их работу через return false
onClientMessage(string szMessage, int nColor) -- Ивент на добавление клиентского сообщения в чат
onWorldTime(int nHour) -- Ивент на смену времени
onSetTimeEx(int nHour, int nMinute) -- Ивент на смену времени учитывая минуты
onWeather(int nWeather) -- Ивент на смену погоды
onSetCheckpoint(float x, float y, float z, float radius) -- Ивент на установку чекпоинта
onDisableCheckpoint() -- Ивент на отключение чекпоинта
onSetRaceCheckpoint(int nType, float x, float y, float z, float targetX, float targetY, float targetZ, float radius) -- Ивент на установку гоночного чекпоинта
onDisableRaceCheckpoint() -- Ивент на отключение гоночного чекпоинта
onUIBrowserJSCodeExecute(string szCode) -- Ивент на выполнение JS кода ( Типо CEF и т.д )
onSendUIBrowserMessage(string szMessage) -- Ивент на отправку сообщения браузеру
onCommand(string szCommand) -- Ивент на отправку команды в чат

  • Пример кода
Lua:
require("ArizonaAPI") -- Подключение библиотеки

function getPlayerInfo(arg)
    local nId = tonumber(arg)
    local nickName = sampGetPlayerNickName(nId)
    local color = sampGetPlayerColor(nId)
    sampAddChatMessage(string.format("Игрок: %s[%d]. Цвет ника: %X", nickName, nId, color), 0xFFFFFFFF)
end

function main()
    sampRegisterChatCommand("printInfo", getPlayerInfo)
end

function onClientMessage(message, color)
    if message:find("MyText") then
        return false
    end
end

function onServerJoin(playerId)
    local nickName = sampGetPlayerNickName(playerId)
    sampAddChatMessage(string.format("Игрок: {9E86F2}%s[%d]{FFFFFF} подключился к серверу!", nickName, playerId), 0xFFFFFFFF)
end

function onServerQuit(playerId)
    -- Никнейм получить вы не сможете
    sampAddChatMessage(string.format("Игрок с ID: {CFF290}%d{FFFFFF} отключился от сервера!", playerId), 0xFFFFFFFF)
end

function onWorldVehicleAdd(vehicleId)
    sampAddChatMessage(string.format("В зоне стрима появился транспорт с ID: {F2A1A1}%d!"), 0xFFFFFFFF)
end

Так же будет просьба писать сюда то чего не хватает в API, дабы я мог попросить у Аризоны ещё возможностей и добавил их в API. Только не просите такой функционал который поможет вам писать читы, это бесполезно.

Автор: @ARMOR
Отдельная благодарность:
  • TrilogyDev
  • Arizona Games ( За предоставление SDK для работы с их мультиплеером )
 

Вложения

  • ArizonaAPI.dll
    975.5 KB · Просмотры: 20
Последнее редактирование:

976h

Активный
182
47
Arizona API - Библиотека для TrilogyLaoder разрешающая работать с Мультиплеером Arizona Trilogy с помощью Lua.

  • Установка
  • Для установки переместите ArizonaAPI.dll с вложений темы по пути Arizona Launcher/bin/trilogy/Client/CommunityMods. Если папки CommunityMods нет - создайте её.
  • В ту же папку переместите TrilogyLoader.asi и измените формат файла на .dll, после чего установка .lua скриптов будет происходить по пути Arizona Launcher/bin/Game\Gameface\Binaries\Win64\TrilogyLoader
  • Текущие возможности
  • На текущий момент API предоставляет такие возможности
  • Функции:
Lua:
-- Функции для работы с чатом
sampAddChatMessage(string szString, int nColor) -- Отпарвка визуального сообщения в чат
sampSendChat(string szString) -- Отправка сообщения в серверный чат от лица локального игрока
sampSendCommand(string szCommand) -- Отправка команды в чат
sampRegisterChatCommand(string szString, function callback) -- Регистрация чат комманды

-- Функции для работы с игроками
local nId = sampGetLocalPlayerId() -- Возвращает ID локального игрока
local nColor = sampGetPlayerColor(int nId) -- Возвращает цвет игрока по его ID
local szNickName = sampGetPlayerNickName(int nId) -- Возвращает ник игрока по его ID
local bIsAFK = sampIsPlayerAFK(int nId) -- Проверяет находится ли игрок АФК
local bIsConnected = sampIsLocalPlayerConnected() -- Проверяет подключены ли вы к серверу

  • Ивенты
Lua:
-- Ивенты которые нельзя отклонять
onStateChande(int oldState, int newState) -- Ивент на смену статуса игры
onServerJoin(int nId) -- Ивент на подключение к серверу
onServerQuit(int nId) -- Ивент на отключение от сервера
onWorldPlayerAdd(int nId) -- Ивент на создание игрока в зоне стрима
onWorldPlayerRemove(int nId) -- Ивент на удаление игрока из зоны стрима
onWorldPlayerDeath(int nId) -- Ивент на сметь игрока
onWorldVehicleAdd(int nId) -- Ивент на создание транспорта в зоне стрима
onWorldVehicleRemove(int nId) -- Ивент на удаление транспорта из зоны стрима
onSetPlayerColor(int nId, int nColor) -- Ивент на установку цвета игроку
onSetPlayerName(int nId, string szName) -- Ивент на установку ника игроку

-- Ивенты которые разрешают отклонять их работу через return false
onClientMessage(string szMessage, int nColor) -- Ивент на добавление клиентского сообщения в чат
onWorldTime(int nHour) -- Ивент на смену времени
onSetTimeEx(int nHour, int nMinute) -- Ивент на смену времени учитывая минуты
onWeather(int nWeather) -- Ивент на смену погоды
onSetCheckpoint(float x, float y, float z, float radius) -- Ивент на установку чекпоинта
onDisableCheckpoint() -- Ивент на отключение чекпоинта
onSetRaceCheckpoint(int nType, float x, float y, float z, float targetX, float targetY, float targetZ, float radius) -- Ивент на установку гоночного чекпоинта
onDisableRaceCheckpoint() -- Ивент на отключение гоночного чекпоинта
onUIBrowserJSCodeExecute(string szCode) -- Ивент на выполнение JS кода ( Типо CEF и т.д )
onSendUIBrowserMessage(string szMessage) -- Ивент на отправку сообщения браузеру

  • Пример кода
Lua:
require("ArizonaAPI") -- Подключение библиотеки

function getPlayerInfo(arg)
    local nId = tonumber(arg)
    local nickName = sampGetPlayerNickName(nId)
    local color = sampGetPlayerColor(nId)
    sampAddChatMessage(string.format("Игрок: %s[%d]. Цвет ника: %X", nickName, nId, color))
end

function main()
    sampRegisterChatCommand("printInfo", getPlayerInfo)
end

function onClientMessage(message, color)
    if message.find("MyText") then
        return false
    end
end

function onServerJoin(playerId)
    local nickName = sampGetPlayerNickName(playerId)
    sampAddChatMessage(string.format("Игрок: {9E86F2}%s[%d]{FFFFFF} подключился к серверу!", nickName, playerId), 0xFFFFFFFF)
end

function onServerQuit(playerId)
    -- Никнейм получить вы не сможете
    sampAddChatMessage(string.format("Игрок с ID: {CFF290}%d{FFFFFF} отключился от сервера!", playerId), 0xFFFFFFFF)
end

function onWorldVehicleAdd(vehicleId)
    sampAddChatMessage(string.format("В зоне стрима появился транспорт с ID: {F2A1A1}%d!"), 0xFFFFFFFF)
end

Так же будет просьба писать сюда то чего не хватает в API, дабы я мог попросить у Аризоны ещё возможностей и добавил их в API. Только не просите такой функционал который поможет вам писать читы, это бесполезно.

Автор: @ARMOR
Отдельная благодарность:
  • TrilogyDev
  • Arizona Games ( За предоставление SDK для работы с их мультиплеером )
ЧООооотко
 

Willy4ka

Unknown user
Проверенный
338
640
можно функционал, который поможет написать мне чит, пожалуйста
 

ARMOR

Adopt ArturDilbarov
Автор темы
Модератор
4,917
6,630
UP:
- Пофиксил краш игры если ивенты не возвращали true или false
- Добавил ивент на onCommand
- Добавил функцию executeUIBrowserJSCode