Разрешение монитора и разрешение ГТА

Sidney31

Известный
Автор темы
1,132
385
Разрешение монитора не совпадает с разрешением экрана в сампе.
Моник fhd, в настройках fhd, а по факту в игре 640x440.
 

Sidney31

Известный
Автор темы
1,132
385
У меня fhd монитор, в гта стоит fhd разрешение. Я двигаю текстдрав по экрану, в чате выводятся его координаты(X, Y). Когда дохожу до низа - координата по Y должна быть 1080, а по факту она 440. С правым углом такая же хрень: в углу должно быть 1920, а по факту 640.

а что на фрапсе надо было увидеть ?
У меня fhd монитор, в гта стоит fhd разрешение. Я двигаю текстдрав по экрану, в чате выводятся его координаты(X, Y). Когда дохожу до низа - координата по Y должна быть 1080, а по факту она 440. С правым углом такая же хрень: в углу должно быть 1920, а по факту 640.
 

Sidney31

Известный
Автор темы
1,132
385
так а у тебя игра норм выглядит? может это баг скрипта ?
Игра выглядит нормально. Какая-та хрень с координатами текстдрава.
(при создании темы ошибся с разделом, нужна помощь в луа)

Lua:
local state = false
local clocktd = 0
local posX, posY = 0, 0
local x, y = getScreenResolution()

function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('setclockpos',function()
        state = not state
        posX, posY = sampTextdrawGetPos(clocktd)
        lockPlayerControl(state)
    end)
    while true do
        wait(0)
        for i = 0, 3000 do
            if sampTextdrawGetString(i):find('%d%d:%d%d:%d%d') then
                clocktd = i
            end
        end
        if state and isKeyDown(0x53) then
            posY = posY + 1
        end
        if state and isKeyDown(0x57) then
            posY = posY - 1
        end
        if state and isKeyDown(0x41) then
            posX = posX - 1
        end
        if state and isKeyDown(0x44) then
            posX = posX + 1
        end
        if isKeyDown(0x0D) and state then
            state = not state
            posX, posY = sampTextdrawGetPos(clocktd)
            lockPlayerControl(state)
        end
        if posX < 0 then posX = 0 end
        if posX > x then posX = x end
        if posY < 0 then posY = 0 end
        if posY > y then posY = y end
        sampTextdrawSetPos(clocktd,posX,posY)
        sampAddChatMessage('posX: '..posX..' posY: '..posY, -1)
    end
end
 

SR_team

like pancake
BH Team
4,720
6,370
У меня fhd монитор, в гта стоит fhd разрешение. Я двигаю текстдрав по экрану, в чате выводятся его координаты(X, Y). Когда дохожу до низа - координата по Y должна быть 1080, а по факту она 440. С правым углом такая же хрень: в углу должно быть 1920, а по факту 640.


У меня fhd монитор, в гта стоит fhd разрешение. Я двигаю текстдрав по экрану, в чате выводятся его координаты(X, Y). Когда дохожу до низа - координата по Y должна быть 1080, а по факту она 440. С правым углом такая же хрень: в углу должно быть 1920, а по факту 640.
позиция текстдравов не связана с разрешением. это специальная сетка, чтобы текстдравы выглядели одинаково на любом разрешении
 

Sidney31

Известный
Автор темы
1,132
385
позиция текстдравов не связана с разрешением. это специальная сетка, чтобы текстдравы выглядели одинаково на любом разрешении
Понял, есть возможность конвертировать эту кор-ду на сетке в пиксели?
 

SR_team

like pancake
BH Team
4,720
6,370
Понял, есть возможность конвертировать эту кор-ду на сетке в пиксели?
Да, прям как на математике в 3 классе ( если твой класс спортивный как у меня, а не с мат уклоном) x = x * ( 1920 / 640 ); y = y * ( 1080 / 440 ). 1920 и 1080 - разрешение экрана, его можно прочитать из игры
 
  • Нравится
Реакции: Sidney31

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,777
11,221
  • Нравится
Реакции: Sidney31