Wysłany: 2018-02-04, 17:50
flimbo123
Wiek: 33 Na forum: 5776 dni Posty: 93
Nick w MP: Flimbo
Piwa : 190
Ma kto? pomys? dlaczego to nie dzia?a? Dopiero zaczynam w LUA, programowa?em wcze?niej w C++ i PHP a sk?adnia lua jest dla mnie abstrakcj?
local font0 = dxCreateFont ( "LCD-L.ttf" , 50 )
local font1 = dxCreateFont ( "LCD-L.ttf" , 13 )
local font2 = dxCreateFont ( "LCD-L.ttf" , 18 )
local font3 = dxCreateFont ( "LCD-L.ttf" , 10 )
local screenW , screenH = guiGetScreenSize ()
function speed ( )
addEventHandler ( "onClientRender" , root , getspeed )
end
addEventHandler ( "onClientVehicleEnter" , root , speed )
function hideSpeed ( )
removeEventHandler ( "onClientRender" , root , getspeed )
end
addEventHandler ( "onClientVehicleExit" , root , hideSpeed )
function hud ( )
local v = getPedOccupiedVehicle ( getLocalPlayer () )
local przebieg = string . format ( "%.1f" , getElementData ( v , "przeb" ))
local x , y , z = getElementPosition ( getLocalPlayer () )
local location = getZoneName ( x , y , z , true )
if isPedInVehicle ( localPlayer ) == false then return end
sx , sy , sz = getElementVelocity ( getPedOccupiedVehicle ( localPlayer ))
kmhs = math . floor ((( sx ^ 2 + sy ^ 2 + sz ^ 2 )^( 0.5 ))* 180 ) -- obliczamy pr ? dko ?? ( m / s * 180 = 1 km / h )
dxDrawText ( "..tostring(kmhs).." , 839 , 721 , 1010 , 802 , tocolor ( 253 , 221 , 0 , 255 ), 1.00 , font0 , "center" , "center" , false , false , false , false , false )
dxDrawText ( "km/h" , 1010 , 773 , 1053 , 802 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , font3 , "left" , "bottom" , false , false , false , false , false )
dxDrawText ( "..tostring(location).." , 839 , 802 , 1010 , 842 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , font1 , "center" , "center" , false , false , false , false , false )
dxDrawText ( "..tostring(przebieg).." , 839 , 846 , 1010 , 883 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , font2 , "center" , "center" , false , false , false , false , false )
end
addEventHandler ( "onClientRender" , getRootElement (), hud )
Wyrzuca nast?puj?ce b??dy:
Wysłany: 2018-02-04, 17:55
Ciastuuś
Truck soon...
Wiek: 26 Na forum: 3071 dni Posty: 799
Nick w MP: Ciastuuś
Piwa : 4297
Masz b??dn? element dat? przez co nie wyszukuje Ci w tej linijce,
local przebieg = string . format ( "%.1f" , getElementData ( v , "przeb" ))
Liczenia przebiegu. Radzi?bym dopisa? kod na liczenie przebiegu i podpi?? to pod element dat?, kt?ra jest podana wy?ej
A, tutaj przyk?ad takowego naliczania przebiegu. Z element dat? podan? w kodzie,
local lu = getTickCount ()
local function naliczPrzebieg ( veh )
local przebieg = getElementData ( veh , "przeb" ) or 0
if ( getTickCount ()- lu > 250 ) then
lu = getTickCount ()
local vx , vy , vz = getElementVelocity ( veh )
local spd =(( vx ^ 2 + vy ^ 2 + vz ^ 2 )^( 0.5 )/ 10 )
if ( spd > 0 ) then
przebieg = przebieg +( spd )/ 3
setElementData ( veh , "przeb" , przebieg )
end
end
end
function updatePrzebieg ()
local v = getPedOccupiedVehicle ( localPlayer )
if ( not v ) then return end
if ( not getVehicleEngineState ( v )) then return end
if ( getVehicleController ( v )~= localPlayer ) then return end
naliczPrzebieg ( v )
end
addEventHandler ( "onClientRender" , root , updatePrzebieg )
Więcej szczegółów
Wystawiono 2 piw(a):PitBull304 , BoJaKoX
Wysłany: 2018-02-04, 20:00
flimbo123
Wiek: 33 Na forum: 5776 dni Posty: 93
Nick w MP: Flimbo
Piwa : 190
Przebieg nalicza si? w innym skrypcie, zawartym w systemie pojazd?w. zmienn? "przeb" pobiera z elementdaty auta, kt?ra jest zapisana w ka?dym aucie na serwerze (jest przypisywana przy spawnie). Wydaje mi si? ?e problem jest gdzie? indziej, tym bardziej ?e zrzuca jeszcze kilka innych linijek.
Wysłany: 2018-02-04, 22:06
Ciastuuś
Truck soon...
Wiek: 26 Na forum: 3071 dni Posty: 799
Nick w MP: Ciastuuś
Piwa : 4297
Jakie to s? linijki? Pomo?e to w dalszym rozwi?zywaniu problemu
Wysłany: 2018-02-04, 23:01
flimbo123
Wiek: 33 Na forum: 5776 dni Posty: 93
Nick w MP: Flimbo
Piwa : 190
Linijka 26, z dxDrawText. Po wzi?ciu jej w komentarz pokazuj? si? kolejne, 27, 28 i 29.
Wysłany: 2018-02-05, 09:51
LovingDead
Wiek: 29 Na forum: 4868 dni Posty: 34
Piwa : 3
Generalnie kod jest dobrze, ale je?li stosujesz tostring() to nie dawaj tego w cudzys??w bo nie ma to wtedy sensu.
Je?li zastosujesz "tostring(kmhs)" to wy?wietli Ci si? dok?adnie to co wpisa?e? w cudzys??w a nie zmienna kt?ra jak si? domy?lam ma by? jak?? pr?dko?ci?.
font0 masz zrobione poprawnie? Plik z czcionk? wrzucony bezpo?rednio do folderu?
Wysłany: 2018-02-05, 15:23
flimbo123
Wiek: 33 Na forum: 5776 dni Posty: 93
Nick w MP: Flimbo
Piwa : 190
Czcionki dobre, plik jest w folderze, cudzys?owia to akurat wiem, ale skrypt si? w og?le nawet nie ?aduje i nie wy?wietla nawet tego w cudzys?owiach
Wysłany: 2018-02-07, 23:48
Toffiaaak.
Wiek: 23 Na forum: 4410 dni Posty: 128
Nick w MP: Toffy.
Piwa : 1836
local font0 = dxCreateFont ( "LCD-L.ttf" , 50 )
local font1 = dxCreateFont ( "LCD-L.ttf" , 13 )
local font2 = dxCreateFont ( "LCD-L.ttf" , 18 )
local font3 = dxCreateFont ( "LCD-L.ttf" , 10 )
local screenW , screenH = guiGetScreenSize ()
function speed ( )
addEventHandler ( "onClientRender" , root , getspeed )
end
addEventHandler ( "onClientVehicleEnter" , root , speed )
function hideSpeed ( )
removeEventHandler ( "onClientRender" , root , getspeed )
end
addEventHandler ( "onClientVehicleExit" , root , hideSpeed )
function hud ( )
local v = getPedOccupiedVehicle ( localPlayer )
if not v then return end
local przebieg = string . format ( "%.1f" , getElementData ( v , "przeb" ))
local x , y , z = getElementPosition ( localPlayer )
local location = getZoneName ( x , y , z , true )
if not isPedInVehicle ( localPlayer ) then return end
sx , sy , sz = getElementVelocity ( getPedOccupiedVehicle ( localPlayer ))
kmhs = math . floor ((( sx ^ 2 + sy ^ 2 + sz ^ 2 )^( 0.5 ))* 180 ) -- obliczamy pr ? dko ?? ( m / s * 180 = 1 km / h )
dxDrawText ( tostring ( kmhs ), 839 , 721 , 1010 , 802 , tocolor ( 253 , 221 , 0 , 255 ), 1.00 , font0 , "center" , "center" , false , false , false , false , false )
dxDrawText ( "km/h" , 1010 , 773 , 1053 , 802 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , font3 , "left" , "bottom" , false , false , false , false , false )
dxDrawText ( tostring ( location ), 839 , 802 , 1010 , 842 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , font1 , "center" , "center" , false , false , false , false , false )
dxDrawText ( tostring ( przebieg ), 839 , 846 , 1010 , 883 , tocolor ( 255 , 255 , 255 , 255 ), 1.00 , font2 , "center" , "center" , false , false , false , false , false )
end
addEventHandler ( "onClientRender" , getRootElement (), hud )
Podpis
Osiągnięcia:
- wygrana w konkursie LUA (kat. średnia) - 05.02.18
- 150 reputacji - 06.02.18
- 100 postów - 06.02.18
Wysłany: 2018-02-08, 14:59
flimbo123
Wiek: 33 Na forum: 5776 dni Posty: 93
Nick w MP: Flimbo
Piwa : 190
Wysłany: 2018-02-08, 15:15
NyAngel
Wiek: 22 Na forum: 3950 dni Posty: 128
Nick w MP: NyAngel
Piwa : 556
To :
local przebieg = string . format ( "%.1f" , getElementData ( v , "przeb" ))
zamie? na to :
local przeb = getElementData ( v , "przeb" ) or 0
local przebieg = string . format ( "%.1f" , przeb )
Tagi: kod :: wyrzuca :: nie :: działa :: licznik
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: