This is a mobile optimized page that loads fast, if you want to load the real page, click this text.

Фикс позиции миникарты на ультрашироких экранах

vvrm7

Новый участник
21 Дек 2025
13
1
3
Всем привет, в данном топике, я покажу как же по человечески расположить миникарту на ультрашироких экранах на примере RedAge

JavaScript:
const getMinimapAnchor = () => {
    try {
        let defaultAspectRatio = 1920/1080
        const resolution = mp.game.graphics.getScreenActiveResolution(0, 0);
        let resolutionX = resolution.x;
        let resolutionY = resolution.y;
        let aspectRatio2 = resolutionX/resolutionY
        let minimapXOffset = 0.0;
        let minimapYOffset = 0.0;
        if(aspectRatio2 > defaultAspectRatio) {
            let aspectDifference = defaultAspectRatio - aspectRatio2;
            minimapXOffset = aspectDifference/3.6
        }

        if (global.bigMapStatus === 2) {
            mp.game.ui.setMinimapComponentValues(
                "bigmap",
                "L",
                "B",
                -0.003975+minimapXOffset,
                0.022+minimapYOffset,
                0.364,
                0.460416666
            )

            mp.game.ui.setMinimapComponentValues(
                "bigmap_mask",
                "L",
                "B",
                0.145+minimapXOffset,
                0.015+minimapYOffset,
                0.176,
                0.395
            )

            mp.game.ui.setMinimapComponentValues(
                "bigmap_blur",
                "L",
                "B",
                -0.019+minimapXOffset,
                0.022+minimapYOffset,
                0.262,
                0.464
            )
        } else {
            mp.game.ui.setMinimapComponentValues(
                "minimap",
                "L",
                "B",
                -0.0045+minimapXOffset,
                0.002+minimapYOffset,
                0.150,
                0.188888
            )

            mp.game.ui.setMinimapComponentValues(
                "minimap_mask",
                "L",
                "B",
                0.020+minimapXOffset,
                0.032+minimapYOffset,
                0.111,
                0.159
            )

            mp.game.ui.setMinimapComponentValues(
                "minimap_blur",
                "L",
                "B",
                -0.03+minimapXOffset,
                0.022+minimapYOffset,
                0.266,
                0.237
            )
        }
        const sfX = 1.0 / 20.0;
        const sfY = 1.0 / 20.0;
        const size = 1;
        const aspectRatio = mp.game.graphics.getScreenAspectRatio(false);
        const scaleX = 1.0 / resolution.x;
        const scaleY = 1.0 / resolution.y;

        const minimap = {
            width: scaleX * (resolution.x / ((global.bigMapStatus == 2 ? 2.53 : 4) * aspectRatio)),
            height: scaleY * (resolution.y / 5.674),
            scaleX: scaleX,
            scaleY: scaleY,
            leftX: scaleX * (resolution.x * (sfX * (Math.abs(size - 1.0) * 10))),
            bottomY: 1.0 - scaleY * (resolution.y * (sfY * (Math.abs(size - 1.0) * 10))),
        };

        minimap.rightX = minimap.leftX + minimap.width;
        minimap.topY = minimap.bottomY - minimap.height;
       
        minimap.width = minimap.rightX * resolution.x;

        if (global.bigMapStatus == 3) minimap.width = 0;
        mp.gui.emmit(`window.hud.updateMapWidth(${minimap.width})`);
        return;
    }
    catch (e)
    {
        mp.events.callRemote("client_trycatch", "player/hud", "getMinimapAnchor", e.toString());
    }
}
Достаточно скопировать, и заменить вашу функцию(для обладателей RedAge), обязательно вызывайте эту функцию при прогрузке персонажа, или же в конце файла, это позволит вам избежать неверного позиционирования HP и AP.
 
Последнее редактирование:
Реакции: kwizi, nafanych! и DaVilka