5bundle Logo
Tous les produits
TutorielsAvis clientsNos outils (4)
Discord
5bundle Logo

Le seul marketplace GTA 5 RP qui vous donne accès au code source.

Navigation

  • Tous les produits
  • Scripts
  • Mappings
  • Véhicules
  • Bot Discord

Autres

  • Avis clients
  • Tutoriels

Nos Outils

  • Miniature Maker
  • Converter Table
  • Code to Image
  • Structure Generator

© 2026 5bundle. Tous droits réservés. | Crée par LuminosWeb

logo tebex.io

Our checkout process is owned & operated by Tebex Limited, who handle product fulfilment, billing support and refunds.

ImpressumTerms & ConditionsPrivacy Policy

Configuration

Numéros de ligne
32px
880
14px
1024

Export

callback_client.lua
1
2Callback = {}
3
4local Requests = {}
5local RequestId = 0
6
7local TIMEOUT = 5000 -- ms
8
9--- Permet de récuperer des données depuis le serveur
10---@param name string
11---@param ... args
12---@return unknown
13function Callback.Trigger(name, ...)
14    local p = promise.new()
15
16    local id = RequestId
17    RequestId = RequestId + 1
18
19    Requests[id] = {
20        promise = p,
21        time = GetGameTimer()
22    }
23
24    TriggerServerEvent("cb:trigger", name, id, ...)
25
26    -- timeout protection
27    SetTimeout(TIMEOUT, function()
28        if Requests[id] then
29            Requests[id].promise:resolve(nil)
30            Requests[id] = nil
31            print("[Callback] Timeout:", name)
32        end
33    end)
34
35    return Citizen.Await(p)
36end
37
38RegisterNetEvent("cb:response", function(id, ...)
39    local req = Requests[id]
40
41    if not req then return end
42
43    req.promise:resolve(...)
44    Requests[id] = nil
45end)
46