OnClientRender: Difference between revisions
m (Revert "onClientRender instead of onClientPreRender" (Mistake)) |
|||
(8 intermediate revisions by 6 users not shown) | |||
Line 9: | Line 9: | ||
The [[event system#Event source|source]] of this event is the client's [[root element]]. | The [[event system#Event source|source]] of this event is the client's [[root element]]. | ||
==Example== | |||
This example makes the camera follow the player in a GTA2-like way. This will be a little bit laggy. If you want the camera to follow something (eg. player or vehicle) then use [[onClientPreRender]] instead. | |||
<syntaxhighlight lang="lua"> | |||
function updateCamera () | |||
local x, y, z = getElementPosition ( localPlayer ) | |||
setCameraMatrix ( x, y, z + 50, x, y, z ) | |||
end | end | ||
addEventHandler("onClientRender",root, | addEventHandler ( "onClientRender", root, updateCamera ) | ||
</syntaxhighlight> | |||
==Warning== | |||
This event and [[onClientPreRender]] will trigger whatever function it is attached to with every frame. Depending on the server's maximum FPS and what your computer might handle - you might end up triggering the function 30-60 times '''per second'''. | |||
As a result, this event may cause severe lag and/or even crashes if not used cautiously. | |||
==See Also== | ==See Also== | ||
===[[Game_Processing_Order|Game Processing Order]]=== | |||
===Other client events=== | ===Other client events=== | ||
{{Client_other_events}} | {{Client_other_events}} | ||
===Client event functions=== | ===Client event functions=== | ||
{{Client_event_functions}} | {{Client_event_functions}} |
Latest revision as of 18:37, 26 May 2024
This event is triggered every time GTA renders a new frame. It is required for the DirectX drawing functions, and also useful for other clientside operations that have to be applied repeatedly with very short time differences between them.
Parameters
None
Source
The source of this event is the client's root element.
Example
This example makes the camera follow the player in a GTA2-like way. This will be a little bit laggy. If you want the camera to follow something (eg. player or vehicle) then use onClientPreRender instead.
function updateCamera () local x, y, z = getElementPosition ( localPlayer ) setCameraMatrix ( x, y, z + 50, x, y, z ) end addEventHandler ( "onClientRender", root, updateCamera )
Warning
This event and onClientPreRender will trigger whatever function it is attached to with every frame. Depending on the server's maximum FPS and what your computer might handle - you might end up triggering the function 30-60 times per second.
As a result, this event may cause severe lag and/or even crashes if not used cautiously.
See Also
Game Processing Order
Other client events
- onClientChatMessage
- onClientConsole
- onClientDebugMessage
- onClientExplosion
- onClientFileDownloadComplete
- onClientHUDRender
- onClientMinimize
- onClientMTAFocusChange
- onClientPedsProcessed
- onClientPlayerNetworkStatus
- onClientPreRender
- onClientRender
- onClientRestore
- onClientTransferBoxProgressChange
- onClientTransferBoxVisibilityChange
- onClientWorldSound
Client event functions
- triggerLatentServerEvent
- triggerServerEvent
- Shared
- addEvent
- addEventHandler
- cancelEvent
- cancelLatentEvent
- getEventHandlers
- getLatentEventHandles
- getLatentEventStatus
- removeEventHandler
- triggerEvent
- wasEventCancelled