Exports

Все серверные exports вызываются как exports['tosun-ac']:ИмяФункции(...) из других ваших скриптов. Ниже все функции по группам с примерами.

1. Whitelist / Исключение

Освобождает игрока от банов/киков AC.

-- Навсегда (до перезапуска сервера)
exports['tosun-ac']:AddWhitelist("license:abc123")
-- Временно (секунды) — server ID или license/discord/steam
exports['tosun-ac']:AddWhitelist(12, 300)            -- 5 минут
exports['tosun-ac']:RemoveWhitelist(12)
local ok = exports['tosun-ac']:IsWhitelisted(source) -- boolean

2. Исключение по зоне / активности

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

exports['tosun-ac']:WhitelistArea(source, "parkour", 60)   -- 60с
exports['tosun-ac']:ClearArea(source, "parkour")           -- очистить по завершении
local inArea = exports['tosun-ac']:IsInArea(source, "parkour")

3. Bypass по детекту

Кратко отключает только один детект вместо всех.

exports['tosun-ac']:BypassDetection(source, "antiTeleport", 5000)
exports['tosun-ac']:BypassDetection(source, { "antiTeleport", "antiNoClip" }, 8000)

Ключи детектов: antiTeleport, antiNoClip, antiFastRun, antiGodMode, antiAimbot, antiSilentAim, antiInvisible, antiSpectate, antiEntitySpawn… (полный список: панель → Настройки AC).

4. Общее исключение (макс 5 мин)

exports['tosun-ac']:SetPlayerExempt(source, true, 30000, "clothing")
exports['tosun-ac']:SetPlayerExempt(source, false, 0, "clothing")
exports['tosun-ac']:PauseAllDetections(15000)            -- ВСЕ игроки (перезапуск/ивент)
exports['tosun-ac']:PausePlayerDetections(source, 15000) -- один игрок

5. Проверки админа

if exports['tosun-ac']:isAdmin(source) then ... end
local t = exports['tosun-ac']:getAdminType(source)         -- "tx" | "config" | false
local prot = exports['tosun-ac']:IsPlayerProtected(source) -- админ ИЛИ whitelist
exports['tosun-ac']:addAdmin(source)                       -- добавить админа в runtime

6. Информация об игроке

local info = exports['tosun-ac']:GetPlayerInfo(source)
-- { id, name, ping, license, discord, steam, citizenid, isAdmin, coords, endpoint }
local all = exports['tosun-ac']:getOnlinePlayers()        -- сводка всех онлайн
local near = exports['tosun-ac']:GetNearbyPlayers(source, 30.0)

7. Записи банов / детектов

local bans = exports['tosun-ac']:getBans(100, 0)
local ban  = exports['tosun-ac']:getBanInfo(banID)
local last = exports['tosun-ac']:GetDetections(source, 5)

8. Ручной кик / бан

exports['tosun-ac']:KickPlayer(target, "Причина")
exports['tosun-ac']:BanPlayerExt(target, "Trolling")   -- конвейер бана AC (БД+лог)
exports['tosun-ac']:ban(target, "Причина")             -- старое имя

9. Honeypot / фейковый триггер

-- Не дать своему ивенту попасть в honeypot (легитимный ивент)
exports['tosun-ac']:fakeTriggerWhitelist("mybank:deposit")
-- Превратить ивент в ловушку (кто вызовет — будет забанен)
exports['tosun-ac']:fakeTriggerTrap("admin:giveMoney", "server")

10. Статус / Форензика

local s = exports['tosun-ac']:GetStatus()  -- { version, online, detections, debug, framework }
exports['tosun-ac']:refreshPanelWhitelist()
local alts = exports['tosun-ac']:ForensicLinksOf("abc123")  -- граф мультиаккаунтов/обхода бана (v17)

Практические сценарии

-- Магазин одежды
RegisterNetEvent("clothing:start", function() exports['tosun-ac']:SetPlayerExempt(source, true, 60000, "clothing") end)
RegisterNetEvent("clothing:done",  function() exports['tosun-ac']:SetPlayerExempt(source, false, 0, "clothing") end)

-- Мини-игра паркур (отключить только teleport+fastrun)
exports['tosun-ac']:BypassDetection(source, { "antiTeleport","antiFastRun","antiSuperJump" }, 120000)

-- Доставка на вертолёте (по зоне)
RegisterNetEvent("missions:start", function(id) exports['tosun-ac']:WhitelistArea(source, "mission_"..id, 600) end)
Важные примечания
  • AddWhitelist работает в runtime — сбрасывается при перезапуске. Для постоянного: панель → AC → Whitelist.
  • durationMs макс 5 мин (SetPlayerExempt / PauseAllDetections / PausePlayerDetections). Для дольше — WhitelistArea/AddWhitelist (секунды).
  • KickPlayer/BanPlayerExt только из доверенных серверных скриптов (не через клиентский ивент).
  • Multichar: после выбора персонажа TriggerServerEvent('tosun-ac:panel:characterReady').

11. Клиентские события

Некоторые исключения можно вызвать и с клиента (для клиентских скриптов без доступа к exports).

-- Запросить временное исключение с клиента (мс, не секунды; макс 5 мин)
TriggerServerEvent('ts_anticheat:requestExempt', 15000, "my_minigame")
-- Multichar: когда завершён выбор персонажа
TriggerServerEvent('tosun-ac:panel:characterReady')

Форматы параметров

  • idOrLicense: serverId (number) или строка — license:xxx, discord:xxx, steam:xxx, citizenid
  • durationSec: секунды (Whitelist/Area) · durationMs: миллисекунды, макс 300000 (5 мин) (Exempt/Pause)
  • detectionKey: одна строка или массив ({ "antiTeleport", "antiNoClip" })

Быстрый справочник

ФункцияНазначение
AddWhitelist / RemoveWhitelist / IsWhitelistedПостоянное/временное исключение
WhitelistArea / ClearArea / IsInAreaИсключение по активности
BypassDetectionКратко отключить один детект
SetPlayerExempt / PauseAllDetections / PausePlayerDetectionsОбщее исключение (макс 5 мин)
isAdmin / getAdminType / IsPlayerProtected / addAdminПроверка прав
GetPlayerInfo / getOnlinePlayers / GetNearbyPlayersИнформация об игроке
getBans / getBanInfo / GetDetectionsЗаписи банов/детектов
KickPlayer / BanPlayerExt / banРучной кик/бан
fakeTriggerWhitelist / fakeTriggerTrapHoneypot
GetStatus / refreshPanelWhitelist / ForensicLinksOfСтатус / форензика

Быстрый тест в консоли: exports.tosun-ac:isAdmin(1) · exports.tosun-ac:GetPlayerInfo(1)

На главную Tosun Dev Docs