• Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Вопрос Зоны банд

hun1yy

Активный участник
Автор темы
2 Авг 2022
248
12
33
Всем привет, у меня такой вопрос : как сделать квадратную зону на карте для банд? Я смотрел 2 мода redage и freedom но ничего не понятно и не работает 😅
 

mippoosedev

Гуру
2 Мар 2021
294
139
100
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)
            }
        }
    }
})

у меня примерно вот так, будут вопросы - говори
 
  • Like
Реакции: stage и FireFeed

hun1yy

Активный участник
Автор темы
2 Авг 2022
248
12
33
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() ?
 

kenz

Начинающий специалист
5 Авг 2022
160
139
68
я про 5 айди блипа
ну так ты не копируй готовый код, который тебе выслали, а пиши сам.
в готовом по любому будут какие-либо зависимости.

у меня в коде блип с 'id 5' хорошо работает, так что ищи ошибки в создании блипа
 

hun1yy

Активный участник
Автор темы
2 Авг 2022
248
12
33
ну так ты не копируй готовый код, который тебе выслали, а пиши сам.
в готовом по любому будут какие-либо зависимости.

у меня в коде блип с 'id 5' хорошо работает, так что ищи ошибки в создании блипа
я свой и написал. У меня блип справа в списке багается + при масштабировании карты он тоже меняет размер