> For the complete documentation index, see [llms.txt](https://wiki.redmodding.org/scripting-cyberpunk/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.redmodding.org/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events.md).

# Events

Cyber Engine Tweaks has builtin events which can be listened using the `registerForEvent()` function. These listeners must be registered inside the `init.lua` file.

Keep in mind that CET events *are not* game events. For example, [onInit](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/oninit.md) doesn't mean the game the initializing, but rather that CET loaded mods and the game's Scripting API.

If you need to listen for game events, take a look at the [Observers](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/observers.md) functions.

## Definition

```lua
registerForEvent(event, callback)
```

```lua
--
-- registerForEvent()
--
-- @param  string    event     The event name
-- @param  function  callback  The callback function
--
registerForEvent('event', function()
    
    -- event is triggered
    
end)
```

## Events Trigger Sequence

Here is a video showing when events are triggered in real-time:

<figure><img src="https://1927068511-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffwsaoju1TBAUvMpI6NIw%2Fuploads%2F4YydPhkQ9c6MFwFNQ7FV%2Fcet-loading-order-v2.gif?alt=media&amp;token=5fb059ff-8568-40cf-ad6c-c010db4528a5" alt=""><figcaption></figcaption></figure>

## Available Events

{% content-ref url="/pages/qKj6R8kxrP73pem4dIAq" %}
[onInit](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/oninit.md)
{% endcontent-ref %}

{% content-ref url="/pages/uJy07zfpBmRvNEbSnrnL" %}
[onUpdate](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/onupdate.md)
{% endcontent-ref %}

{% content-ref url="/pages/qUsEBC4gHYiHUO4xdddc" %}
[onDraw](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/ondraw.md)
{% endcontent-ref %}

{% content-ref url="/pages/VZQDap4trY5NTkm8bS56" %}
[onOverlayOpen](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/onoverlayopen.md)
{% endcontent-ref %}

{% content-ref url="/pages/DfSR2ewfu4yMJ7aPUI18" %}
[onOverlayClose](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/onoverlayclose.md)
{% endcontent-ref %}

{% content-ref url="/pages/zGbRQAVhVTp6yPlf7W12" %}
[onShutdown](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/onshutdown.md)
{% endcontent-ref %}

{% content-ref url="/pages/G9q7OKPNTW9zBhYx8WB3" %}
[onTweak](/scripting-cyberpunk/cyber-engine-tweaks/cet-functions/events/ontweak.md)
{% endcontent-ref %}
