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
To jaka? czrna magia Spos?b Gerano --> nie wy?wietla w og?le licznika, spos?b TheGizmo --> nie nalicza, ca?y czas 0
Wysłany: 2016-02-01, 16:07
Kronix.Cooder
Wiek: 36 Na forum: 4899 dni Posty: 26
Piwa : 15
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 ) -- zmieni ? na (( 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 )== 0 ) then
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 sx , sy , sz = getElementVelocity ( pojazd )
local predkosc = math . ceil ((( sx ^ 2 + sy ^ 2 + sz ^ 2 )^( 0.5 )) * 161 )
--...
-- gui
--... niezapomnij podstawi ? swojego 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 )
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??
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
No wydaje si? ca?kiem sensowne, wklei?em Tw?j kod, usun??em ten ze strony servera, ale... licznik znikn?? o.O
Wysłany: 2016-02-01, 16:32
Kronix.Cooder
Wiek: 36 Na forum: 4899 dni Posty: 26
Piwa : 15
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 ) -- zmieni ? na (( 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 )== 0 ) then
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 sx , sy , sz = getElementVelocity ( pojazd )
local predkosc = math . ceil ((( sx ^ 2 + sy ^ 2 + sz ^ 2 )^( 0.5 )) * 161 )
--...
-- gui
--...
--
dxDrawText ( "PRZEBIEG:" , 1120 / 1440 * sw , 870 / 900 * sh , 1424 / 1440 * sw , 870 / 900 * sh , tocolor ( 255 , 255 , 255 , 255 ), 0.80 , "pricedown" , "center" , "center" , false , false , false , false , false )
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 )
end
end )
Ostatnio zmieniony przez Kronix.Cooder 2016-02-01, 16:51, w całości zmieniany 2 razy
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
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?
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
A gui licznika z przebiegiem:
dxDrawText ( "PRZEBIEG:" , 1120 / 1440 * sw , 870 / 900 * sh , 1424 / 1440 * sw , 870 / 900 * sh , tocolor ( 255 , 255 , 255 , 255 ), 0.80 , "pricedown" , "center" , "center" , false , false , false , false , false )
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 )
Wysłany: 2016-02-01, 16:44
Kronix.Cooder
Wiek: 36 Na forum: 4899 dni Posty: 26
Piwa : 15
na samej g?rze dodaj sw , sh = guiGetScreenSize ()
w poprzednim po?cie edytowa?em na poprawny kod
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
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. rozdane
Tagi: nienaliczanie :: przebiegu
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: