Hey Guys,
Im trying to make a working ACL gate script and I cant see what the issue is;
Please take a look and let me know.
-- team, object model, position and rotation, move to position
local gates =
{ "EXAMPLE", 2930, { 257.899, 1871.800, 10.39, 0, 0, 0 }, { 257.899, 1871.800, 13, } },
{ "EXAMPLE", 2930, { 257.899, 1867.900, 10.39, 0, 0, 0 }, { 257.899, 1867.900, 13, } },
{ "EXAMPLE", 2930, { 257.899, 1863, 10.39, 0, 0, 0 }, { 257.899, 1863, 13, } },
{ "EXAMPLE", 2930, { 257.899, 1860, 10.39, 0, 0, 0 }, { 257.899, 1860, 13 } },
{ "EXAMPLE", 2930, { 257.899, 1856.099, 10.39, 0, 0, 0 }, { 257.899, 1856.099, 13 } },
{ "EXAMPLE", 2930, { 257.899, 1852.400, 10.39, 0, 0, 0 }, { 257.899, 1852.400, 13 } },
{ "EXAMPLE", 3037, { 256.399, 1843.699, 9.899, 0, 0, 0 }, { 256.399, 1843.699, 12.6 } },
{ "EXAMPLE", 5422, { 248.899, 1841.900, 9.800, 0, 0, 270 }, { 248.899, 1841.900, 12.3 } },
{ "EXAMPLE", 2930, { 240, 1846.599, 10.399, 0, 0, 270 }, { 240, 1846.599, 12.7 } },
}
local gateData = { } -- A table to store the gates data
addEventHandler ( "onResourceStart", resourceRoot,
function ( )
for _, data in ipairs ( gates ) do -- Loop our gates table
local team, model, posRot, moveTo = unpack ( data ) -- Unpack the gate data
local x, y, z, rx, ry, rz = unpack ( posRot ) -- Unpack the gate position and rotation
local mx, my, mz = unpack ( moveTo ) -- Unpack the position to where it has to move
local object = createObject ( model, x, y, z, rx, ry, rz ) -- Create the gate object
local colshape = createColTube ( x, y, z - 1, 2, 2 ) -- Create the gate colshape
if ( colshape ) then -- If the colshape was created
addEventHandler ( "onColShapeHit", colshape, onGateColshape ) -- Add the event handler for when hit the colshape
addEventHandler ( "onColShapeLeave", colshape, onGateColshape ) -- Add the event handler for when leave the colshape
gateData [ colshape ] = -- Use the colshape as index to store the gate data
{
object = object,
team = team,
x = x,
y = y,
z = z,
mx = mx,
my = my,
mz = mz
}
end
end
end
}
function onGateColshape ( hitElement, matchD )
if ( matchD ) then -- If the dimension matches
local data = gateData [ source ] -- Get the gate data using the colshape as index ( source )
if ( data ) then -- If there was data
local team = getPlayerTeam ( hitElement ) -- Get the player team
local teamName = ( team and getTeamName ( team ) or "" ) -- Get the team name
if ( teamName == data.team ) then -- If the player team matches the gate team
if ( eventName == "onColShapeHit" ) then -- If the event name is 'onColShapeHit'
moveObject ( data.object, 2200, data.mx, data.my, data.mz ) -- Open the gate
else -- If the event name is 'onColShapeLeave'
moveObject ( data.object, 2200, data.x, data.y, data.z ) -- Close the gate
end
end
end
end
end
Any suggestions would be great..
Thanks
Aaron