Exports

Tous les exports côté serveur s'appellent via exports['tosun-ac']:NomFonction(...) depuis vos autres scripts. Ci-dessous toutes les fonctions par groupes avec exemples.

1. Whitelist / Exemption

Exempte un joueur des bans/kicks de l'AC.

-- Permanent (jusqu'au redémarrage du serveur)
exports['tosun-ac']:AddWhitelist("license:abc123")
-- Temporaire (secondes) — ID serveur ou license/discord/steam
exports['tosun-ac']:AddWhitelist(12, 300)            -- 5 minutes
exports['tosun-ac']:RemoveWhitelist(12)
local ok = exports['tosun-ac']:IsWhitelisted(source) -- boolean

2. Exemption par zone / activité

Exempte uniquement pendant une activité (parkour, magasin de vêtements, mission).

exports['tosun-ac']:WhitelistArea(source, "parkour", 60)   -- 60s
exports['tosun-ac']:ClearArea(source, "parkour")           -- nettoyer à la fin
local inArea = exports['tosun-ac']:IsInArea(source, "parkour")

3. Bypass par détection

Désactive brièvement une seule détection au lieu de toutes.

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

Clés de détection : antiTeleport, antiNoClip, antiFastRun, antiGodMode, antiAimbot, antiSilentAim, antiInvisible, antiSpectate, antiEntitySpawn… (liste complète : panel → Paramètres AC).

4. Exemption générale (max 5 min)

exports['tosun-ac']:SetPlayerExempt(source, true, 30000, "clothing")
exports['tosun-ac']:SetPlayerExempt(source, false, 0, "clothing")
exports['tosun-ac']:PauseAllDetections(15000)            -- TOUS les joueurs (redémarrage/event)
exports['tosun-ac']:PausePlayerDetections(source, 15000) -- un seul joueur

5. Vérifications 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 OU whitelist
exports['tosun-ac']:addAdmin(source)                       -- ajouter un admin runtime

6. Informations joueur

local info = exports['tosun-ac']:GetPlayerInfo(source)
-- { id, name, ping, license, discord, steam, citizenid, isAdmin, coords, endpoint }
local all = exports['tosun-ac']:getOnlinePlayers()        -- résumé de tous les en ligne
local near = exports['tosun-ac']:GetNearbyPlayers(source, 30.0)

7. Enregistrements ban / détection

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 manuel

exports['tosun-ac']:KickPlayer(target, "Raison")
exports['tosun-ac']:BanPlayerExt(target, "Trolling")   -- pipeline de ban de l'AC (DB+log)
exports['tosun-ac']:ban(target, "Raison")              -- ancien nom

9. Honeypot / faux trigger

-- Empêcher votre propre event de tomber dans le honeypot (event légitime)
exports['tosun-ac']:fakeTriggerWhitelist("mybank:deposit")
-- Transformer un event en piège (celui qui le déclenche est banni)
exports['tosun-ac']:fakeTriggerTrap("admin:giveMoney", "server")

10. Statut / Forensique

local s = exports['tosun-ac']:GetStatus()  -- { version, online, detections, debug, framework }
exports['tosun-ac']:refreshPanelWhitelist()
local alts = exports['tosun-ac']:ForensicLinksOf("abc123")  -- graphe multicompte/évasion de ban (v17)

Scénarios pratiques

-- Magasin de vêtements
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)

-- Minijeu parkour (désactiver seulement teleport+fastrun)
exports['tosun-ac']:BypassDetection(source, { "antiTeleport","antiFastRun","antiSuperJump" }, 120000)

-- Livraison en hélicoptère (par zone)
RegisterNetEvent("missions:start", function(id) exports['tosun-ac']:WhitelistArea(source, "mission_"..id, 600) end)
Notes importantes
  • AddWhitelist est en runtime — réinitialisé au redémarrage. Pour permanent : panel → AC → Whitelist.
  • durationMs max 5 min (SetPlayerExempt / PauseAllDetections / PausePlayerDetections). Pour plus long, WhitelistArea/AddWhitelist (secondes).
  • KickPlayer/BanPlayerExt uniquement depuis des scripts serveur de confiance (pas via un event client).
  • Multichar : après sélection du personnage, TriggerServerEvent('tosun-ac:panel:characterReady').

11. Events côté client

Certaines exemptions peuvent aussi être déclenchées depuis le client (pour les scripts client sans accès aux exports).

-- Demander une exemption temporaire depuis le client (ms, pas secondes ; max 5 min)
TriggerServerEvent('ts_anticheat:requestExempt', 15000, "my_minigame")
-- Multichar : quand la sélection de personnage se termine
TriggerServerEvent('tosun-ac:panel:characterReady')

Formats de paramètres

  • idOrLicense : serverId (number) ou string — license:xxx, discord:xxx, steam:xxx, citizenid
  • durationSec : secondes (Whitelist/Area) · durationMs : millisecondes, max 300000 (5 min) (Exempt/Pause)
  • detectionKey : string unique ou tableau ({ "antiTeleport", "antiNoClip" })

Référence rapide

FonctionRôle
AddWhitelist / RemoveWhitelist / IsWhitelistedExemption permanente/temporaire
WhitelistArea / ClearArea / IsInAreaExemption par activité
BypassDetectionDésactiver une détection brièvement
SetPlayerExempt / PauseAllDetections / PausePlayerDetectionsExemption générale (max 5 min)
isAdmin / getAdminType / IsPlayerProtected / addAdminVérification des permissions
GetPlayerInfo / getOnlinePlayers / GetNearbyPlayersInformations joueur
getBans / getBanInfo / GetDetectionsEnregistrements ban/détection
KickPlayer / BanPlayerExt / banKick/ban manuel
fakeTriggerWhitelist / fakeTriggerTrapHoneypot
GetStatus / refreshPanelWhitelist / ForensicLinksOfStatut / forensique

Test rapide en console : exports.tosun-ac:isAdmin(1) · exports.tosun-ac:GetPlayerInfo(1)

Retour à l'accueil Tosun Dev Docs