local arena = { };
function arena.create ( )
arena.marker = { };
arena.marker[1] = createMarker ( -224, 125, 4, "cylinder", 1, 255, 255, 255, 255 )
arena.marker[2] = createMarker ( -200, 125, 4, "cylinder", 1, 255, 0, 0, 255 )
arena.marker[3] = createMarker ( -200, 157, 6, "cylinder", 1, 0, 255, 0, 255 )
arena.marker[4] = createMarker ( -224, 157, 6, "cylinder", 1, 0, 0, 255, 255 )
arena.attachMarker ( )
end
addCommandHandler ( "work", arena.create )
function arena.leave ( player )
if player == localPlayer then
outputChatBox ( "You have left the area" )
end
end
function arena.borders ( )
if not arena.run then return end
for i, v in ipairs ( arena.attach ) do
local x1, y1, z1 = getElementPosition ( v.fromMarker )
local x2, y2, z2 = getElementPosition ( v.toMarker )
dxDrawLine3D ( x1, y1, z1, x2, y2, z2, tocolor ( 0, 255, 0, 230 ), 2 )
end
end
addEventHandler ( "onClientRender", root, arena.borders )
function arena.attachMarker ( )
arena.attach = { };
local fromID = 1
while fromID <= 4 do
local toID = ( ( fromID < 4 and fromID +1 ) or 1 )
table.insert ( arena.attach, { fromMarker=arena.marker[fromID], toMarker=arena.marker[toID], distance=0 } )
fromID = fromID +1
end
arena.positions ( )
end
function arena.positions ( )
arena.position = { };
arena.position.marker = { };
arena.position.center = { x = 0, y = 0, z = 0 };
for i, v in ipairs ( arena.marker ) do
arena.position.marker[i] = { };
arena.position.marker[i].x, arena.position.marker[i].y, arena.position.marker[i].z = getElementPosition ( v )
end
local markerID = 1
while markerID <= 4 do
arena.position.center.x = arena.position.center.x + arena.position.marker[markerID].x
arena.position.center.y = arena.position.center.y + arena.position.marker[markerID].y
arena.position.center.z = arena.position.center.z + arena.position.marker[markerID].z
markerID = markerID +1
end
arena.position.center.x = arena.position.center.x/4
arena.position.center.y = arena.position.center.y/4
arena.position.center.z = arena.position.center.z/4
arena.createBorders ( )
end
function arena.createBorders ( )
local x, y = { }, { }
for i, v in ipairs ( arena.position.marker ) do
table.insert ( x, v.x )
table.insert ( y, v.y )
end
arena.borders = createColPolygon ( arena.position.center.x, arena.position.center.y, x[1], y[1], x[2], y[2], x[3], y[3], x[4], y[4] )
addEventHandler ( "onClientColShapeLeave", arena.borders, arena.leave, false )
arena.run = true
end
جرب ذا
ما انسى اللي ساعدني فيه
بالتوفيق