OnClientRender: Difference between revisions
No edit summary |
m (Revert "onClientRender instead of onClientPreRender" (Mistake)) |
||
(12 intermediate revisions by 10 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
{{Client event}} | |||
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 [[event system#Event source|source]] of this event is the client's [[root element]]. | |||
==Example== | ==Example== | ||
This 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"> | <syntaxhighlight lang="lua"> | ||
function updateCamera () | |||
local x, y, z = getElementPosition ( localPlayer ) | |||
setCameraMatrix ( x, y, z + 50, x, y, z ) | |||
end | |||
addEventHandler ( "onClientRender", root, updateCamera ) | |||
</syntaxhighlight> | </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== | |||
===[[Game_Processing_Order|Game Processing Order]]=== | |||
===Other client events=== | |||
{{Client_other_events}} | |||
===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