GetLatentEventStatus: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 4: Line 4:


==Syntax==
==Syntax==
Server:
 
<section name="Server" class="server" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
table getLatentEventStatus( player thePlayer, int handle )
table getLatentEventStatus( player thePlayer, int handle )
</syntaxhighlight>
</syntaxhighlight>
Client:
===Required Arguments===
*'''thePlayer:''' The player who is receiving the event.
*'''handle:''' A handle previous got from [[getLatentEventHandles]].
</section>
 
<section name="Client" class="client" show="true">
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
table getLatentEventStatus( int handle )
table getLatentEventStatus( int handle )
</syntaxhighlight>
</syntaxhighlight>
===Required Arguments===
===Required Arguments===
*'''thePlayer:''' (Only required if called on the server) The player who is receiving the event.
*'''handle:''' A handle previous got from [[getLatentEventHandles]].
*'''handle:''' A handle previous got from [[getLatentEventHandles]].
</section>


===Returns===
===Returns===
Returns a table with the following info or false if invalid arguments were passed:
Returns a table with the following info or false if invalid arguments were passed:
*'''tickStart:''' A number representing how many ticks until the data transfer starts (Negative means the transfer has already started)
*'''tickStart:''' A number estimating how many ticks until the data transfer starts (Negative means the transfer has already started)
*'''tickEnd:''' A number representing how many ticks until the data transfer completes
*'''tickEnd:''' A number estimating how many ticks until the data transfer completes
*'''totalSize:''' A number representing how many bytes in total this transfer will transfer
*'''totalSize:''' A number representing how many bytes in total this transfer will transfer
*'''percentComplete:''' A number between 0-100 saying how much is done
*'''percentComplete:''' A number between 0-100 saying how much is done


==Example==
==Example==
<section name="Client" class="client" show="true">
The example starts a latent event and outputs the status of the transfer to the client console
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
--TODO
function beginTransfer()
    triggerLatentServerEvent("blah", resourceRoot, myVeryLongString)    -- Start latent event
    myHandle = getLatentEventHandles()[#getLatentEventHandles()]        -- Get last latent event handle
    myTimer = setTimer( updateStatus, 1000, 0 )                        -- Output status once a second
end
 
function updateStatus()
    local status = getLatentEventStatus(myHandle)  -- Get latent event status
    if not status then
        killTimer(myTimer)                          -- getLatentEventStatus returns false when the handle is no longer valid
    else
        outputConsole( "Transfer status:"
            .. " tickStart:" .. tostring(status.tickStart)
            .. " tickEnd:" .. tostring(status.tickEnd)
            .. " totalSize:" .. tostring(status.totalSize)
            .. " percentComplete:" .. tostring(status.percentComplete)
            )
    end
end
</syntaxhighlight>
</syntaxhighlight>
</section>


==Requirements==
==Requirements==

Latest revision as of 06:02, 4 July 2012

Gets the status of one queued latent event.

Syntax

Click to collapse [-]
Server
table getLatentEventStatus( player thePlayer, int handle )

Required Arguments

  • thePlayer: The player who is receiving the event.
  • handle: A handle previous got from getLatentEventHandles.
Click to collapse [-]
Client
table getLatentEventStatus( int handle )

Required Arguments

Returns

Returns a table with the following info or false if invalid arguments were passed:

  • tickStart: A number estimating how many ticks until the data transfer starts (Negative means the transfer has already started)
  • tickEnd: A number estimating how many ticks until the data transfer completes
  • totalSize: A number representing how many bytes in total this transfer will transfer
  • percentComplete: A number between 0-100 saying how much is done

Example

Click to collapse [-]
Client

The example starts a latent event and outputs the status of the transfer to the client console

function beginTransfer()
    triggerLatentServerEvent("blah", resourceRoot, myVeryLongString)    -- Start latent event
    myHandle = getLatentEventHandles()[#getLatentEventHandles()]        -- Get last latent event handle
    myTimer = setTimer( updateStatus, 1000, 0 )                         -- Output status once a second
end

function updateStatus()
    local status = getLatentEventStatus(myHandle)   -- Get latent event status
    if not status then
        killTimer(myTimer)                          -- getLatentEventStatus returns false when the handle is no longer valid
    else
        outputConsole( "Transfer status:"
            .. " tickStart:" .. tostring(status.tickStart)
            .. " tickEnd:" .. tostring(status.tickEnd)
            .. " totalSize:" .. tostring(status.totalSize)
            .. " percentComplete:" .. tostring(status.percentComplete)
            )
    end
end

Requirements

Minimum server version 1.3.0-9.03772
Minimum client version 1.3.0-9.03772

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.0-9.03772" client="1.3.0-9.03772" />

See Also