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

Wysłany: 2019-08-09, 17:02


koko7864

PSEUDO SKRYPTER






Wiek: 22
Na forum: 3371 dni
Posty: 41
Nick w MP: Mar0x

Piwa: 1

Respekt: 50

Witam Licznik by? czerwony pomalowa?em go na niebiesko a obramowanie jest dalej czerwone a wszystko pomalowa?em w gimpie licznik z paczki CrazyRPG v2 PYS 3.0



local scx,scy = guiGetScreenSize()
local px = scx/1920

local sizeX,sizeY = 350*px,350*px
local posX,posY = scx-sizeX,scy-sizeY

local font1 = dxCreateFont( "files/AEROMATICSBOLD.ttf",17*px )
local font2 = dxCreateFont( "files/AEROMATICSBOLDITALIC.ttf" )
local font3 = dxCreateFont( "files/AEROMATICSITALIC.ttf",50*px )
local font4 = dxCreateFont( "files/AEROMATICSITALIC.ttf",18*px )

function math.lerp(a, b, k)
    local result = a * (1-k) + b * k
    if result >= b then
        result = b
    elseif result <= a then
        result = a
    end
    return result
end

local alpha = 255
local side = true
local pulsing = true

function drawSpeedometer()
    local veh = getPedOccupiedVehicle(localPlayer)
    if veh then
        local speedx, speedy, speedz = getElementVelocity ( veh )
        local actualspeed = (speedx^2 + speedy^2 + speedz^2)^(0.5)
        local kmh = math.floor(actualspeed * 180)
        local rotation = math.lerp(-152,90,kmh/300)
        if rotation >= 90 then rotation = math.random(88,92) end
        local paliwo = getElementData(veh,"vehicle:fuel") or 100  -- &#1055;&#1077;&#1088;&#1077;&#1084;&#1077;&#1085;&#1085;&#1072;&#1103; &#1090;&#1086;&#1087;&#1083;&#1080;&#1074;&#1072;
        local fuel = math.floor(paliwo)
        local fuelmax = 100 -- &#1054;&#1073;&#1098;&#1105;&#1084; &#1073;&#1072;&#1082;&#1072;
        local rotation2 = math.lerp(-150,90,fuel/fuelmax)
        if rotation2 <= -125 then pulsing = true else pulsing = false end

        local gear = getVehicleCurrentGear( veh )
        if gear == 0 then
            if kmh <= 1 then
                gear = "N"
            else
                gear = "R"
            end 
        elseif gear == 1 then
            if kmh <= 2 then
                gear = "N"
            end
        end

        dxDrawText(gear,posX,posY,posX+sizeX,posY+sizeY,tocolor(0,100,100),1,font1,"center","center")
        dxDrawText(kmh,posX+60*px,posY+250*px,posX+sizeX,posY+250*px,tocolor(255,255,255),1,font3,"center","center")

        dxDrawImage(posX,posY,sizeX,sizeY,"files/Spedo.png")
        dxDrawImage(posX,posY,sizeX,sizeY,"files/strelkaspedo.png",rotation) -- -150 to 90

        if pulsing then
            if side then alpha = alpha + 5 else alpha = alpha -5 end
            if alpha <= 0 then side = true elseif alpha >= 255 then side = false end
            dxDrawImage(posX-200*px,posY+100*px,sizeX,sizeY,"files/benz2.png",0,0,0,tocolor(200,0,0,alpha))
        end

        dxDrawImage(posX-200*px,posY+100*px,sizeX,sizeY,"files/benz.png")
        dxDrawImage(posX-200*px,posY+100*px,sizeX,sizeY,"files/strelkabenz.png",rotation2) -- -150 to 90
        dxDrawText(fuel.."/"..fuelmax.."L ",posX,posY+310*px,posX+30*px,posY+310*px,tocolor(255,255,255),1,font4,"center","center")
        dxDrawText(math.floor(getElementData(veh, "vehicle:mileage")).." KM",posX+300,posY+310*px,posX+30*px,posY+310*px,tocolor(255,255,255),1,font4,"center","center")

        if getVehicleEngineState( veh ) then
            dxDrawImage(posX-100*px,posY-140*px,512*px,512*px,"files/engine.png",0,0,0,tocolor(200,0,0))
        else
            dxDrawImage(posX-100*px,posY-140*px,512*px,512*px,"files/engine.png",0,0,0,tocolor(255,255,255))
        end

        if getVehicleOverrideLights( veh ) == 2 then
            dxDrawImage(posX-60*px,posY-140*px,512*px,512*px,"files/light.png",0,0,0,tocolor(200,0,0))
        elseif getVehicleOverrideLights( veh ) == 1 then
            dxDrawImage(posX-60*px,posY-140*px,512*px,512*px,"files/light.png",0,0,0,tocolor(255,255,255))
        else
            local h,m = getTime()
            if h >= 7 and h <= 21 then
                dxDrawImage(posX-60*px,posY-140*px,512*px,512*px,"files/light.png",0,0,0,tocolor(255,255,255))
            else
                dxDrawImage(posX-60*px,posY-140*px,512*px,512*px,"files/light.png",0,0,0,tocolor(200,0,0))
            end
        end

        if isVehicleLocked(veh) then
            dxDrawImage(posX-20*px,posY-120*px,512*px,512*px,"files/lock.png",0,0,0,tocolor(200,0,0))
        else
            dxDrawImage(posX-20*px,posY-120*px,512*px,512*px,"files/lock.png",0,0,0,tocolor(255,255,255))
        end

        if ccEnabled then
            dxDrawImage(posX-140*px,posY-120*px,512*px,512*px,"files/kruiz.png",0,0,0,tocolor(200,0,0))
        else
            dxDrawImage(posX-140*px,posY-120*px,512*px,512*px,"files/kruiz.png",0,0,0,tocolor(255,255,255))
        end
    end
end
addEventHandler("onClientRender",root,drawSpeedometer)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2019-08-09, 18:09


Wilq







Wiek: 24
Na forum: 4570 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Dziewi?ty argument funkcji dxDrawImage odpowiada za kolor wy?wietlanego obrazu.

Postaw piwo autorowi tego posta
 

 
Tagi: licznik :: polamowany :: niebiesko :: obramowanie :: czerwono
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