HasElementData

From Multi Theft Auto: Wiki
Revision as of 18:16, 20 March 2020 by Botder (talk | contribs) (Credits: Lordmau5)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This function checks if an element has element data available under a certain key.

Syntax

bool hasElementData ( element theElement, string key [, bool inherit = true] )

OOP Syntax Help! I don't understand this!

Method: element:hasData(...)


Required Arguments

  • theElement: This is the element with data you want to check.
  • key: The name of the element data entry you want to check for. (Maximum 31 characters.)

Optional Arguments

  • inherit: - toggles whether or not the function should go up the hierarchy to find the requested key in case the specified element doesn't have it.

Returns

This function returns true if the element contains element data for key, or false if the element doesn't exist or there is no data associated with the key.

Example

This example outputs a player's favorite animal using a console function 'favoriteAnimal' if they have one set.

Click to collapse [-]
Server
function favoriteAnimal ( source, commandName, playerName )
	if ( playerName ) then -- see if a player was specified
		thePlayer = getPlayerFromName ( playerName ) -- get the player element for the specified player
		if ( thePlayer ) then -- if one was found...
			if ( hasElementData ( thePlayer, "favoriteAnimal" ) ) then -- check if the player has a favorite animal set
				local favoriteAnimal = getElementData ( thePlayer, "favoriteAnimal" ) -- get the player's favorite animal
				outputChatBox ( getPlayerName ( thePlayer ).."'s favorite animal is: "..favoriteAnimal, source ) -- output the player's favorite animal
			else
				outputChatBox ( getPlayerName ( thePlayer ).." does not have a favorite animal!", source ) -- output the player's lack of a favorite animal
			end
		else
			outputChatBox ( "Couldn't find '" .. playerName .. "'", source ) -- display an error
		end
	else
		if ( hasElementData ( source, "favoriteAnimal" ) ) then -- check if the player has a favorite animal set
			local favoriteAnimal = getElementData ( source, "favoriteAnimal" ) -- get the player's favorite animal
			outputChatBox ( "Your favorite animal is: "..favoriteAnimal, source ) -- output the player's favorite animal
		else
			outputChatBox ( "You do not have a favorite animal!", source ) -- output the player's lack of a favorite animal
		end
	end
end
-- Add a console command joinTime, that takes an optional parameter of a player's name
addCommandHandler ( "favoriteAnimal", favoriteAnimal )

Requirements

Minimum server version 1.5.7-20447
Minimum client version 1.5.7-20447

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.7-20447" client="1.5.7-20447" />

See Also