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

Wysłany: 2016-04-01, 15:42


Patrix100

Amator LUA.






Wiek: 26
Na forum: 4028 dni
Posty: 182
Nick w MP: .:Patrix:.

Piwa: 953

Respekt: 40,5

Lock

Ostatnio zmieniony przez Patrix100 2016-04-06, 17:23, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 15:45


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4290 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4661

Respekt: 1436,8
Respekt: 1436,8

Je?li chodzi o wyswietlenie licznika na ekranie to
Więcej informacji znajdziesz w Wikipedii MTA:

dxDrawText

z eventem
Więcej informacji znajdziesz w Wikipedii MTA:

onClientVehicleEnter


Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 18:50


Patrix100

Amator LUA.






Wiek: 26
Na forum: 4028 dni
Posty: 182
Nick w MP: .:Patrix:.

Piwa: 953

Respekt: 40,5

"_Wicek_" napisał/a:

Patrix100, Od czego masz przyk?ady na WIKI ?, my mo?emy Ci pom?c a nie pisa? ca?y kod za Ciebie...

Tak?
function przebieg ( )
local przebieg = getElementData(vehicle, "vehicle:mileage")
if przebieg then
dxDrawText("Przebieg: "..math.floor(przebieg/1000).." km", sX - 366, sY - 90, sX - 10, sY, tocolor(255,255,255,255), 1, "default", "center", "center", false, true)
        end
    end
addEventHandler("onClientVehicleEnter", getRootElement(), przebieg)


[ Komentarz dodany przez: Emm: 2016-04-01, 18:52 ]
To przetestuj i zdaj rezultaty

[ Dodano: 2016-04-01, 18:54 ]
Po wej?ciu do auta taki b??d:
Kod:

WARNING: Licznik/speedom.lua:143: Bad argument @ 'getElementData' [Expected element at argument 1, got nill]


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 19:17


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4290 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4661

Respekt: 1436,8
Respekt: 1436,8

Gdzie masz zdefiniiowane 'vehicle' ?

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Ostatnio zmieniony przez marcin778 2016-04-01, 19:29, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 19:20


Emm

***** ***






Wiek: 32
Na forum: 4021 dni
Posty: 3191
Nick w MP: Emm

Piwa: 6171

Respekt: 1580
Respekt: 1580Respekt: 1580


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
function przebieg ( )
local vehicle =  getPedOccupiedVehicle(localPlayer)
local przebieg = getElementData(vehicle, "vehicle:mileage")
if przebieg then
dxDrawText("Przebieg: "..math.floor(przebieg/1000).." km", sX - 366, sY - 90, sX - 10, sY, tocolor(255,255,255,255), 1, "default", "center", "center", false, true)
        end
    end
addEventHandler("onClientVehicleEnter", getRootElement(), przebieg)


Podpis

Użytkownik: 20.10.2015r
GTAO Member: 06.03.2016r
Support-Team: 20.01.2016r
Moderator: 30.03.2016r
Mod-Team: 08.10.2016r
Vice Admin: 04.05.2018r
Administrator: 03.05.2022r


! Koniecznie zapoznaj się z regulaminem forum.
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również regulaminy działów, w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez Administrację, przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w tym dziale.
Najważniejsze informacje od Administracji możesz przeczytać tutaj oraz tutaj.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 19:27


_Wicek_

Majstersztyk






Wiek: 26
Na forum: 4401 dni
Posty: 747
Nick w MP: Wicek

Piwa: 1842

Respekt: 360,5
Respekt: 360,5Respekt: 360,5Respekt: 360,5Respekt: 360,5

Ostrzeżeń: 40%

Więcej informacji znajdziesz w Wikipedii MTA:

onClientRender


Podpis

Support-Team: 25.01.2016
Moderator: 10.07.2016




GG: 51274621
Skype : kuba_wicinski
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 21:45


Patrix100

Amator LUA.






Wiek: 26
Na forum: 4028 dni
Posty: 182
Nick w MP: .:Patrix:.

Piwa: 953

Respekt: 40,5

"Emm" napisał/a:

function przebieg ( )
local vehicle =  getPedOccupiedVehicle(localPlayer)
local przebieg = getElementData(vehicle, "vehicle:mileage")
if przebieg then
dxDrawText("Przebieg: "..math.floor(przebieg/1000).." km", sX - 366, sY - 90, sX - 10, sY, tocolor(255,255,255,255), 1, "default", "center", "center", false, true)
        end
    end
