let gangZones = []
let gangPolygons = []
let zonesMap = [
[0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0],
[0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0],
[0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0],
[0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0],
[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0]
]
const startPos = new mp.Vector3(-178.08142, -1310.9048, 0)
const zoneRadius = 70
mp.events.add('SRV::CL::CreateGangZones', (gangZonesData) => {
gangZonesData = JSON.parse(gangZonesData)
if (gangZones.length > 0) gangZones.forEach((el) => {
if (el && el.doesExist()) el.destroy()
})
gangZones = []
let zoneIndex = 1;
for (let i = 0; i < 9; i++) {
for (let j = 0; j < 13; j++) {
if (zonesMap[i][j] === 1) {
let offsetX = (j % 13) * zoneRadius * 2
let offsetY = (i % 9) * zoneRadius * 2
let finalPos = new mp.Vector3(startPos.x + offsetX, startPos.y - offsetY, 50)
let blip = mp.blips.new(5, finalPos, {
name: "",
radius: zoneRadius,
color: getColorFromGangId(gangZonesData.find(x => x.id === zoneIndex).gangId),
alpha: 125,
drawDistance: 100,
shortRange: false,
dimension: 2004,
rotation: 0,
})
blip.setFlashInterval(350)
if (gangZonesData.find(x => x.id === zoneIndex).flashing == true) {
createPolygonForBlip(zoneIndex)
blip.setFlashes(true)
}
zoneIndex++;
gangZones.push(blip)
}
}
}
})
они по идее будут отображаться справа в списке на картеэто обычные блипы
Насколько я помню, если имя пустое - не отображаетсяони по идее будут отображаться справа в списке на карте
вопрос : как сделана сама функция createPolygonForBlip() ?JavaScript:let gangZones = [] let gangPolygons = [] let zonesMap = [ [0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1], [1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1], [1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0], [0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0], [0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0], [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0] ] const startPos = new mp.Vector3(-178.08142, -1310.9048, 0) const zoneRadius = 70 mp.events.add('SRV::CL::CreateGangZones', (gangZonesData) => { gangZonesData = JSON.parse(gangZonesData) if (gangZones.length > 0) gangZones.forEach((el) => { if (el && el.doesExist()) el.destroy() }) gangZones = [] let zoneIndex = 1; for (let i = 0; i < 9; i++) { for (let j = 0; j < 13; j++) { if (zonesMap[i][j] === 1) { let offsetX = (j % 13) * zoneRadius * 2 let offsetY = (i % 9) * zoneRadius * 2 let finalPos = new mp.Vector3(startPos.x + offsetX, startPos.y - offsetY, 50) let blip = mp.blips.new(5, finalPos, { name: "", radius: zoneRadius, color: getColorFromGangId(gangZonesData.find(x => x.id === zoneIndex).gangId), alpha: 125, drawDistance: 100, shortRange: false, dimension: 2004, rotation: 0, }) blip.setFlashInterval(350) if (gangZonesData.find(x => x.id === zoneIndex).flashing == true) { createPolygonForBlip(zoneIndex) blip.setFlashes(true) } zoneIndex++; gangZones.push(blip) } } } })
у меня примерно вот так, будут вопросы - говори
Тебе это не нужно) Полигоны используются для зон, на которых идёт "битва"вопрос : как сделана сама функция createPolygonForBlip() ?
ааа, ну у меня не работают блипыТебе это не нужно) Полигоны используются для зон, на которых идёт "битва"
Дименшен проверь на всякий случай. Ну и да, это клиентсайд код у меняааа, ну у меня не работают блипы
я про 5 айди блипаДименшен проверь на всякий случай. Ну и да, это клиентсайд код у меня
ну так ты не копируй готовый код, который тебе выслали, а пиши сам.я про 5 айди блипа
я свой и написал. У меня блип справа в списке багается + при масштабировании карты он тоже меняет размерну так ты не копируй готовый код, который тебе выслали, а пиши сам.
в готовом по любому будут какие-либо зависимости.
у меня в коде блип с 'id 5' хорошо работает, так что ищи ошибки в создании блипа
О, насчет поворотов.я свой и написал. У меня блип справа в списке багается + при масштабировании карты он тоже меняет размер
mp.events.add('render', () => {
gangZones.forEach((blip) => {
blip.setRotation(0)
})
})
что это и зачем?О, насчет поворотов.
JavaScript:mp.events.add('render', () => { gangZones.forEach((blip) => { blip.setRotation(0) }) })
чтоб блип на мини карте не "кружился" за тобойчто это и зачем?
спасибоТебе это не нужно) Полигоны используются для зон, на которых идёт "битва"