Die Exporte und das Ereignis
Beide gibt es nur auf dem Server. Ein Aufruf auf dem Client liefert nil, ohne Fehler und ohne Zeile im Log.
exports.skillry_lizenz:Gilt() --> true | false | nil
exports.skillry_lizenz:Stand() --> Tabelle, nie nil
nil ist eine von drei Antworten und kein Nein
Gilt() gibt nil zurück, solange die erste Antwort aussteht. Wer if not Gilt() then StopResource(…) schreibt, hält seine Ressource in den ersten Sekunden nach jedem Start an. true kommt auch, wenn die Prüfung ganz aus ist — wenn nicht geprüft wird, ist alles erlaubt, und ein eingebauter Baustein darf davon nichts merken.
Stand() gibt immer eine Tabelle:
{
stand = 'aus' | 'unbekannt' | 'gilt' | 'gilt_nicht',
bis = 1790000000, -- oder nil
seit = 1786000000, -- Beginn der Nachfrist
grund = '…', -- oder nil
kontakt = '…',
anhalten = true, -- ob C.Anhalten scharf ist
angehalten = false, -- ob es schon passiert ist
}
Das Ereignis fliegt bei jeder Änderung des Zustands, nicht bei jeder Prüfung — sonst wäre es 24-mal am Tag dieselbe Nachricht, und ein Empfänger, der daraufhin etwas tut, täte es 24-mal.
AddEventHandler('skillry_lizenz:stand', function(stand) … end)
Ein TriggerEvent und ausdrücklich kein RegisterNetEvent
Ein Netz-Ereignis mit diesem Namen könnte jeder Spieler auslösen und damit jeder Ressource erzählen, die Lizenz gelte. Eine Prüfung, die der Geprüfte selbst beantworten kann, ist keine.