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

Wysłany: 2016-01-31, 12:18


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Witam, posiadam system prywatnych pojazd?w od PanaPrezesa (nieco przerobiony przeze mnie), do tego system licznika wy?wietlaj?cy ID i przebieg. Z ID jest wszystko dobrze, s?k w tym, ?e przebieg ca?y czas wskazuje 0. Jakie? pomys?y?

Licznik: http://i.imgur.com/zAN3FvU.png

Kod server:
local czas = getTickCount()

isBike = {
    [509]=true, --Bike
    [481]=true, --BMX
    [510]=true, --Mountain bike
}

function naliczPrzebieg(pojazd)
    if getTickCount() - czas > 300 then
        czas = getTickCount()
        local przebieg = getElementData(pojazd, "przebieg") or 0
        local vx,vy,vz = getElementVelocity(pojazd)
        local spd = ((vx^2+vy^2+vz^2)^(0.5)/100)
        if spd > 0 then
            przebieg = przebieg+spd*2
            setElementData(pojazd, "przebieg", przebieg)
        end
    end
end


addEventHandler("onClientRender", root, function()
    local pojazd = getPedOccupiedVehicle(localPlayer)
    if not pojazd then return end
    if isBike[getElementModel(pojazd)] then return end
    if not getVehicleEngineState(pojazd) then return end
    if getVehicleController(pojazd) ~= localPlayer then return end
    naliczPrzebieg(pojazd)
end)


Kod client (cz???):
sw,sh = guiGetScreenSize()

isBike = {
    [509]=true, --Bike
    [481]=true, --BMX
    [510]=true, --Mountain bike
}

addEventHandler("onClientRender", root, function()
    if isPlayerMapVisible() then return end
    local pojazd = getPedOccupiedVehicle(localPlayer)
    if pojazd then
        if isBike[getElementModel(pojazd)] then return end
        local sprawdzpaliwo = tonumber(getElementData(pojazd, "pojazdy_paliwo"))
        local sprawdzprzebieg = tonumber(getElementData(pojazd, "przebieg")) or 000
        local id = getElementData(pojazd, "car_id") or " -"
        local przebieg = math.floor(sprawdzprzebieg) or 0
        if #tostring(przebieg) == 1 then przebieg = "0000"..przebieg
        elseif #tostring(przebieg) == 2 then przebieg = "000"..przebieg
        elseif #tostring(przebieg) == 3 then przebieg = "00"..przebieg
        elseif #tostring(przebieg) == 4 then przebieg = "0"..przebieg
        elseif #tostring(przebieg) == 5 then przebieg = ""..przebieg
        elseif #tostring(przebieg) == 8 then przebieg = przebieg end
        
        local sx, sy, sz = getElementVelocity(pojazd)
        local predkosc = math.ceil(((sx^2+sy^2+sz^2)^(0.5)) * 161)

--...
--gui
--...

dxDrawText(""..przebieg.." KM", 1300/1440*sw, 940/900*sh, 1424/1440*sw, 802/900*sh, tocolor(255, 120, 0, 255), 0.80, "pricedown", "center", "center", false, false, false, false, false)


Jakie? pomys?y? Nie mam poj?cia, co mo?e by? nie tak. Dodam, ten przebieg tu pokazany, jest w skrypcie licznika, a nie w systemie pojazd?w (pr?bowa?em je po??czy?, ale nadal nie nalicza). Za pomoc zimne :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 12:39


TRIN

Młodzieniec






Wiek: 23
Na forum: 4346 dni
Posty: 29
Nick w MP: GreeN

Piwa: 831

Respekt: 8,8

Ostrzeżeń: 100%
Wy?lij skrypt na SYS POJAZD?W, b?dz wyci?gnij z niego ca?e setElementDaty

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 12:59


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

salon_s:
                    setElementData(veh, "pojazd_paliwo", 50) --na specjalna prosbe ;)
                    setElementData(veh, "pojazd_przebieg", 0)


zapis_aut_s:
--ustawiam paliwo i przebieg
    setElementData(veh, "pojazd_paliwo", v["paliwo"] or 50)
    setElementData(veh, "pojazd_przebieg", v["przebieg"] or 0)

function ustawDanePojazdu(veh, id, wlasciciel) --id = INT, wlasciciel = STRING
setElementData(veh, "car_id", id)
setElementData(veh, "car_owner", wlasciciel)
end


O to chodzi? Wyszuka?em setElementDaty i je wyci?gn??em.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 13:24


_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%

 local sprawdzprzebieg = tonumber(getElementData(pojazd, "pojazdy_przebieg")) or 000


Podpis

Support-Team: 25.01.2016
Moderator: 10.07.2016




GG: 51274621
Skype : kuba_wicinski
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 14:08


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Nadal nic :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 14:11


#404







Wiek: 27
Na forum: 4912 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
andrzej80, pojazd, nie pojazdy, dribna literowka.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 14:35


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Pr?buj? na wszystkie sposoby, ale nadal Przebieg: 00000km :x

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 14:37


#404







