Exports

Todos los exports del lado servidor se llaman como exports['tosun-ac']:NombreFuncion(...) desde tus otros scripts. A continuación, todas las funciones por grupos con ejemplos.

1. Whitelist / Exención

Exime a un jugador de los baneos/kicks del AC.

-- Permanente (hasta reinicio del servidor)
exports['tosun-ac']:AddWhitelist("license:abc123")
-- Temporal (segundos) — ID de servidor o license/discord/steam
exports['tosun-ac']:AddWhitelist(12, 300)            -- 5 minutos
exports['tosun-ac']:RemoveWhitelist(12)
local ok = exports['tosun-ac']:IsWhitelisted(source) -- boolean

2. Exención por zona / actividad

Exime solo durante una actividad (parkour, tienda de ropa, misión).

exports['tosun-ac']:WhitelistArea(source, "parkour", 60)   -- 60s
exports['tosun-ac']:ClearArea(source, "parkour")           -- limpiar al terminar
local inArea = exports['tosun-ac']:IsInArea(source, "parkour")

3. Bypass por detección

Desactiva solo una detección concreta brevemente en lugar de todas.

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

Claves de detección: antiTeleport, antiNoClip, antiFastRun, antiGodMode, antiAimbot, antiSilentAim, antiInvisible, antiSpectate, antiEntitySpawn… (lista completa: panel → Ajustes de AC).

4. Exención general (máx 5 min)

exports['tosun-ac']:SetPlayerExempt(source, true, 30000, "clothing")
exports['tosun-ac']:SetPlayerExempt(source, false, 0, "clothing")
exports['tosun-ac']:PauseAllDetections(15000)            -- TODOS los jugadores (reinicio/evento)
exports['tosun-ac']:PausePlayerDetections(source, 15000) -- un jugador

5. Comprobaciones de admin

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) -- admin O whitelist
exports['tosun-ac']:addAdmin(source)                       -- añadir admin en runtime

6. Información del jugador

local info = exports['tosun-ac']:GetPlayerInfo(source)
-- { id, name, ping, license, discord, steam, citizenid, isAdmin, coords, endpoint }
local all = exports['tosun-ac']:getOnlinePlayers()        -- resumen de todos los online
local near = exports['tosun-ac']:GetNearbyPlayers(source, 30.0)

7. Registros de baneo / detección

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

8. Kick / ban manual

exports['tosun-ac']:KickPlayer(target, "Motivo")
exports['tosun-ac']:BanPlayerExt(target, "Trolling")   -- pipeline de ban del AC (DB+log)
exports['tosun-ac']:ban(target, "Motivo")              -- nombre antiguo

9. Honeypot / trigger falso

-- Evitar que tu propio evento caiga en el honeypot (evento legítimo)
exports['tosun-ac']:fakeTriggerWhitelist("mybank:deposit")
-- Convertir un evento en trampa (quien lo dispare es baneado)
exports['tosun-ac']:fakeTriggerTrap("admin:giveMoney", "server")

10. Estado / Forense

local s = exports['tosun-ac']:GetStatus()  -- { version, online, detections, debug, framework }
exports['tosun-ac']:refreshPanelWhitelist()
local alts = exports['tosun-ac']:ForensicLinksOf("abc123")  -- grafo de multicuentas/evasión (v17)

Escenarios prácticos

-- Tienda de ropa
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)

-- Minijuego de parkour (solo desactivar teleport+fastrun)
exports['tosun-ac']:BypassDetection(source, { "antiTeleport","antiFastRun","antiSuperJump" }, 120000)

-- Entrega en helicóptero (por zona)
RegisterNetEvent("missions:start", function(id) exports['tosun-ac']:WhitelistArea(source, "mission_"..id, 600) end)
Notas importantes
  • AddWhitelist es en runtime — se reinicia al reiniciar. Para permanente: panel → AC → Whitelist.
  • durationMs máx 5 min (SetPlayerExempt / PauseAllDetections / PausePlayerDetections). Para más usa WhitelistArea/AddWhitelist (segundos).
  • KickPlayer/BanPlayerExt solo desde scripts de servidor de confianza (no por evento de cliente).
  • Multichar: tras seleccionar personaje, TriggerServerEvent('tosun-ac:panel:characterReady').

11. Eventos del lado cliente

Algunas exenciones también pueden activarse desde el cliente (para scripts cliente sin acceso a exports).

-- Solicitar exención temporal desde el cliente (ms, no segundos; máx 5 min)
TriggerServerEvent('ts_anticheat:requestExempt', 15000, "my_minigame")
-- Multichar: cuando termina la selección de personaje
TriggerServerEvent('tosun-ac:panel:characterReady')

Formatos de parámetros

  • idOrLicense: serverId (number) o string — license:xxx, discord:xxx, steam:xxx, citizenid
  • durationSec: segundos (Whitelist/Area) · durationMs: milisegundos, máx 300000 (5 min) (Exempt/Pause)
  • detectionKey: string único o array ({ "antiTeleport", "antiNoClip" })

Referencia rápida

FunciónPropósito
AddWhitelist / RemoveWhitelist / IsWhitelistedExención permanente/temporal
WhitelistArea / ClearArea / IsInAreaExención por actividad
BypassDetectionDesactivar una detección brevemente
SetPlayerExempt / PauseAllDetections / PausePlayerDetectionsExención general (máx 5 min)
isAdmin / getAdminType / IsPlayerProtected / addAdminComprobación de permisos
GetPlayerInfo / getOnlinePlayers / GetNearbyPlayersInformación del jugador
getBans / getBanInfo / GetDetectionsRegistros de baneo/detección
KickPlayer / BanPlayerExt / banKick/ban manual
fakeTriggerWhitelist / fakeTriggerTrapHoneypot
GetStatus / refreshPanelWhitelist / ForensicLinksOfEstado / forense

Prueba rápida en consola: exports.tosun-ac:isAdmin(1) · exports.tosun-ac:GetPlayerInfo(1)

Volver al inicio Tosun Dev Docs