GetZoneName: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 44: Line 44:
   local thePlayer = getPlayerFromName ( playername ) --get the player from nickname
   local thePlayer = getPlayerFromName ( playername ) --get the player from nickname
   if ( thePlayer ~= false ) then --if there is a player from the nickname
   if ( thePlayer ~= false ) then --if there is a player from the nickname
     local x, y, z = getElementPosition ( player )
     local x, y, z = getElementPosition ( thePlayer )
     local location = getZoneName ( x, y, z )
     local location = getZoneName ( x, y, z )
local city = getZoneName ( x, y, z, true )
local city = getZoneName ( x, y, z, true )

Revision as of 15:57, 1 January 2020

This function allows you to retrieve the zone name of a certain location.

Note that between versions 1.1 and 1.3.0-3749 the default value for citiesonly was incorrect when called the client side. The work around for clients before 1.3.0-3749 is to always declare a value for citiesonly. Server side getZoneName was unaffected.

Syntax

string getZoneName ( float x, float y, float z, [bool citiesonly=false] )

Required Arguments

  • x: The X axis position
  • y: The Y axis position
  • z: The Z axis position

Optional Arguments

NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.

  • citiesonly: An optional argument to choose if you want to return the city name (eg Las Venturas)

Returns

Returns the string of the zone name

Example

Click to collapse [-]
Server

Example 1: This example returns the player's City & Zone.

function outputPlayerZone(thePlayer)
    -- get the player position
    x, y, z = getElementPosition(thePlayer)
    -- get the player zone
    zone = getZoneName(x, y, z)
    -- get the player city (citiesonly as true)
    city = getZoneName(x, y, z, true)
    -- output to local player's chatbox
    outputChatBox("City: ".. city .." / Zone: ".. zone, thePlayer)
end
addCommandHandler("getloc", outputPlayerZone)

Example 2: This example will tell you what zone a specified player is in when the "getloc" console command is used.

function scriptGetLoc ( source, command, playername ) --when getloc is called
  local thePlayer = getPlayerFromName ( playername ) --get the player from nickname
  if ( thePlayer ~= false ) then --if there is a player from the nickname
    local x, y, z = getElementPosition ( thePlayer )
    local location = getZoneName ( x, y, z )
	local city = getZoneName ( x, y, z, true )
    outputChatBox ( playername .. " is at " .. location .. " (" .. city .. ")", source ) --announce his zone
  else outputChatBox ( "Player does not exist" )
  end
end
addCommandHandler( "getloc", scriptGetLoc ) -- add a command "getloc" which initiates "scriptGetloc" function

See Also