Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2021-05-22, 12:58


!ryzee

rebornMTA






Wiek: 19
Na forum: 2254 dni
Posty: 111
Nick w MP: drakovskyy

Piwa: 55

Respekt: 60

Siemka u?ytkownicy! Mam problem, pobra?em jeden ze skrypt?w z GTAO, lecz GUI w nim nie jest raczej wyskalowane, gram na 640x480, rozdzielczo?ci z powod?w na wi?kszych drobnych ?cinek, czego nie lubi?.

Tak wygl?da GUI: https://imgur.com/a/6SZQKc3

KOD:

local screenWscreenH guiGetScreenSize()

window guiCreateWindow(0.350.300.300.38"Ustawianie opisu"true)
guiWindowSetSizable(windowfalse)

label guiCreateLabel(0.020.070.960.09"Znajdujesz si? w panelu do ustawiania opisu pojazdu, lub swojej postaci.\n Wystarczy ?e wpiszesz interesuj?cy Ci? opis i zatwierdzisz odpowiednim przyciskiem na dole."truewindow)
guiLabelSetHorizontalAlign(label"center"false)
memo guiCreateMemo(0.020.180.680.78""truewindow)
combobox guiCreateComboBox(0.710.190.260.17"Pojazd"truewindow)
guiComboBoxAddItem(combobox"Pojazd") -- 0
guiComboBoxAddItem(combobox"Posta?") -- 1
buttoncancel guiCreateButton(0.710.880.280.08"Wyjd?"truewindow)
buttonmain guiCreateButton(0.710.770.280.08"Ustaw opis"truewindow)  
guiSetVisible(windowfalse)

addCommandHandler("opis", function()
    if guiGetVisible(window) == true then
        guiSetVisible(windowfalse)
        showCursor(false)
        removeEventHandler("onClientGUIClick"buttonmainmain)
        removeEventHandler("onClientGUIClick"buttoncancelcancel)
    elseif guiGetVisible(window) == false then
        guiSetVisible(windowtrue)
        showCursor(true)
        addEventHandler("onClientGUIClick"buttonmainmain)
        addEventHandler("onClientGUIClick"buttoncancelcancel)
    end
end)

function cancel()
    guiSetVisible(windowfalse)
    showCursor(false)
    removeEventHandler("onClientGUIClick"buttonmainmain)
    removeEventHandler("onClientGUIClick"buttoncancelcancel)
end

function main()
    local item guiComboBoxGetSelected(combobox)
    local itemname guiComboBoxGetItemText(comboboxitem)
    local description guiGetText(memo)
    if itemname == "Posta?" then
        if description == "" then
            setElementData(localPlayer"player:desc""")
        else
            setElementData(localPlayer"player:desc"description)
        end
        guiSetVisible(windowfalse)
        showCursor(false)
        removeEventHandler("onClientGUIClick"buttonmainmain)
        removeEventHandler("onClientGUIClick"buttoncancelcancel)
    elseif itemname == "Pojazd" then
        local vehicle getPedOccupiedVehicle(localPlayer)
        if not vehicle then return outputChatBox("Nie znajdujesz si? w samochodzie, do kt?rego chcesz da? opis!"end
        if description == "" then
            setElementData(vehicle"vehicle:desc""")
        else
            setElementData(vehicle"vehicle:desc"description)
        end
        guiSetVisible(windowfalse)
        showCursor(false)
        removeEventHandler("onClientGUIClick"buttonmainmain)
        removeEventHandler("onClientGUIClick"buttoncancelcancel)
    end
end

addEventHandler("onClientRender"root, function()
    local cmX,cmY,cmZ getCameraMatrix()
    
    for i,v in ipairs(getElementsByType("vehicle"root)) do
        local description getElementData(v"vehicle:desc")
        if description then
            local x,y,getElementPosition(v)
            local distance getDistanceBetweenPoints3D(cmX,cmY,cmZ,x,y,z)
            if distance <= 20 then
                local wpX,wpY getScreenFromWorldPosition(x,y,z200)
                if wpX and wpY then
                    dxDrawText(descriptionwpX-(screenW/5),wpY,wpX+(screenW/5),wpYtocolor(255255255255), 1"default-bold""center""center")
                end
            end
        end
    end
    for i,v in ipairs(getElementsByType("player"root)) do
        local description getElementData(v"player:desc")
        if description then
            local x,y,getElementPosition(v)
            local distance getDistanceBetweenPoints3D(cmX,cmY,cmZ,x,y,z)
            if distance <= 20 then
                local wpX,wpY getScreenFromWorldPosition(x,y,z200)
                if wpX and wpY then
                    dxDrawText(descriptionwpX-(screenW/5),wpY,wpX+(screenW/5),wpYtocolor(24086255255), 0.8"default-bold""center""center"falsetrue)
                end
            end
        end
    end
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-05-22, 13:40


NewStories







Wiek: 22
Na forum: 2639 dni
Posty: 65
Nick w MP: Dobrich

Piwa: 4

Respekt: 50

Ostrzeżeń: 60%
dostosowanie gui pod taka rozdzialke mija sie z celem nikt na takiej juz nie gra + ciezko wyskalowac gui tak by bylo zgodne z 1920x1080 i 640x480, jasne jest to mozliwe, ale czy warto?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-05-22, 18:08


Matikmontana

Modern Stories






Wiek: 22
Na forum: 2473 dni
Posty: 423
Nick w MP: Mazeusz*

Piwa: 1015

Respekt: 130
Respekt: 130

Ostrzeżeń: 60%
Naprawd? nie da si? gra? na wy?szych rozdzielczo?ciach typu 1024x768, ja bym radzi? zmieni? komputer. Na moim 9 letnim laptopie w 1366x768 MTA chodzi?o na 30FPS. Samo gui jest ju? przeskalowane za pomoc? relative.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-05-22, 19:56


xyzzz^

A nic






Wiek: 18
Na forum: 1993 dni
Posty: 319
Nick w MP: Aspyk21

Piwa: 308

Respekt: 81

Ostrzeżeń: 100%
Same GTA SA ma wymagania no... szczerze takie s?abe, ?e nawet z?om je uci?gnie [ gta na steam ]

Je?li nie mo?esz gra? minimalnie na 1000x500 (itd) to nawet za tworzenie serwer?w.
Co do tego GUI, pewnie ma u?yte z?e skalowanie, pomijaj?c fakt nie jest mo?liwe, ?e 1920x1080 na 640x480 b?dzie przeskalowane

Postaw piwo autorowi tego posta
 

 
Tagi: skalowanie :: gui
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku