CreateMarker: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
Line 31: Line 31:
''Example 1:'' This example creates a marker at the player's position when they type !createmarker in the chat box.
''Example 1:'' This example creates a marker at the player's position when they type !createmarker in the chat box.
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
addEventHandler ( "onPlayerConsole", getRootElement(), "onPlayerConsole" )
addCommandHandler ( "createmarker", "consoleCreateMarker" )
function onPlayerConsole ( text )
-- this functions is called whenever someone types 'createmarker':
      -- Grab the command
function consoleCreateMarker ( thePlayer, commandName )
      command = gettok ( text, 1, 32 )
  if ( thePlayer ) then
 
      local x, y, z = getElementPosition ( thePlayer ) -- get the player's position
      --If the player types createmarker in the console
      -- create a cylindrical marker next to the player:
if ( command == "console" ) then  
      local theMarker = createMarker ( x + 2, y + 2, z, "cylinder", 1.5, 255, 255, 0, 170 )
x, y, z = getElementPosition ( source ) --Assign player x,y,z position to x,y,z varibles
      if ( theMarker ) then -- check if the marker was created successfully
createMarker ( x, y, z, 0, "checkpoint", 255, 0, 0, 255 ) --Create a marker at the x,y,z varible values
        outputConsole ( "Marker created successfully", thePlayer )
outputChatBox ( "You got a red marker", source )
      else
end
        outputConsole ( "Failed to create marker", thePlayer )
      end
  end
end
end
</syntaxhighlight>
</syntaxhighlight>

Revision as of 22:57, 3 September 2006

This function creates a marker. A marker is a 3D model in the world that can highlight a particular point or area, often used to instruct players where to go to perform actions such as entering buildings.

Syntax

marker createMarker ( float x, float y, float z, [string type, int size, int r, int g, int b, int a] )

Required Arguments

  • x: A floating point number representing the X coordinate on the map.
  • y: A floating point number representing the Y coordinate on the map.
  • z: A floating point number representing the Z coordinate on the map.

Optional arguments

  • type: The visual type of the marker to be created. Possible values:
    • "checkpoint": Checkpoint (Note: Currently z position is always ground-level. Only remains visible to a certain height.)
    • "ring": Ring (doughnut-shaped)
    • "cylinder": Cylinder (Note: Currently z position is always ground-level.)
    • "arrow": Animated arrow pointing down
    • "corona": A glowing area
  • size: The diameter of the marker to be created, in meters.
  • r: An integer number representing the amount of red to use in the colouring of the marker (0 - 255).
  • g: An integer number representing the amount of green to use in the colouring of the marker (0 - 255).
  • b: An integer number representing the amount of blue to use in the colouring of the marker (0 - 255).
  • a: An integer number representing the amount of alpha to use in the colouring of the marker (0 - 255).

Returns

Returns the marker element that was created, or false if the arguments are incorrect.

Example

Example 1: This example creates a marker at the player's position when they type !createmarker in the chat box.

addCommandHandler ( "createmarker", "consoleCreateMarker" )
-- this functions is called whenever someone types 'createmarker':
function consoleCreateMarker ( thePlayer, commandName )
   if ( thePlayer ) then
      local x, y, z = getElementPosition ( thePlayer ) -- get the player's position
      -- create a cylindrical marker next to the player:
      local theMarker = createMarker ( x + 2, y + 2, z, "cylinder", 1.5, 255, 255, 0, 170 )
      if ( theMarker ) then -- check if the marker was created successfully
         outputConsole ( "Marker created successfully", thePlayer )
      else
         outputConsole ( "Failed to create marker", thePlayer )
      end
   end
end

Example 2: Create a marker at the coordinates 0, 0, 20:

createMarker ( 0, 0, 20 )

See Also



NEEDS CHECKING

  • Arrow has an extreme bounce... it needs to be definable.
  • Detection radius is huge for all... can this be optional or adjusted to be smaller?
  • Corona (glow balls) dont show under black color 0, 0, 0
  • Coronas don't always disappear client-side when they are destroyed.