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

Wysłany: 2021-05-04, 08:39


!ryzee

rebornMTA






Wiek: 20
Na forum: 2395 dni
Posty: 110
Nick w MP: drakovskyy

Piwa: 55

Respekt: 60

Siemka! Potrzebuj? wyskalowa? text i gui, po wej?ciu do pojazdu, ?eby na ka?dej rozdzia?ce by?o ?adnie i pi?knie :D . ?rednio ogarniam skalowanie, wi?c licze na pomoc! Stawiam Repke, za pomoc! I zimnego Harnasia!

Client:

local salon = {}
local dane = dxCreateFont('f.ttf', 20)
local dane1 = dxCreateFont('f.ttf', 12)
local nawa = dxCreateFont('f1.ttf', 20)
local dane123 = dxCreateFont('f.ttf', 12)


local sw,sh = guiGetScreenSize()
local scale = 1920 / sw

function convertNumber ( number )  
    local formatted = number  
    while true do      
        formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')    
        if ( k==0 ) then      
            break   
        end  
    end  
    return formatted
end


function mysz ( x, y, width, height )
    if ( not isCursorShowing( ) ) then
        return false
    end
    local sx, sy = guiGetScreenSize ( )
    local cx, cy = getCursorPosition ( )
    local cx, cy = ( cx * sx ), ( cy * sy )
    if ( cx >= x and cx <= x + width ) and ( cy >= y and cy <= y + height ) then
        return true
    else
        return false
    end
end

local anims, builtins = {}, {"Linear", "InQuad", "OutQuad", "InOutQuad", "OutInQuad", "InElastic", "OutElastic", "InOutElastic", "OutInElastic", "InBack", "OutBack", "InOutBack", "OutInBack", "InBounce", "OutBounce", "InOutBounce", "OutInBounce", "SineCurve", "CosineCurve"}

function table.find(t, v)
    for k, a in ipairs(t) do
        if a == v then
            return k
        end
    end
    return false
end


