SetGarageOpen: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
(14 intermediate revisions by 11 users not shown)
Line 2: Line 2:
{{Server client function}}
{{Server client function}}
This function opens or closes the specified garage door in the world.
This function opens or closes the specified garage door in the world.
 
{{Note|setGarageOpen does not work with ID 32 (Pay 'n' Spray near Royal Casino). This garage doesn't work in SP too. You can remove this gate by [[removeWorldModel]] and recreate them for later using with moveObject.}}
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
void setGarageOpen ( int garageID, bool open )
bool setGarageOpen ( int garageID, bool open )
</syntaxhighlight>  
</syntaxhighlight>  


===Required Arguments===  
===Required Arguments===  
*'''garageID:''' The ID that represents the garage door being opened or closed.
*'''garageID:''' The [[Garage|garage ID]] that represents the garage door being opened or closed.
*'''isOpen:''' A boolean indicating whether or not to open the door.
*'''isOpen:''' A boolean indicating whether or not to open the door.


===Returns===
===Returns===
This function does not return anything.
Returns ''true'' if successful, ''false'' if an invalid garage id was given.


==Example==  
==Example==  
<section name="Server" class="server" show="true">
<section name="Server" class="server" show="true">
This example opens a garage door when a player enters a collision shape near it:
This example opens a garage door when a player enters a collision shape near it, and closes it when they leave:
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
GARAGE_ID = 25
GARAGE_ID = 25


addEventHandler("onResourceStart", getResourceRootElement(getThisResource()),
-- create a collision shape and attach event handlers to it when the resource starts
addEventHandler("onResourceStart", getResourceRootElement(),
function (resource)
function (resource)
local colCube = createColCuve(1337, 194, 28, 6, 10, 4)
local garageCube = createColCuboid(1337, 194, 28, 6, 10, 4)
addEventHandler("onColShapeHit", colCube, onGarageCubeHit)
addEventHandler("onColShapeHit", garageCube, onGarageCubeHit)
addEventHandler("onColShapeLeave", colCube, onGarageCubeLeave)
addEventHandler("onColShapeLeave", garageCube, onGarageCubeLeave)
end
end)


-- open the door when someone enters the garage's collision shape
function onGarageCubeHit(hitElement, matchingDimension)
function onGarageCubeHit(hitElement, matchingDimension)
if (getElementType(hitElement) == "player") then
if (getElementType(hitElement) == "player") then
-- check to make sure the door is closed
if (not isGarageOpen(GARAGE_ID)) then
if (not isGarageOpen(GARAGE_ID)) then
-- open the door
setGarageOpen(GARAGE_ID, true)
setGarageOpen(GARAGE_ID, true)
end
end
Line 36: Line 40:
end
end


-- close the door when someone leaves the garage's collision shape
function onGarageCubeLeave(leaveElement, matchingDimension)
function onGarageCubeLeave(leaveElement, matchingDimension)
if (getElementType(leaveElement) == "player") then
if (getElementType(leaveElement) == "player") then
-- check to make sure the door is open
if (isGarageOpen(GARAGE_ID)) then
if (isGarageOpen(GARAGE_ID)) then
-- close the door
setGarageOpen(GARAGE_ID, false)
setGarageOpen(GARAGE_ID, false)
end
end
Line 47: Line 54:


==See Also==
==See Also==
{{World shape functions}}
{{World functions}}
[[Category:Needs_More_Examples]]
 
[[ru:setGarageOpen]]

Revision as of 16:44, 11 February 2015

This function opens or closes the specified garage door in the world.

[[{{{image}}}|link=|]] Note: setGarageOpen does not work with ID 32 (Pay 'n' Spray near Royal Casino). This garage doesn't work in SP too. You can remove this gate by removeWorldModel and recreate them for later using with moveObject.

Syntax

bool setGarageOpen ( int garageID, bool open )

Required Arguments

  • garageID: The garage ID that represents the garage door being opened or closed.
  • isOpen: A boolean indicating whether or not to open the door.

Returns

Returns true if successful, false if an invalid garage id was given.

Example

Click to collapse [-]
Server

This example opens a garage door when a player enters a collision shape near it, and closes it when they leave:

GARAGE_ID = 25

-- create a collision shape and attach event handlers to it when the resource starts
addEventHandler("onResourceStart", getResourceRootElement(),
function (resource)
	local garageCube = createColCuboid(1337, 194, 28, 6, 10, 4)
	addEventHandler("onColShapeHit", garageCube, onGarageCubeHit)
	addEventHandler("onColShapeLeave", garageCube, onGarageCubeLeave)
end)

-- open the door when someone enters the garage's collision shape
function onGarageCubeHit(hitElement, matchingDimension)
	if (getElementType(hitElement) == "player") then
		-- check to make sure the door is closed
		if (not isGarageOpen(GARAGE_ID)) then
			-- open the door
			setGarageOpen(GARAGE_ID, true)
		end
	end
end

-- close the door when someone leaves the garage's collision shape
function onGarageCubeLeave(leaveElement, matchingDimension)
	if (getElementType(leaveElement) == "player") then
		-- check to make sure the door is open
		if (isGarageOpen(GARAGE_ID)) then
			-- close the door
			setGarageOpen(GARAGE_ID, false)
		end
	end
end

See Also