OnPlayerScreenShot

From Multi Theft Auto: Wiki
Revision as of 22:23, 4 January 2024 by Arran Fortuna (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This event is triggered when the screen capture requested by takePlayerScreenShot has completed.

Parameters

resource theResource, string status, string imageData, int timestamp, string tag
  • theResource: the resource which called takePlayerScreenShot.
  • status: a string containing the status of the event which can be one of these values:
    • "ok" - the image capture was successful and imageData will contain a JPEG image.
    • "disabled" - the image capture failed because the player has disabled screen uploads.
    • "minimized" - the image capture failed because the player has minimized the screen (i.e. alt-tabbed).
    • "error" - the image capture failed because of an unspecified error.
  • imageData: a string which contains the JPEG image data. This can be saved with the file functions, or sent to players with triggerClientEvent or even uploaded to a web site.
  • timestamp: an int representing the server tick count when the capture was taken.
  • tag: a string passed to takePlayerScreenShot.

Source

The source of this event is the player

Example

This example captures the screen of a random player every 2 seconds and shows it to everyone:

Click to collapse [-]
Server
--------------------------------------------------
-- Take screen shot every 2 seconds
function doTakeScreenShot()
    takePlayerScreenShot( getRandomPlayer(), 320, 200 )
end
setTimer(doTakeScreenShot, 2000, 0)

--------------------------------------------------
-- Receive screen shot result
addEventHandler( "onPlayerScreenShot", root,
    function ( theResource, status, pixels, timestamp, tag )
        triggerClientEvent( root, "onMyClientScreenShot", resourceRoot, pixels )  -- Relay to all players
    end
)
Click to collapse [-]
Client
--------------------------------------------------
-- Turn image data into a texture at the client
addEvent("onMyClientScreenShot",true)
addEventHandler( "onMyClientScreenShot", resourceRoot,
    function( pixels )
        if image then
            destroyElement(image)
        end
        image = dxCreateTexture( pixels )
    end
)

--------------------------------------------------
-- Show image
addEventHandler( "onClientRender", root,
    function()
        if image then
            dxDrawImage( 100, 250, 320, 200, image )
        end
    end
)


Requirements

Minimum server version 1.3
Minimum client version n/a

Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version server="1.3" />

See Also

Player events


Event functions