addEventHandler("onClientVehicleEnter", getRootElement(), przebieg)

Taki b??d:
Kod:

ERROR: Licznik\speedom/lua:147: attempt to perform atrihmetirc on global 'sX' (a nill value)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-01, 22:36


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4979 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

na samej gorze kodu dodaj :


local sX, sY = guiGetScreenSize()


Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-02, 11:37


Patrix100

Amator LUA.






Wiek: 26
Na forum: 4028 dni
Posty: 182
Nick w MP: .:Patrix:.

Piwa: 953

Respekt: 40,5

"Jurandovsky" napisał/a:

na samej gorze kodu dodaj :


local sX, sY = guiGetScreenSize()

Tak wygl?da kod i nie dzia?a:
local sX, sY = guiGetScreenSize()
g_root = getRootElement()
g_rootElement = getResourceRootElement( getThisResource() )
g_Player = getLocalPlayer()

c_EnableScaling = true
-- --> These values will be scaled with screen size
-- Offsets from the lower right screen corner
c_XOffset = 450
c_YOffset = 1.00
c_ImageW = 2850
c_ImageH = 2850
c_BarW = 50
c_BarH = 10
c_BarYOffset = 70
-- <--

-- All other values are fixed
c_FireTimeMs = 5000
c_BarAlpha = 120
c_BarFlashInterval = 300

g_tFireStart = nil

function drawNeedle()
    if not isPedInVehicle(g_Player) then
        -- Fallback for player exiting car without onClientVehicleStartExit event
        --   (e.g. falling off a bike)
        hideSpeedometer()
    end
    local vehSpeed = getVehicleSpeed()
    --local vehHealth = getElementHealth(source,getPedOccupiedVehicle(g_Player))

    if vehHealth and (vehHealth > 0) then
        -- Show a little red/green health bar on the speedo
        local hp = (vehHealth-250)/750
        local curBarLen = hp*g_BarW
        if curBarLen < 1 then curBarLen = 1 end

        -- green/yellow till 50%, then yellow/red
        local r = 255*(1 - hp)/0.5
        if r > 255 then r = 255 end
        local g = 255*hp/0.5
        if g > 255 then g = 255 end
        if g < 0 then g = 0 end
       
        if hp >= 0 then
            g_tFireStart = nil
            dxDrawRectangle(x + g_ImageW/2 - g_BarW/2, y + g_BarYOffset, curBarLen, g_BarH, tocolor(r, g, 0, c_BarAlpha))
        else
            -- Flash red bar for 5s when car is about to blow
            if not g_tFireStart then g_tFireStart = getTickCount() end
            local firePerc = (c_FireTimeMs - (getTickCount() - g_tFireStart)) / c_FireTimeMs
            if firePerc < 0 then firePerc = 0 end
            local a = c_BarAlpha
            if (getTickCount()/c_BarFlashInterval)%2 > 1 then a = 0 end
            dxDrawRectangle(x + g_ImageW/2 - g_BarW/2, y + g_BarYOffset, firePerc*g_BarW, g_BarH, tocolor(255, 0, 0, a))
        end    
    end
    -- Draw rotated needle image
    -- Image is scaled exactly 1? per kmh of speed, so we can use vehSpeed directly
    dxDrawImage(x, y, g_ImageW, g_ImageH, "needle.png", vehSpeed, 0, 0, white, true)
end


function showSpeedometer()
    guiSetVisible(disc, true)
    addEventHandler("onClientRender", g_root, drawNeedle)
end
function hideSpeedometer()
    guiSetVisible( disc, false)
    removeEventHandler("onClientRender", g_root, drawNeedle)
end

function getVehicleSpeed()
    if isPedInVehicle(g_Player) then
        local vx, vy, vz = getElementVelocity(getPedOccupiedVehicle(g_Player))
        return math.sqrt(vx^2 + vy^2 + vz^2) * 161
    end
    return 0
end


addEventHandler("onClientVehicleEnter", g_root,
    function(thePlayer)
        if thePlayer == g_Player then
            showSpeedometer()
        end
    end
)

addEventHandler("onClientVehicleStartExit", g_root,
    function(thePlayer)
        if thePlayer == g_Player then
            hideSpeedometer()
        end
    end
)

function round(num)
    return math.floor(num + 0.3)
end

