GetPlayerFromName: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Undo revision 28803 by TAPL (talk) Example was not really relevant, should be in the 'usefull functions' section.)
Line 15: Line 15:


==Example==
==Example==
This example to get an player from part of his name
<syntaxhighlight lang="lua">
function getPlayerFromPartOfName(playerPart)
  local pl = getPlayerFromName(playerPart)
  if isElement(pl) then
    return pl
  else
    for i,v in ipairs (getElementsByType ("player")) do
      if (string.find(getPlayerName(v),playerPart)) then
        return v
      end
    end
  end
end
</syntaxhighlight>
This example finds a [[player]] as specified in the command and outputs the direction and distance he is from the player who entered the command. For example: 'locate someguy'.
This example finds a [[player]] as specified in the command and outputs the direction and distance he is from the player who entered the command. For example: 'locate someguy'.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">

Revision as of 05:29, 24 December 2011

This function returns a player element for the player with the name passed to the function.

Syntax

player getPlayerFromName ( string playerName )

Required Arguments

  • playerName: A string containing the name of the player you want to reference

Returns

Returns a player element for the player with the nickname provided. If there is no player with that name, false is returned.

Example

This example finds a player as specified in the command and outputs the direction and distance he is from the player who entered the command. For example: 'locate someguy'.

function locatePlayer( sourcePlayer, command, who )
	local targetPlayer = getPlayerFromName ( who )                -- find the player that was specified in the command
	if ( targetPlayer ) then                                      -- if a player was found
		local x,y,z = getElementPosition ( sourcePlayer )     -- save the position of the player who entered the command
		local xp,yp,zp = getElementPosition ( targetPlayer )  -- save the position of the player who should be located
		local dir = nil
		if (yp > y) then
			dir = "N"
		else
			dir = "S"
		end
		if (xp > x) then
			dir = dir .. "E"
		else
			dir = dir .. "W"
		end
		local distance = math.ceil ( getDistanceBetweenPoints3D(x, y, z, xp, yp, zp) )
		outputChatBox( who .. " found " .. dir .. " (" .. distance .. ")", sourcePlayer) -- output the message
	end
end
addCommandHandler ( "locate", locatePlayer )

See Also