function animate(f, t, easing, duration, onChange, onEnd)
    assert(type(f) == "number", "Bad argument @ 'animate' [expected number at argument 1, got "..type(f).."]")
    assert(type(t) == "number", "Bad argument @ 'animate' [expected number at argument 2, got "..type(t).."]")
    assert(type(easing) == "string" or (type(easing) == "number" and (easing >= 1 or easing <= #builtins)), "Bad argument @ 'animate' [Invalid easing at argument 3]")
    assert(type(duration) == "number", "Bad argument @ 'animate' [expected function at argument 4, got "..type(duration).."]")
    assert(type(onChange) == "function", "Bad argument @ 'animate' [expected function at argument 5, got "..type(onChange).."]")
    table.insert(anims, {from = f, to = t, easing = table.find(builtins, easing) and easing or builtins[easing], duration = duration, start = getTickCount( ), onChange = onChange, onEnd = onEnd})
    return #anims
end

function destroyAnimation(a)
    if anims[a] then
        table.remove(anims, a)
    end
end

addEventHandler("onClientRender", root, function( )
    local now = getTickCount( )
    for k,v in ipairs(anims) do
        v.onChange(interpolateBetween(v.from, 0, 0, v.to, 0, 0, (now - v.start) / v.duration, v.easing))
        if now >= v.start+v.duration then
            if type(v.onEnd) == "function" then
                v.onEnd( )
            end
            table.remove(anims, k)
        end
    end
end)

ALPHA = 1
gotowka = false 
karta = false
salon.render = function()  
        local veh = getPedOccupiedVehicle(localPlayer)
        if not veh then return end
        local mileage = getElementData(veh, "vehicle:mileage") or 0
        local cena = tonumber(getElementData(veh, "cost"))
        local veh1 = getVehicleName(veh) 
        dxDrawImage(684/scale, 291/scale, progress/scale, 400/scale, ":ng-salony/menu.png", 0, 0, 0, tocolor(255, 255, 255, ALPHA1), false)
        dxDrawRectangle(721/scale, 355/scale, progress123/scale, 3/scale, tocolor(153, 204, 255, ALPHA1), false)

        dxDrawText(veh1, 697/scale, 308/scale, 927/scale, 361/scale, tocolor(255, 255, 255, ALPHA1), 1.00, nawa, "center", "center", false, false, false, false, false)
        dxDrawText("Przebieg", 697/scale, 361/scale, 927/scale, 414/scale, tocolor(161, 161, 161, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)
        dxDrawText(mileage.." km", 697/scale, 404/scale, 927/scale, 457/scale, tocolor(255, 255, 255, ALPHA1), 1.00, dane, "center", "center", false, false, false, false, false)
        dxDrawText("Bak", 697/scale, 457/scale, 927/scale, 510/scale, tocolor(161, 161, 161, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)
        dxDrawText("40L", 697/scale, 500/scale, 927/scale, 553/scale, tocolor(255, 255, 255, ALPHA1), 1.00, dane, "center", "center", false, false, false, false, false)
        dxDrawText("Pojemno??", 697/scale, 548/scale, 927/scale, 601/scale, tocolor(161, 161, 161, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)
        dxDrawText(poj, 697/scale, 591/scale, 927/scale, 644/scale, tocolor(255, 255, 255, ALPHA1), 1.00, dane, "center", "center", false, false, false, false, false)
        dxDrawText("Cena", 970/scale, 361/scale, 1200/scale, 414/scale, tocolor(161, 161, 161, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)
        dxDrawRectangle(955/scale, 552/scale, 253/scale, 40/scale, tocolor(25, 25, 25, ALPHA1), false)
        dxDrawRectangle(955/scale, 606/scale, 253/scale, 40/scale, tocolor(25, 25, 25, ALPHA1), false)
        --dxDrawText("\nPo zakupie pojazdu\nzostaniesz przetransportowany\ndo przechowalni pojazd?w", 970/scale, 455/scale, 1200/scale, 508/scale, tocolor(153, 204, 255, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)

        if mysz(955/scale, 552/scale, 253/scale, 40/scale) then
        dxDrawRectangle(955/scale, 590/scale, 253/scale, 2/scale, tocolor(248, 233, 0, ALPHA1), false)
        dxDrawText("Zakup", 953/scale, 552/scale, 1208/scale, 590/scale, tocolor(248, 233, 0, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)

        else
            dxDrawRectangle(955/scale, 590/scale, 253/scale, 2/scale, tocolor(255,255, 255, ALPHA1), false)
            dxDrawText("Zakup", 953/scale, 552/scale, 1208/scale, 590/scale, tocolor(255, 255, 255, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)

        end
        if mysz(955/scale, 606/scale, 253/scale, 40/scale) then
        dxDrawRectangle(955/scale, 644/scale, 253/scale, 2/scale, tocolor(248, 233, 0, ALPHA1), false)
        dxDrawText("Anuluj", 953/scale, 606/scale, 1208/scale, 644/scale, tocolor(248, 233, 0, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)

        else 
            dxDrawRectangle(955/scale, 644/scale, 253/scale, 2/scale, tocolor(255, 255, 255, ALPHA1), false)
            dxDrawText("Anuluj", 953/scale, 606/scale, 1208/scale, 644/scale, tocolor(255, 255, 255, ALPHA1), 1.00, dane1, "center", "center", false, false, false, false, false)
    end
    if gotowka == true then 
        dxDrawText("Got?wka", 1039/scale, 513/scale, 1115/scale, 531/scale, tocolor(255, 255, 255, 255), 1.00, dane123, "center", "center", false, false, false, false, false)
    else 
        dxDrawText("Karta", 1039/scale, 513/scale, 1115/scale, 531/scale, tocolor(255, 255, 255, 255), 1.00, dane123, "center", "center", false, false, false, false, false)
    end

    dxDrawText("P?atno??", 1039/scale, 500/scale, 1115/scale, 483/scale, tocolor(161, 161, 161, ALPHA1), 1.00, dane123, "center", "center", false, false, false, false, false)
    dxDrawImage(1118/scale, 508/scale, 40/scale, 28/scale, "arrow_right.png", 0,0,0, tocolor(255, 255, 255, 255), false)
    dxDrawImage(1002/scale, 508/scale, 40/scale, 28/scale,  "arrow_left.png", 0,0,0,tocolor(255, 255, 255, 255), false)
        dxDrawText(""..convertNumber(math.floor(cena)).." $", 970/scale, 399/scale, 1200/scale, 452/scale, tocolor(255, 255, 255, ALPHA1), 1.00, dane, "center", "center", false, false, false, false, false)
        --dxDrawText("Got?wka", 1014, 456, 1149, 484, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)
        --dxDrawText("Karta", 1014, 510, 1149, 538, tocolor(255, 255, 255, 255), 1.00, "default", "left", "top", false, false, false, false, false)

end


addEvent("salon:gui", true)
addEventHandler("salon:gui", root, function(interakcja)
    veh1 = getVehicleName(getPedOccupiedVehicle(localPlayer))
    veh = getPedOccupiedVehicle(localPlayer)
    if veh1 == "Alpha" then 
        veh1 = "Tesla"
    end
    if veh1 == "Hotring Racer 2" then 
        veh1 = "Mercedes AMG"
    end
    if veh1 == "Club" then 
        veh1 = "Toyota Supra"
    end
    if getElementData(veh, "elektryk") == true 
    then poj = "Elektryczne"
    else 
        poj = "1.4dm3"
    end
    setElementData(localPlayer, "salon:payment:cash", true)
    setElementData(localPlayer, "salon:payment:card", false)
    gotowka = true 
    karta = false 
    animate(2, 559, "Linear", 500, function(value) progress = value end)
    animate(0, 255, "Linear", 800, function(value1) ALPHA1 = value1 end)
    --zakup = exports['ng-dxGui']:dxCreateButton('Kup',968, 555, 256, 28,{255,255,255,255},2);
    --anuluj = exports['ng-dxGui']:dxCreateButton('Anuluj',968, 606, 256, 28,{255,255,255,255},2);
    animate(0, 180, "Linear", 500, function(value123) progress123 = value123 end)

    addEventHandler("onClientRender", root, salon.render)
    showCursor(true)
    
    addEventHandler("onClientClick", root, click)
end)


click = function(button, state)
    if (button == "left" and state == "up") then
        if (mouse(1118/scale, 508/scale, 40/scale, 28/scale)) and getElementData(localPlayer,"salon:payment:cash") == true then
            karta  = true 
            gotowka = false 
            setElementData(localPlayer, "salon:payment:card", true)
            setElementData(localPlayer, "salon:payment:cash", false)

        elseif mouse(1118/scale, 508/scale, 40/scale, 28/scale) and getElementData(localPlayer,"salon:payment:card") == true then 
            gotowka = true 
            karta = false 
            setElementData(localPlayer, "salon:payment:card", false)
            setElementData(localPlayer, "salon:payment:cash", true)
        elseif mouse(1118/scale, 508/scale, 40/scale, 28/scale) and getElementData(localPlayer,"salon:payment:card") == false and karta == true then 
            karta = true 
            gotowka = false 
            setElementData(localPlayer, "salon:payment:card", true)
            setElementData(localPlayer, "salon:payment:cash", false)
        elseif mouse(1118/scale, 508/scale, 40/scale, 28/scale) and getElementData(localPlayer,"salon:payment:card") == true and karta == true then 
            karta = false 
            gotowka = true 

            setElementData(localPlayer, "salon:payment:card", false)
            setElementData(localPlayer, "salon:payment:cash", true)
    end

        if (mouse(955/scale, 606/scale, 253/scale, 40/scale)) then
            removeEventHandler("onClientRender", root, salon.render)
            removeEventHandler("onClientClick", root, click)
            showCursor(false)
        end
        if(mouse(955/scale, 552/scale, 253/scale, 40/scale)) then
            triggerServerEvent("salon:buy", resourceRoot, localPlayer)
        end
    end
end

function mouse(x, y, w, h)
    if not isCursorShowing() then return end
    
    local sw, sh = guiGetScreenSize()
    local mouse = {getCursorPosition()}
    local myX, myY = (mouse[1] * sw), (mouse[2] * sh)
    if (myX >= x and myX <= (x + w)) and (myY >= y and myY <= (y + h)) then
        return true
    end
    
    return false
end



Serwer:

createBlip(-1660.95, 1213.61, 7.25, 55) -- Sportowe SF
createBlip(-1959.01, 278.27, 41.05, 55) -- Doherty SF
createBlip(-1905.53, -528.38, 24.64, 55) -- Cygan SF
createBlip(-2028.63, -108.39, 38.92, 36,2,0,0,0,0,0,275)


local object=createObject(1365, 807.44,-650.83,-70.55, 0, 0, 0)
setElementDimension(object,1)
local object2=createObject(1365, 807.44,-650.83,-68.55, 0, 0, 0)
setElementDimension(object2,1)
-- magazyn ^
-- salon lowrider
createObject(3578,1737.23,330.55,26.80,0,0,90)



function convertNumber ( number )  
    local formatted = number  
    while true do      
        formatted, k = string.gsub(formatted, "^(-?%d+)(%d%d%d)", '%1,%2')    
        if ( k==0 ) then      
            break   
        end  
    end  
    return formatted
end


positionVehicles = {

-- doherty SF
{'Clover', 542, 247,300000, -1949.20, 261.60, 35.13, 359.4, 0.0, 36.3,0,0},
{'Vincent', 540, 117,336000, -1947.21, 272.27, 35.33, 359.7, 0.0, 121.3,0,0},
{'Fortune', 526, 117,492000, -1958.60, 261.13, 35.24, 359.9, 0.1, 326.5,0,0},
{'Greenwood', 492, 587,408000, -1954.30, 302.67, 35.25, 0.0, 0.0, 150.6,0,0},
{'Sabre', 475, 986,536000, -1945.77, 273.75, 40.93, 0.1, 360.0, 122.7,0,0},
{'Premier', 426, 408,576000, -1945.79, 266.88, 40.80, 0.0, 0.0, 117.1,0,0},
{'Tahoma', 566, 1173,528000, -1946.03, 258.87, 40.83, 0.3, 0.0, 116.1,0,0},
--{'Euros', 587, 1276,600000, -1955.04, 257.14, 40.79, 0.0, 360.0, 335.8,0,0},
{'Intruder', 546, 34,432000, -1954.77, 304.12, 40.77, 0.0, 360.0, 152.3,0,0},
--{'Banshee', 429, 0, 5000000, -1962.31, 282.77, 35.15, 359.5, 0.1, 351.1,0,0},      


-- sportowe SF
--{'Uranus', 558, 27,3780000, -1670.44, 1205.39, 13.30, 359.6, 0.0, 293.0,0,0},
--{'Flash', 565, 17,4900000, -1665.68, 1223.51, 13.30, 359.7, 0.0, 202.8,0,0},
{'Sultan', 560, 4,5984000, -1655.12, 1216.41, 13.38, 359.9, 360.0, 45.5,0,0},
{'Jester', 559, 11,6840000, -1647.60, 1206.72, 13.33, 360.0, 360.0, 26.5,0,0},
--{'SuperGT', 506, 09,9080000, -1669.07, 1205.85, 20.86, 360.0, 360.0, 284.1,0,0},
--{'Cheetah', 415, 23,11440000, -1665.07, 1222.76, 20.93, 0.3, 0.0, 200.1,0,0},
{'Infernus', 411, 02,22000000, -1646.90, 1206.20, 20.88, 359.9, 359.9, 47.2,0,0},
--{'Bullet', 541, 03,11160000, -1654.66, 1216.08, 20.78, 359.5, 360.0, 44.9,0,0},
--{'Turismo', 451, 02,12380000, -1658.43, 1203.90, 20.86, 359.6, 359.9, 89.4,0,0},
--{'Porsche', 480, 1023, 6750000, -1662.35, 1214.59, 6.94, 359.9, 360.0, 236.2,0,0},
{'Elegy', 562, 07, 6137000, -1679.29, 1209.28, 20.81, 359.5, 359.9, 227.6,0,0},      
-- SALON BM
--{'Tesla', 602, 0, 3000000, -2525.34, 2314.01, 5.03, 0.1, 360.0, 175.5,0,0},
--{'Mercedes', 503, 0, 8000000, -2512.12, 2315.70, 4.98, 0.9, 0.0, 141.8,0,0},
--{'Mustang', 494, 0, 2000000, -2497.53, 2315.61, 5.10, 0.3, 359.9, 137.9,0,0},
--{'BMW', 516, 0, 13800000, -2491.33, 2315.22, 4.90, 0.1, 359.9, 138.0,0,0},      


-- cygan
--{'Tampa', 549, 20020,249000,  -1911.66, -511.79, 24.77, 357.5, 1.1, 213.6,0,0},
{'Sadler', 543, 20320, 240000, -1895.01, -524.64, 24.50, 358.5, 359.5, 136.9,0,0},
{'Perennial', 404, 20012, 180000, -1896.98, -539.31, 24.29, 359.6, 360.0, 123.8,0,0},
{'Moonbeam', 418, 22000, 144000, -1909.71, -539.67, 24.75, 0.0, 360.0, 353.0,0,0},
--{'Previon', 436, 24000, 216000, -1897.48, -520.83, 24.50, 358.9, 359.6, 142.3,0,0},
{'Picador', 600, 21000, 264000, -1907.90, -522.47, 24.47, 359.0, 0.6, 234.7,0,0},

-- Offroad SF
--{'Mesa', 500, 36540, 1345000, -2834.28, 1321.02, 8.35, 338.9, 360.0, 223.9,0,0},
--{'Huntley', 579, 11320, 2540000, -2823.05, 1324.89, 7.99, 339.8, 0.0, 180.2,0,0},
--{'Rancher', 489, 18765, 3478000, -2813.77, 1325.18, 8.32, 340.1, 359.9, 179.8,0,0},    
--{'Bandito', 568, 18115, 11111111, -2804.13, 1325.39, 8.00, 340.1, 355.2, 166.9,0,0},    


-- Motory SF
--{'BF-400', 581, 2300, 570000, -2478.51, -170.42, 25.21+0.25, 359.3, 0.0, 90.5,0,0},      
--{'FCR-900', 521, 1100, 640000, -2478.49, -174.63, 25.19+0.25, 359.2, 0.0, 92.5,0,0},    
--{'PCJ-600', 461, 800, 510000, -2478.48, -178.87, 25.20+0.25, 358.8, 0.0, 90.1,0,0},
--{'NRG-500', 522, 287, 780000, -2478.48, -183.07, 25.19+0.25, 358.9, 0.0, 91.7,0,0},
--{'Freeway', 463, 786, 620000, -2478.42, -187.23, 25.16+0.25, 359.8, 0.0, 90.3,0,0},
--{'Sanchez', 468, 987, 548000, -2478.31, -191.45, 25.29+0.25, 359.9, 360.0, 90.9,0,0},
--{'Wayfarer', 586, 455, 470000, -2478.48, -195.68, 25.14+0.25, 359.9, 0.0, 91.0,0,0},

-- LOWRIDERY
--{'Lamborghini Sian', 412, 12, 35000000, -1492.04, 745.91, 6.82, 0.6, 360.0, 125.3,1400,0},
--{'Mercedes AMG v2', 517, 12, 25000000, -2062.32, -33.48, 36.03, 341.0, 359.9, 324.8,1450,0},


--{'Tornado', 576, 0, 1850000, 2157.76, 988.41, 10.43, 0.3, 0.0, 359.6,0,0},      
--{'Slamvan', 535, 0, 1500000, 2148.15, 988.09, 10.58, 359.8, 360.0, 0.3,0,0},      
--BM
--{'Ford GT', 507, 500, 12000000, -2509.87, 2300.39, 5.06, 359.6, 0.0, 33.3,0,0},      

--{'Audi R8', 491, 255, 6000000, -2504.15, 2316.25, 4.84, 359.5, 0.0, 136.6,0,0},      
--{'BMW i8', 603, 255, 25000000, -2515.74, 2299.61, 4.97, 359.9, 359.9, 37.5,0,0},      

--{'BMW M5', 405, 124, 8500000, -2522.42, 2299.92, 5.18, 0.1, 360.0, 39.2,0,0},      
--{'Nissan GT-R', 439, 52, 7500000, -1491.89, 767.21, 6.93, 1.0, 360.0, 130.5,0,0},    
--{'Nissan Silvia', 567, 1, 7500000, -1492.04, 752.29, 6.64, 1.5, 0.0, 126.6,0,0},

-- LS
--{'Toyota Supra', 589, 32, 7000000, -1510.93, 788.36, 6.71, 0.3, 0.0, 230.4,0,0},
--{'Toyota Supra', 419, 2, 9000000, -1510.71, 780.17, 6.71, 0.3, 0.0, 229.4,0,0},
--{'Nissan GTR', 536, math.random(500,1200), 9000000, -1510.76, 772.76, 6.63, 0.1, 0.0, 230.6,0,0},
--{'Audi', 604, math.random(500,1200), 34000000, -1491.97, 760.05, 6.87, 359.3, 360.0, 127.8,0,0},
--{'Mercedes-Benz Drift Version', 580, math.random(3,300), 13999323, -1510.77, 753.05, 6.96, 2.2, 0.0, 310.4,0,0},
--{'Buggati Divo', 518, 0, 56323454, -1492.38, 773.74, 6.91, 0.0, 360.0, 130.5,0,0},
--{'Mini', 496, 0, 28999999, -1492.04, 781.16, 6.80, 359.8, 360.0, 131.3,0,0},
--{'Cabbie', 438, 0, 1999999, 2232.58, 1499.08, 11.76, 340.8, 356.3, 40.4,0,0},
--{'Mitsubishi', 479, 0, 99999999, 2231.72, 1486.93, 11.53, 340.3, 355.5, 40.0,0,0},


--{'Mower', 572, 0, 3000000, -2056.76, 13.99, 36.25, 341.6, 357.1, 172.1,1250,0}, -- EVENT
--{'BMX', 481, 0, 1200000, -2063.54, 13.85, 36.14, 338.7, 7.4, 202.2,50,0}, -- EVENT
--{'Windsor', 555, 0, 12500000, 2183.90, 1673.64, 10.72, 360.0, 359.7, 41.7,0,0},
--{'Corvette', 421, 0, 250000000, 2231.27, 1471.68, 11.19, 343.6, 349.4, 21.7,3000,0},
--{'Lamborghini', 550, 0, 250000000, 2231.87, 1458.98, 11.14, 341.4, 353.4, 33.8,3000,0},
--{'BMW', 527, 0, 250000000,2231.42, 1446.89, 11.49, 341.5, 351.6, 28.5,3000,0},
--{'BMW E30', 477, 0, 250000000,2231.05, 1430.38, 11.25, 345.3, 348.8, 19.4,3300,0},

-- DOSTAWCZAKI
--{'Burrito', 482, 0, 24553211, -2645.97, 1378.62, 7.29, 358.9, 359.8, 234.5,0,0},
--{'Pony', 413, 0, 18423123, -2645.49, 1363.20, 7.25, 358.7, 0.1, 282.8,0,0},
--{'Berkley\'s RC Van', 459, 0, 12774511, -2644.56, 1333.87, 7.23, 359.3, 359.4, 307.9,0,0},
--{'Rumpo', 440, 0, 13972211, -2644.94, 1345.42, 7.27, 358.9, 0.2, 291.1,0,0},
--{'Bobcat', 422, 0, 11201244, -2632.07, 1334.50, 7.18, 359.1, 0.1, 311.6,0,0},
--{'Rolls Royce', 467, 0, 95000000, -1492.15, 788.45, 6.76, 0.5, 359.9, 130.6,2000,0},


}
for i,v in pairs(positionVehicles) do
    local cena = v[4]
    local veh=createVehicle(v[2], v[5], v[6], v[7], v[8], v[9], v[10], v[11])

    if getVehicleName(veh) == "Phoenix" then
        setElementData(veh,'vehicle:desc','Pojazd elektryczny\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
    elseif getVehicleName(veh) == "Blade" then
        setElementData(veh,'vehicle:desc','Driftow?z\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
        elseif getVehicleName(veh) == "Club" then
            setElementData(veh,'vehicle:desc','Driftow?z\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
            elseif getVehicleName(veh) == "Stafford" then
                setElementData(veh,'vehicle:desc','Driftow?z\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
            elseif getVehicleName(veh) == "Esperanto" then
                setElementData(veh,'vehicle:desc','Driftow?z\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
    elseif getVehicleName(veh) == "Alpha" then
        setElementData(veh,'vehicle:desc','Pojazd elektryczny\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
    elseif getVehicleName(veh) == "Savanna" then 
        setElementData(veh,'vehicle:desc','Pojazd dodany dzi?ki sponsorowi Surfek z okazji Halloween, dzi?kujemy!\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
        elseif getVehicleName(veh) == "Sadler Damaged" then 
            setElementData(veh,'vehicle:desc','Lataj?cy pojazd\nDeluxo\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
    elseif getVehicleName(veh) == "Stallion" then
        setElementData(veh,'vehicle:desc','Pojazd dodany dzi?ki sponsorowi Sasha, dzi?kujemy!\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')
    elseif getVehicleName(veh) == "Hustler" then
        setElementData(veh,'vehicle:desc','Pojazd dodany z okazji Halloween, dost?pny na czas nieokre?lony\nAby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')

    else 
        setElementData(veh,'vehicle:desc','Aby wy?wietli? wi?cej informacji nt. tego modelu wsi?d? do pojazdu\nCena: '..convertNumber(math.floor(cena))..' $\nWymagana reptuacja: '..v[11]..'')


        end
    setVehicleOverrideLights(veh, 1)
    setElementFrozen(veh, true)
        setElementData(veh,'recznySalonData', true)
    setVehicleColor(veh, 153, 204, 255)
    setVehiclePlateText(veh,v[1])
    setVehicleDamageProof(veh, false)
    setElementData(veh,'vehicle.selling', true)
    setElementData(veh,"vehicle:pojemnosc",wybranapojemnosc)
    setElementData(veh, "cost", v[4])
    setElementData(veh, "rp", v[11])

    setElementData(veh, "vehicle:mileage", v[3])
    setVehicleDamageProof(veh, true)

    if wybranapojemnosc == "1.2" then 
wybranapojemnosc = "1"
elseif wybranapojemnosc == "1.4" then
wybranapojemnosc = "2"
elseif wybranapojemnosc == "1.6" then
wybranapojemnosc = "3"
elseif wybranapojemnosc == "1.8" then
wybranapojemnosc = "4" 
elseif wybranapojemnosc == "2.0" then
wybranapojemnosc = "5"
end
    
    
    
    veh:setData('vehsell:info', {
        ['cost']=(v[4]),
        ['model']=v[2],
        ['mileage']=v[3],
        ['selling']=v[10],
        ['pojemnosc']=v[11]
    ,0,0}, false)
end

function wyliczpoj(name)
local poj = getElementData(name,"vehicle:pojemnosc")
if poj == "1" then
tszy = "1.2"
elseif poj == "2" then
tszy = "1.4"
elseif poj == "3" then
tszy = "1.6"
elseif poj == "4" then
tszy = "1.8"
elseif poj == "5" then
tszy = "2.0"
elseif poj == "6" then
tszy = "2.2"
elseif poj == "7" then
tszy = "2.4"
elseif poj == "8" then
tszy = "2.7"
elseif poj == "9" then
tszy = "3.0"
elseif poj == "10" then
tszy = "3.2"
elseif poj == "11" then
tszy = "3.4"
elseif poj == "12" then
tszy = "3.6"
elseif poj == "13" then
tszy = "3.8"
elseif poj == "14" then
tszy = "4.0"
end
end

addEventHandler('onVehicleEnter', resourceRoot, function(plr, seat, jacked)
    triggerClientEvent(plr, "salon:gui", plr, "on")
    showCursor(source, true)
end)

addEventHandler('onVehicleExit', resourceRoot, function(plr, seat, jacked)
    if seat~=0 then return end

    local data=plr:getData('vehsell:info')
    if not data then return end

    plr:removeData('vehsell:info')
end)


addEvent("salon:buy", true)
addEventHandler("salon:buy", resourceRoot, function(plr)
    local vehicle=plr:getOccupiedVehicle()
    if getElementData(vehicle, "rp") > getElementData(plr, "player:srp") then 
        triggerClientEvent(plr, "createNotif",plr,"Nie masz wystarczaj?co reputacji,\n?eby kupi? ten pojazd!",3,"error")
        return end
        if getVehicleName(vehicle) == "Washington" or getVehicleName(vehicle) == "Cadrona" or getVehicleName(vehicle) == "Sunrise" or getVehicleName(vehicle) == "Hotring Racer 3" or getVehicleName(vehicle) == "Willard" or getVehicleName(vehicle) == "Regina" then
            if not getElementData(plr, "player:gold") then 
                triggerClientEvent(plr, "createNotif",plr,"Aby zakupi? ten pojazd, musisz posiada? golda!",3,"error")
                return 
            end
        end 
    local cost=vehicle:getData("cost")

    if getElementData(plr, "salon:payment:cash") == true then 
        if cost > 99999999 then 
            triggerClientEvent(plr, "createNotif",plr,"Za ten pojazd musisz zap?aci? kart?!",3,"error")
            return 
        end
    end
    if getElementData(plr, "salon:payment:cash") == true then
    if getPlayerMoney(plr) < getElementData(getPedOccupiedVehicle(plr), "cost") then
        triggerClientEvent(plr, "createNotif",plr,"Nie posiadasz wystarczajacej kwoty pieniedzy!",3,"error")

        return
    end
end
    local vehicle=plr:getOccupiedVehicle()
    if vehicle then
        removePedFromVehicle(vehicle)
    end

    local cost=vehicle:getData("cost")
    local model=getElementModel(vehicle)
    local mileage=vehicle:getData("vehicle:mileage")
    local pojemnosc=vehicle:getData("vehicle:poj")
    local uid=getElementData(plr,'player:sid') or 0
    if getElementData(plr, "salon:payment:cash") == true then 
    takePlayerMoney(plr, cost)
    else 
        local ilosc_kasy = exports["pystories-db"]:dbGet("SELECT bank_money FROM pystories_users WHERE id=" .. getElementData(plr, "player:sid") .. " LIMIT 1")
        local kasa=ilosc_kasy[1]
        if kasa.bank_money < cost then
            triggerClientEvent(plr, "createNotif",plr,"Nie posiadasz "..cost.." $!",3,"error")
            return
        end
        exports["pystories-db"]:dbSet("UPDATE pystories_users SET bank_money=bank_money-" .. cost .. " WHERE id=" .. uid .. " LIMIT 1")
    end
    if model == 602 or model == 603 then 
            exports["pystories-db"]:dbSet("INSERT INTO pystories_vehicles (model,fuel,bak,ownedPlayer,firstOwner,mileage,registered,parking,engine) VALUES (?,?,?,?,?,?,?,1,?)", model,"100","100", getElementData(plr,"player:sid"), getPlayerName(plr),mileage,"true","diesel")
    else
    exports["pystories-db"]:dbSet("INSERT INTO pystories_vehicles (model,ownedPlayer,firstOwner,mileage,registered,parking,engine) VALUES (?,?,?,?,?,1,?)", model, getElementData(plr,"player:sid"), getPlayerName(plr),mileage,"true","diesel")
    end
    exports["pystories-db"]:dbSet("INSERT INTO logi_salon (Model,Cena,Kto) VALUES (?,?,?)",getVehicleNameFromModel(model),cost,getPlayerName(plr):gsub("#%x%x%x%x%x%x",""))
    print("[SALON] Dodano log do salonu!")
    triggerClientEvent(plr, "createNotif",plr,"Pomy?lnie zakupiono: "..getVehicleNameFromModel(model).."\nSzerokiej drogi! ?yczy Ekipa\n.newGame",3,"success")


end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2021-05-04, 10:30


TheSebaPL

Mod-team






Wiek: 22
Na forum: 3239 dni
Posty: 964

Piwa: 3101

Respekt: 640,5
Respekt: 640,5Respekt: 640,5

Ja u?ywam takiego skalowania:


local sx, sy = guiGetScreenSize()
local px, py = (sx/1280),(sy/720)


1280 tak?e 720 zmie? na swoj? rozdzielczo?? je?eli robi?e? na 1920x1080 to tak wpisz.


        dxDrawText(veh1, 697*px, 308*py, 927*px, 361*py, tocolor(255, 255, 255, ALPHA1), 1.00, nawa, "center", "center", false, false, false, false, false)


Wed?ug mnie jest dobre to skalowanie i na ka?dej rozdzielczo?ci ma wszystko dobrze wygl?da?.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
!ryzee
Wysłany: 2021-05-04, 16:57


MeeShuffle

Programista/Grafik






Wiek: 33
Na forum: 4536 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8578

Respekt: 535,3
Respekt: 535,3

W tym dziale moge cie jedynie nakierowac jak to zrobic.

Na poczatku mala rada - skaluj w jak najwiekszej mozliwie rozdzielczosci - lepiej cos zmniejszyc bez utraty jakosci niz powiekszyc i stworzyc piksele :)

Na pocz?tku definiujesz sobie zmienn? do pobrania w,h ekranu gracza

Kod:

screen=Vector2(guiGetScreenSize())



Nast?pnie dla przyk?adu mamy x,y,w,h okna : 150,200,450,500


Po wyskalowaniu wygl?da to tak


Kod:

(150/1920)*screen.x, (200/1080)*screen.y, (450/1920)*screen.x, (500/1080)*screen.y



Gdzie 1920 i 1080 to twoja rozdzielczosc NA KTOREJ TWORZYLES dany element

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
!ryzee
Tagi: skalowanie :: gui :: salonie
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