function initGui()
    if disc then
        destroyElement(disc)
    end
    g_screenWidth, g_screenHeight = guiGetScreenSize()
    local scale
    if c_EnableScaling then
        scale = (g_screenWidth/14000 + g_screenHeight/13550)/2
    else
        scale = 1
    end
    g_XOffset = round(c_XOffset*scale)
    g_YOffset = round(c_YOffset*scale)
    g_ImageW = round(c_ImageW*scale)
    g_ImageH = round(c_ImageH*scale)
    g_BarW = round(c_BarW*scale)
    g_BarH = round(c_BarH*scale)
    g_BarYOffset = round(c_BarYOffset*scale)
    disc = guiCreateStaticImage(g_screenWidth - g_ImageW - g_XOffset, g_screenHeight - g_ImageH - g_YOffset, g_ImageW, g_ImageH, "disc.png", false)
    x, y = guiGetPosition(disc, false)
end

addEventHandler("onClientResourceStart", g_rootElement,
    function ()
        initGui()
        guiSetVisible(disc, false)
        setTimer(function()
            local w, h = guiGetScreenSize()
            if (w ~= g_screenWidth) or (h ~= g_screenHeight) then
                initGui()
            end
        end, 500, 0)
        if isPedInVehicle(g_Player) then
            showSpeedometer()
        end
    end
)


function przebieg ( )
local vehicle =  getPedOccupiedVehicle(localPlayer)
local przebieg = getElementData(vehicle, "vehicle:mileage")
if przebieg then
dxDrawText("Przebieg: "..math.floor(przebieg/1000).." km", sX - 366, sY - 90, sX - 10, sY, tocolor(255,255,255,255), 1, "default", "center", "center", false, true)
        end
    end
addEventHandler("onClientVehicleEnter", getRootElement(), przebieg)

I taki b??d w db3:
Kod:

WARNING: Licznik/speedom.lua:145: Bad argument @ 'getElementData' [Expected element at argument 1, got nill]


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-02, 18:42


SuperMan.

Firefighter






Wiek: 23
Na forum: 3941 dni
Posty: 47
Nick w MP: LORDG

Piwa: 3922

Respekt: 62,5

Ostrzeżeń: 60%
Spr?b?j w tej linijce :

local przebieg = getElementData(vehicle, "vehicle:mileage")

zrobi? :

local przebieg = getElementData(vehicle, "mileage")

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-03, 16:24


EseJax







Wiek: 31
Na forum: 4227 dni
Posty: 67
Nick w MP: Toffy.

Piwa: 983

Respekt: 55,3

Ostrzeżeń: 100%
function przebieg (plr)
local vehicle =  getPedOccupiedVehicle(plr)
local przebieg = getElementData(vehicle, "vehicle:mileage")
if przebieg then
dxDrawText("Przebieg: "..math.floor(przebieg/1000).." km", sX - 366, sY - 90, sX - 10, sY, tocolor(255,255,255,255), 1, "default", "center", "center", false, true)
        end
    end
addEventHandler("onClientVehicleEnter", getRootElement(), przebieg)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-04-03, 16:55


Emm

***** ***






Wiek: 32
Na forum: 4021 dni
Posty: 3191
Nick w MP: Emm

Piwa: 6171

Respekt: 1580
Respekt: 1580Respekt: 1580


   Administrator: Admin ma zawsze rację | REGULAMIN FORUM | REKLAMA/VIP | .
Podepnij
Więcej informacji znajdziesz w Wikipedii MTA:

onClientRender
pod dxDrawText

Podpis

Użytkownik: 20.10.2015r
GTAO Member: 06.03.2016r
Support-Team: 20.01.2016r
Moderator: 30.03.2016r
Mod-Team: 08.10.2016r
Vice Admin: 04.05.2018r
Administrator: 03.05.2022r


! Koniecznie zapoznaj się z regulaminem forum.
Pamiętaj, aby zawsze go przestrzegać, nie mniej ważne są również regulaminy działów, w których się wypowiadasz!
Zamiast zakładać temat po kilka razy, bo jest usuwany przez Administrację, przejrzyj regulamin i napisz poprawnie temat!
Sprawy z administracją możesz załatwiać anonimowo w tym dziale.
Najważniejsze informacje od Administracji możesz przeczytać tutaj oraz tutaj.
Postaw piwo autorowi tego posta
 

 
Tagi: lock
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Lock 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