- 10
- 0
На сервере создаются объекты - баки, по всей карте при старте скрипта. В файле shared.lua пустая таблица bakObjects = {} куда помещаются созданные объекты баки
Начиная работу, выбирается город, на клиенте создаются маркеры возле этих баков
Выбором города в markersTable попадают координаты определенного города (не все)
Когда захожу на маркер, должен удалиться маркер и сам объект бак. Маркер легко удаляется, а вот как удалить объект бак, который в зоне маркера - НЕ пойму. Помогите пожалуйста
shared.lua:
bakObjects = {}
bakMarkers = {
['Город_1'] = {
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
},
['Город_2'] = {
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
},
['Город_3'] = {
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
{2177,-1612,10, 0, 0,0,0,0, 1},
},
}
server.lua:
for i, v in pairs(bakMarkers) do
for k, j in pairs(v) do
bakObjects[i] = createObject(1343, j[1], j[2], j[3]-0.2, 0, 0, j[4])
setElementFrozen(bakObjects[i], true)
end
end
Начиная работу, выбирается город, на клиенте создаются маркеры возле этих баков
Выбором города в markersTable попадают координаты определенного города (не все)
client.lua:
local marker = {}
local blip = {}
for i,v in ipairs(bakMarkers) do
marker[i] = createMarker(bakMarkers[i][1]+1, bakMarkers[i][2]+1, bakMarkers[i][3]-1.5, "cylinder", 30, 255, 255, 255, 0)
blip[i] = createBlipAttachedTo(marker[i], 0, 2, 0, 255, 0, 255, 0, 10000)
end
Когда захожу на маркер, должен удалиться маркер и сам объект бак. Маркер легко удаляется, а вот как удалить объект бак, который в зоне маркера - НЕ пойму. Помогите пожалуйста
client.lua:
markersTable = {}
-- Выбором города в markersTable попадают координаты определенного города (не все)
markersTable = bakMarkers['Город']
function delMarker(point)
for i,v in ipairs(markersTable) do
if point == localPlayer then
if source == marker[i] then
destroyElement(marker[i])
destroyElement(blip[i])
end
end
end
end
addEventHandler("onClientMarkerHit", root, delMarker)