GetZoneName: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (optinal arg in syntax)
No edit summary
(16 intermediate revisions by 7 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
This function allows you to retrieve the zone name of certain location
{{Server client function}}
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==
==Syntax==
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 20: Line 23:


==Example==
==Example==
This example shows you how to return a zone name by doing /loc x y z in the chatbox or just loc x y z in console ( replace x, y and z with the co-ords you wanna check, eg /loc 1200 523 12.3 )
<section name="Server" class="server" show="true">
'''Example 1:''' This example returns the player's City & Zone.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addCommandHandler("loc", "playerloc")
function outputPlayerZone(thePlayer)
function playerloc ( source, command, x, y, z )
    -- get the player position
  local location = getZoneName ( x, y, z )
    x, y, z = getElementPosition(thePlayer)
  outputChatBox ( "* Location: " ..location, root, 0, 255, 255 ) -- Output the zone name
    -- 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
end
addCommandHandler("getloc", outputPlayerZone)
</syntaxhighlight>
</syntaxhighlight>
'''Example 2:''' This example will tell you what zone a specified player is in when the "getloc" console command is used.
<syntaxhighlight lang="lua">
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
</syntaxhighlight>
</section>


==See Also==
==See Also==
{{World functions}}
{{World functions}}
[[ru:getZoneName]]

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