Wiek: 27
Na forum: 4912 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
andrzej80, podaj dok?adnie linijk? z getElementData ( z tego licznika, kt?ry odczytuje Ci przebieg)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 14:42


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

        local sprawdzprzebieg = tonumber(getElementData(pojazd, "pojazdy_przebieg")) or 000
        local id = getElementData(pojazd, "car_id") or " -"


O to chodzi? ID dzia?a.

Jeszcze co? ciekawego - w systemie pojazd?w mam "veh", w liczniku "pojazd", mo?e to tego wina?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 14:56


_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%

local sprawdzprzebieg = tonumber(getElementData(pojazd, "pojazd_przebieg")) or 000


Podpis

Support-Team: 25.01.2016
Moderator: 10.07.2016




GG: 51274621
Skype : kuba_wicinski
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 15:01


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Pr?bowa?em, nie chodzi :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 15:29


ToJaMixxer

Mapper MTA, .lua






Wiek: 27
Na forum: 4661 dni
Posty: 44
Nick w MP: Mixxer

Piwa: 62

Respekt: 61

local sprawdzprzebieg = tonumber(getElementData(v, "pojazdy_przebieg")) or 0


Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-01-31, 19:34


andrzej80

Amator Lua :D






Wiek: 30
Na forum: 3918 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Nie reaguje, jak by?o 0, tak jest 0, ile bym nie przejecha? :C

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 05:02


Gerano

Mleko,Kakao,LUA






Wiek: 38
Na forum: 4407 dni
Posty: 187
Nick w MP: Gerano

Piwa: 1460

Respekt: 146,3
Respekt: 146,3

Ostrzeżeń: 100%
local sprawdzprzebieg=veh:getData('pojazdy_przebieg') or 0 -- if data==0 or nil

Spr?buj tego a jak nie b?dziemy dalej kombinowa?.

Podpis
BUDOWA SERWERA: XXX

Prace: XXX%
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 11:53


THEGizmo

Modeler/Uczeń Lua






Wiek: 28
Na forum: 4282 dni
Posty: 255
Nick w MP: THEGizmo

Piwa: 3091

Respekt: 200
Respekt: 200Respekt: 200

tera powinno ?miga? . :)

local czas = getTickCount()

isBike = {
    [509]=true, --Bike
    [481]=true, --BMX
    [510]=true, --Mountain bike
}

function naliczPrzebieg(pojazd)
    if getTickCount() - czas > 300 then
        czas = getTickCount()
        local przebieg = getElementData(pojazd, "pojazd_przebieg") or 0
        local vx,vy,vz = getElementVelocity(pojazd)
        local spd = ((vx^2+vy^2+vz^2)^(0.5)/100)
        if spd > 0 then
            przebieg = przebieg+spd*2
            setElementData(pojazd, "pojazd_przebieg", przebieg)
        end
    end
end


addEventHandler("onClientRender", root, function()
    local pojazd = getPedOccupiedVehicle(localPlayer)
    if not pojazd then return end
    if isBike[getElementModel(pojazd)] then return end
    if not getVehicleEngineState(pojazd) then return end
    if getVehicleController(pojazd) ~= localPlayer then return end
    naliczPrzebieg(pojazd)
end)


sw,sh = guiGetScreenSize()

isBike = {
    [509]=true, --Bike
    [481]=true, --BMX
    [510]=true, --Mountain bike
}

addEventHandler("onClientRender", root, function()
    if isPlayerMapVisible() then return end
    local pojazd = getPedOccupiedVehicle(localPlayer)
    if pojazd then
        if isBike[getElementModel(pojazd)] then return end
        local sprawdzpaliwo = tonumber(getElementData(pojazd, "pojazdy_paliwo"))
        local sprawdzprzebieg = tonumber(getElementData(pojazd, "pojazd_przebieg")) or 000
        local id = getElementData(pojazd, "car_id") or " -"
        local przebieg = math.floor(sprawdzprzebieg) or 0
        if #tostring(przebieg) == 1 then przebieg = "0000"..przebieg
        elseif #tostring(przebieg) == 2 then przebieg = "000"..przebieg
        elseif #tostring(przebieg) == 3 then przebieg = "00"..przebieg
        elseif #tostring(przebieg) == 4 then przebieg = "0"..przebieg
        elseif #tostring(przebieg) == 5 then przebieg = ""..przebieg
        elseif #tostring(przebieg) == 8 then przebieg = przebieg end
        
        local sx, sy, sz = getElementVelocity(pojazd)
        local predkosc = math.ceil(((sx^2+sy^2+sz^2)^(0.5)) * 161)

--...
--gui
--...

dxDrawText(""..przebieg.." KM", 1300/1440*sw, 940/900*sh, 1424/1440*sw, 802/900*sh, tocolor(255, 120, 0, 255), 0.80, "pricedown", "center", "center", false, false, false, false, false)


Podpis
Modeler Corporation Sp. Z.O.O

Postaw piwo autorowi tego posta
 

 
Tagi: nienaliczanie :: przebiegu
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