OnPlayerResourceStart: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Update version)
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Server event}}
{{Server event}}
{{Added feature/item|3.0159|1.5.8|1.5.8|20957|This event is triggered when a [[resource]] is loaded clientside for a [[player]]}}
{{Added feature/item|1.5.9|1.5.8|20957|This event is triggered when a [[resource]] has loaded client-side for a [[player]].}}
__NOTOC__
__NOTOC__
==Parameters==
==Parameters==
Line 7: Line 7:
</syntaxhighlight>  
</syntaxhighlight>  


*'''loadedResource''': The [[resource]] that was loaded on the client
*'''loadedResource''': The [[resource]] that was loaded on the client.


==Source==
==Source==
Line 13: Line 13:


==Example==
==Example==
This example shows how you can trigger a custom event clientside defined in the same resource as soon as the player is ready (resource loaded on client).
This example shows how you can trigger a custom event client-side defined in the same resource as soon as the player is ready (resource loaded on client):
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler("onPlayerResourceStart", root, function(loadedResource)
function onPlayerResourceStart(startedResource)
outputChatBox(getResourceName(loadedResource) .. " started for " .. getPlayerName(source))
local resourceName = getResourceName(startedResource)
local playerName = getPlayerName(source)
local matchingResource = (startedResource == resource) -- 'resource' is predefined variable, see: https://wiki.multitheftauto.com/wiki/Predefined_variables_list#MTA_Predefined_variables
local chatMessage = (resourceName.." has started for "..playerName)


-- Trigger a custom clientside event defined in this resource
outputChatBox(chatMessage) -- display message when any resource starts for player
if (getResourceRootElement(loadedResource) == resourceRoot) then
 
triggerClientEvent(source, "onClientCustomEvent", source)
if (not matchingResource) then -- check if startedResource matches current, if it doesn't do not trigger custom event
return false
end
end
end)
 
triggerClientEvent(source, "onClientCustomEvent", resourceRoot) -- send a custom clientside event defined in this resource, for specific player (source) only
end
addEventHandler("onPlayerResourceStart", root, onPlayerResourceStart)
</syntaxhighlight>
</syntaxhighlight>



Latest revision as of 22:43, 15 October 2023

This event is triggered when a resource has loaded client-side for a player.

Parameters

resource loadedResource
  • loadedResource: The resource that was loaded on the client.

Source

The source of this event is the player who loaded the resource.

Example

This example shows how you can trigger a custom event client-side defined in the same resource as soon as the player is ready (resource loaded on client):

function onPlayerResourceStart(startedResource)
	local resourceName = getResourceName(startedResource)
	local playerName = getPlayerName(source)
	local matchingResource = (startedResource == resource) -- 'resource' is predefined variable, see: https://wiki.multitheftauto.com/wiki/Predefined_variables_list#MTA_Predefined_variables
	local chatMessage = (resourceName.." has started for "..playerName)

	outputChatBox(chatMessage) -- display message when any resource starts for player

	if (not matchingResource) then -- check if startedResource matches current, if it doesn't do not trigger custom event
		return false
	end

	triggerClientEvent(source, "onClientCustomEvent", resourceRoot) -- send a custom clientside event defined in this resource, for specific player (source) only
end
addEventHandler("onPlayerResourceStart", root, onPlayerResourceStart)

Requirements

Minimum server version 1.5.8-9.20957
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.5.8-9.20957" />

See Also

Resource events


Event functions