> For the complete documentation index, see [llms.txt](https://stigmax.gitbook.io/tfs-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stigmax.gitbook.io/tfs-guide/interface-globalevents/globalevent-revscripts.md).

# Revscriptsys

### Script Structure

> **Constructor**:
>
> * *GlobalEvent(eventName)*
> * > **eventName**: Equivalent to the `name` tag in XML.
>
> **Events**:
>
> * onStartup()
> * onShutdown()
> * onTime(time)
> * onThink(interval)
> * onRecord(current, old)
>
> **Methods**:
>
> * register(): Finalizes the definition of the global event and registers it.
> * type(eventType):
> * > **eventType**: Equivalent to the `type` tag in XML.
> * time(executionTime):
> * > **executionTime**: Equivalent to the `time` tag in XML.
> * interval(executionInterval):
> * > **executionInterval**: Equivalent to the `interval` tag in XML.

### Examples

```lua
local annoyPlayers = GlobalEvent("annoy players")
annoyPlayer:interval(100) -- executes onThink every 100 milliseconds

function annoyPlayers.onThink(interval)
    Game.broadcastMessage("...")    
    return true
end

annoyPlayers:register()
```

```lua
local recordEvent = GlobalEvent("new record")
recordEvent:type("record")

function recordEvent.onRecord(current, old)
    Game.broadcastMessage("New player record: " .. current)    
    return true
end

recordEvent:register()
```
