GetPlayerFromName: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
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 23:33, 23 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 to get an player from part of his name

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

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