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

Wysłany: 2016-02-01, 15:25


andrzej80

Amator Lua :D






Wiek: 29
Na forum: 3777 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

To jaka? czrna magia :D Spos?b Gerano --> nie wy?wietla w og?le licznika, spos?b TheGizmo --> nie nalicza, ca?y czas 0 :(

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 16:07


Kronix.Cooder







Wiek: 36
Na forum: 4899 dni
Posty: 26

Piwa: 15

Respekt: 90

Kod client

isBike = {
    [509]=true, --Bike
    [481]=true, --BMX
    [510]=true, --Mountain bike
}
local czas getTickCount()
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)/10) -- zmienina ((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()
    if isPlayerMapVisible() then return end
    local pojazd getPedOccupiedVehicle(localPlayer)
    if pojazd and (getPedOccupiedVehicleSeat(localPlayer)==0then
        if isBike[getElementModel(pojazd)] then return end
        
        naliczPrzebieg(pojazd)
        
        local sprawdzpaliwo tonumber(getElementData(pojazd"pojazdy_paliwo"))
        local sprawdzprzebieg tonumber(getElementData(pojazd"przebieg")) or 0
        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
        --outputChatBox(przebieg)
        local sxsysz getElementVelocity(pojazd)
        local predkosc math.ceil(((sx^2+sy^2+sz^2)^(0.5)) * 161)

        
--...
--gui
--... niezapomnij podstawiswojego gui
--
dxDrawText(""..przebieg.." KM"1300/1440*sw940/900*sh1424/1440*sw802/900*shtocolor(2551200255), 0.80"pricedown""center""center"falsefalsefalsefalsefalse)
    end
end)


tak ma to wyglada?, bedzie troche za szybko nalicza? ale zaznaczy?em linijke gdzie co trzeba zmieni?.

powodem jest onclientrender kt?ry po stronie serwera sie NIE wykonuje a tylko po stronie klienta

a wiec wklej to do klienta a to co poda?e? w pierwszym po?cie po stronie serwera mo?na usun??

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 16:25


andrzej80

Amator Lua :D






Wiek: 29
Na forum: 3777 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

No wydaje si? ca?kiem sensowne, wklei?em Tw?j kod, usun??em ten ze strony servera, ale... licznik znikn?? o.O

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 16:32


Kronix.Cooder







Wiek: 36
Na forum: 4899 dni
Posty: 26

Piwa: 15

Respekt: 90

ze zniknieciem licznika jest problem gdzie? indziej ale nie widze tego kodu tutaj

w moim kodzie w ostatnich linijkach zakomentowane jest --outputChatBox(przebieg) od komentuj a gui swoje na chwile za komentuj.

zacznie ci ostro spamowa? na chat ale po przejechaniu kawa?ka drogi zacznie sie zmienia? tak jak powinno w liczniku, ma to na celu pokaza? ze wszystko dzia?a.
pokaz logi z klienta.
pokaz kod gui.


EDIT:
przyczyn? niedopatrzenie tu poprawnie dzia?aj?cy ju? kod, przetestowane
local sw,sh guiGetScreenSize()
isBike = {
    [509]=true, --Bike
    [481]=true, --BMX
    [510]=true, --Mountain bike
}
local czas getTickCount()
local 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)/10) -- zmienina ((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()
    if isPlayerMapVisible() then return end
    local pojazd getPedOccupiedVehicle(localPlayer)
    if pojazd and (getPedOccupiedVehicleSeat(localPlayer)==0then
        if isBike[getElementModel(pojazd)] then return end
        
        naliczPrzebieg(pojazd)
        
        local sprawdzpaliwo tonumber(getElementData(pojazd"pojazdy_paliwo"))
        local sprawdzprzebieg tonumber(getElementData(pojazd"przebieg")) or 0
        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
        --outputChatBox(przebieg)
        local sxsysz getElementVelocity(pojazd)
        local predkosc math.ceil(((sx^2+sy^2+sz^2)^(0.5)) * 161)

        
--...
--gui
--...
--
    dxDrawText("PRZEBIEG:"1120/1440*sw870/900*sh1424/1440*sw870/900*shtocolor(255255255255), 0.80"pricedown""center""center"falsefalsefalsefalsefalse)
        dxDrawText(""..przebieg.." KM"1300/1440*sw940/900*sh1424/1440*sw802/900*shtocolor(2551200255), 0.80"pricedown""center""center"falsefalsefalsefalsefalse)
    end
end)


Ostatnio zmieniony przez Kronix.Cooder 2016-02-01, 16:51, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 16:42


andrzej80

Amator Lua :D






Wiek: 29
Na forum: 3777 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

Logi:
Kod:

Your vehicle has been fixed by Fafus.
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
00000
....


Wsiad?em na sekund? :D

Pojecha?em kawa?ek:
Kod:

00000
00000
00000
00000
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00001
00002
00002
00002
00002
00002
00002
00002
00002
00002
00002
00002
00002
00002


Wi?c dzia?a :P

A gui licznika z przebiegiem:
dxDrawText("PRZEBIEG:"1120/1440*sw870/900*sh1424/1440*sw870/900*shtocolor(255255255255), 0.80"pricedown""center""center"falsefalsefalsefalsefalse)
        dxDrawText(""..przebieg.." KM"1300/1440*sw940/900*sh1424/1440*sw802/900*shtocolor(2551200255), 0.80"pricedown""center""center"falsefalsefalsefalsefalse)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 16:44


Kronix.Cooder







Wiek: 36
Na forum: 4899 dni
Posty: 26

Piwa: 15

Respekt: 90

na samej g?rze dodaj
sw,sh guiGetScreenSize()


w poprzednim po?cie edytowa?em na poprawny kod

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-02-01, 16:55


andrzej80

Amator Lua :D






Wiek: 29
Na forum: 3777 dni
Posty: 74
Nick w MP: andrzej80

Piwa: 1

Respekt: 50

A wi?c: http://i.imgur.com/Cdb8DsJ.jpg

Dzi?kuj? wszystkim, kt?rzy przejawili ch?? pomocy, a szczeg?lnie dzi?kuj? Kronixowi, problem rozwi?zany. :piwo: :piwo: rozdane :D

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 » Nienaliczanie przebiegu 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