Code:
local Area =
[
[
[27053.8,6615.97],
[26767.4,7750.68],
[28352.8,8536.55],
[27505.7,9774.55],
[26889.1,11476.5],
[25861.4,11253.9],
[25398.9,11674.8],
[25093.5,13751.5],
[23776.9,17346.9],
[25107.6,18269.1],
[28595.6,18880.4],
[29766.1,18041.4],
[30298.6,15819.1],
[31696.3,15068.4],
[31775.1,14483.5],
[31365.6,12170.8],
[31939.0,11279.1],
[33070.4,9073.48],
[29099.4,8322.86]
],
[
[-1393.22,-1521.51],
[-3254.69,-4858.70],
[-3691.17,-7038.54],
[-3267.29,-9718.79],
[1986.90,-9801.11],
[2455.40,-7937.29],
[2880.52,-6122.21],
[3217.99,-4196.10],
[1525.71,-2190.86],
[1304.52,-1499.52]
],
[
[-33375.0,26014.5],
[-32395.7,24372.8],
[-31140.5,23656.2],
[-31045.4,23471.9],
[-31420.5,23143.1],
[-32671.7,23924.1],
[-32801.9,18177.5],
[-33855.6,15486.2],
[-34768.4,14141.6],
[-39231.9,16779.3],
[-34267.0,29688.3]
]
]
function checkAreaPoint(id, x, y)
{
local polyCorners = Area[id].len();
local i = 0;
local j = polyCorners - 1;
local isInArea = false;
for (i = 0; i < polyCorners; i++)
{
if (((Area[id][i][1] < y && Area[id][j][1] >= y) || (Area[id][j][1] < y && Area[id][i][1] >= y)) && (Area[id][i][0] <=x || Area[id][j][0] <= x))
if ((Area[id][i][0] + (y - Area[id][i][1]) / (Area[id][j][1] - Area[id][i][1]) * (Area[id][j][0] - Area[id][i][0])) < x)
isInArea = !isInArea;
j = i;
}
return isInArea;
}
Wilk Morski Klanu Espadre