HZ Scripts

Exports

HZ-Bets est standalone-first : la logique du coeur et l'interface vivent entierement dans la ressource et exposent un petit contrat stable. Chaque point d'entree (commande, raccourci, PNJ, telephone) appelle la meme porte.

Exports client

exports['HZ-Bets']:OpenBets(tab)   -- open the app. tab is optional: 'events' | 'mybets' | 'admin'
exports['HZ-Bets']:CloseBets()     -- close it
exports['HZ-Bets']:Toggle()        -- open if closed, close if open
exports['HZ-Bets']:IsOpen()        -- boolean

-- or fire the event from anywhere:
TriggerEvent('HZ-Bets:open') -- optionally pass a tab

L'onglet admin ne s'affiche que si le serveur confirme que le joueur est un admin.


Lire le tableau en direct

Le tableau est publie dans GlobalState et est lisible par n'importe quelle ressource — aucun callback necessaire :

local board = GlobalState.hzbets_board      -- { serverNow, active = {…}, settled = {…} }
local scorers = GlobalState.hzbets_scorers  -- top scorers (when OpenLigaDB is on)

C'est exactement ainsi que le compagnon telephone lit les donnees, sans aucun couplage avec les internes de HZ-Bets.


Integration telephone / externe

Un adaptateur telephone n'a besoin d'aucune modification de HZ-Bets. Il :

  1. lit GlobalState.hzbets_board pour le tableau en direct, et
  2. transmet le placement des paris / "mes paris" via les memes callbacks HZ-Bridge que l'interface bureau (le serveur reste l'autorite unique).
Le compagnon officiel HZ-Bets-Phone (qs-smartphone) est exactement cela — un adaptateur leger et securise. Pour faire un deep-link depuis un autre framework telephone, pointez le gestionnaire d'ouverture de son application vers :
exports['HZ-Bets']:OpenBets()
L'interface ne depend jamais de la presence d'un telephone. Qu'elle soit ouverte depuis une commande, un PNJ ou un ecran d'accueil de telephone, elle parle au meme moteur a serveur autoritaire.