CreateColCircle

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This function creates a collision circle. This is a shape that has a position and a radius and infinite height that you can use to detect a player's presence. Events will be triggered when a player enters or leaves it.

[[{{{image}}}|link=|]] Tip: To visualize a colshape when writing scripts, use the client console command showcol

Syntax

colshape createColCircle ( float fX, float fY, float radius )
example

OOP Syntax Help! I don't understand this!

Method: ColShape.Circle(...)


Required Arguments

  • fX: The collision circle's center point's X axis position.
  • fY: The collision circle's center point's Y axis position.
  • radius: The radius of the collision circle. Can not be smaller than 0.1.

Returns

Returns a colshape element if successful, false if invalid arguments were passed to the function.

Example

Click to collapse [-]
Server

This example displays a chat message when a player enters the colshape and allows the colshape to be created using a console function set_zone.

local theZone

function shapeHit(thePlayer)
    outputChatBox(getPlayerName(thePlayer).. " is in the zone!")
end

function setZone(playerSource, commandName, fX, fY, fRadius)
    local fX, fY, fRadius = tonumber(fX), tonumber(fY), tonumber(fRadius)
    if (not fX) or (not fY) or (not fRadius) then
        outputChatBox("Syntax: /"..commandName.." [X] [Y] [Radius]", playerSource)
    else
        if (theZone ~= nil) then
            destroyElement(theZone)
        end
        local tempCol = createColCircle(fX, fY, fRadius)
        addEventHandler("onColShapeHit", tempCol, shapeHit)
        outputChatBox("Zone has "..(theZone ~= nil and "moved" or "created").."!", playerSource)
        theZone = tempCol
    end
end
addCommandHandler("set_zone", setZone, false, false)

See Also