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

Wysłany: 2016-03-06, 21:16


serek123

Lua, MySql, Sql






Wiek: 27
Na forum: 4475 dni
Posty: 217
Nick w MP: Serek.

Piwa: 375

Respekt: 70

Witam chcem sie zapyta? o funkcje pobierania paliwa i przebiego jak naliczyc przeb i jak spala? paliwo Nie chcem gotowca!!! tylko funkcje i wyt?umaczenie

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-06, 23:14


#404







Wiek: 27
Na forum: 4912 dni
Posty: 1438

Piwa: 2512

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

Ostrzeżeń: 60%
serek123, najpro?ciej to s? elementDaty przypisane do pojazdu.

Teraz naliczanie przebiegu - onClientRender i ustawiasz jaki? limit czasowy za pomoc? tzw tickow (getTickCount). W tickach 1s to 1000. I przyk?adowo je?eli minie ta sekunda to pobierasz pr?dko?? i jakost sobie wyliczasz (wg uznania) ile to przejechal po czym dodajesz to do elementDaty.

Z paliwem jest podobnie, ale zamiast dodawa? odejmujesz.

Wybacz ze bez odno?nik?w do wiki, ale jestem na fonie.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-08, 21:09


serek123

Lua, MySql, Sql






Wiek: 27
Na forum: 4475 dni
Posty: 217
Nick w MP: Serek.

Piwa: 375

Respekt: 70

Kurde sory ?e tyle nie odpisywa?em ale nie by?o mnie w domu cos s?abo rozumiem to nwm jak zacz??

[ Dodano: 2016-03-08, 21:11 ]
I zbytnio nie chcem pisa? ca?ego kodu po stronie clienta da si? to roz?o?y? na serwer i client?

[ Dodano: 2016-03-08, 21:30 ]
DestroY, M?g?by? poda? te wszystkie odno?niki do wiki bd mi ?atwiej z g?ry thx

[ Dodano: 2016-03-08, 21:44 ]

local czas = getTickCount()

function paliwo(pojazd)
if getTickCount(100) then
local px,py,pz = getElementVelocity(pojazd)
predkosc = (px^2 + py^2 + pz^2)^(0.5)
end
end

wycudowa?em co? takiego i nwm co dalej nie dawajcie gotowca tylko powiedzcie co mam ?le

[ Dodano: 2016-03-08, 22:09 ]
Dorobi?em takie co? i tez nie dzia?a

local czas = getTickCount()

function odejmijpaliwo(pojazd)
    if getTickCount()-czas>100 then
    local paliwo = getElementData(pojazd, "ppaliwo") or 0
    local px,py,pz = getElementVelocity(pojazd)
    odejmij = ((px^2 + py^2 + pz^2)^(0.5)/100)
        if odejmij>0 then
        paliwo-odejmij*2
        setElementData(pojazd, "ppaliwo", paliwo)
        end
end
end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 04:15


Oski

LUA Scripter






Wiek: 30
Na forum: 5387 dni
Posty: 428
Nick w MP: Oski

Piwa: 56

Respekt: 75,1

[ Dodano: 2016-03-08, 21:44 ]

function paliwo(pojazd)
    if spalanieTick and spalanieTick + 100 > getTickCount() then
        return
    else
        local px,py,pz = getElementVelocity(pojazd)
        predkosc = (px^2 + py^2 + pz^2)^(0.5)
        local paliwo = getElementData(pojazd,"paliwo") or 100 --przypuszczaj?c ?e bak ma 100l
        x = 1 --to jest do zmiany, tutaj trzeba dobrze dobra? pr?dko?? czyli np x=predkosc/0.001
        setElementdata(pojazd,"paliwo",paliwo-x)
        spalanieTick = getTickCount()
    end
end


[ Dodano: 2016-03-09, 04:16 ]
No chyba ?e ?le cie zrozumia?em i chcesz mie? pobieranie paliwa na zwyk?e tickCount nie zale?ne od pr?dko?ci.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 14:11


serek123

Lua, MySql, Sql






Wiek: 27
Na forum: 4475 dni
Posty: 217
Nick w MP: Serek.

Piwa: 375

Respekt: 70

Jeszcze jedno zrobi?em sobie kod ?e jak paliwa bd 20l to ma wy?wietla? si? informacja tylko jaki dac event bo onClientRender wariuje z tym outputem

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 14:35


#404







Wiek: 27
Na forum: 4912 dni
Posty: 1438

Piwa: 2512

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

Ostrzeżeń: 60%

addEventHandler("onClientRender", root, function()
pojazd = getPedOccupiedVehicle(localPlayer)
if not pojazd then return end
data = getElementData(pojazd, "paliwo")
if data and data < 20 then
--jakie? dxDrawText czy co tam chcesz
end
end
)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 14:57


serek123

Lua, MySql, Sql






Wiek: 27
Na forum: 4475 dni
Posty: 217
Nick w MP: Serek.

Piwa: 375

Respekt: 70

Daje tam out puta ale strasznie zawala chat jest na to jaki? inny event?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 19:12


EseJax







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

Piwa: 983

Respekt: 55,3

Ostrzeżeń: 100%
Cz?owieku.. utw?rz sobie napis przy u?yciu:

Więcej informacji znajdziesz w Wikipedii MTA:

dxDrawText

A nie bawisz si? w outputy..

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 19:30


serek123

Lua, MySql, Sql






Wiek: 27
Na forum: 4475 dni
Posty: 217
Nick w MP: Serek.

Piwa: 375

Respekt: 70

Ja to robie do test?w i mo?e wole out puty

Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 20:18


EseJax







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

Piwa: 983

Respekt: 55,3

Ostrzeżeń: 100%
Skoro wolisz out puty, to wyjd? z tego forum, ono jest do pomocy a nie gotowc?w, nie do?? ?e DestroY da? Ci prawie gotowca a pod koniec kodu ?eby u?y? funkcji.. np. dxDrawText, no ale c??, na dzie? dzisiejszy trudno pogodzi? si? z tym ?e podstaw?wka jest "m?drzejsza" od wszystkich, tym razem zrobi? wyj?tek i przerobie Ci ten kod na prawid?owy ale w?tpi? ?e ktokolwiek b?dzie dawa? Ci gotowce za darmo..

function checkpaliwo()
pojazd = getPedOccupiedVehicle(localPlayer)
if not pojazd then return end
data = getElementData(pojazd, "paliwo")
if data and data <= 20 then --Mniejsze b?d? r?wne liczby 20
--outputChatBox
end
end
setTimer ( checkpaliwo, 1000, 0 ) --Bardzo optymalna funkcja


Postaw piwo autorowi tego posta
 

 
Wysłany: 2016-03-09, 23:22


serek123

Lua, MySql, Sql






Wiek: 27
Na forum: 4475 dni
Posty: 217
Nick w MP: Serek.

Piwa: 375

Respekt: 70

Nie musisa?e? sam sobie poradzi?em nie napisa?em tego posta po to aby dostac gotowca (dla twojej wiadomo?ci nie chodz? do podstaw?wki)

Postaw piwo autorowi tego posta
 

 
Tagi: przebieg :: paliwo
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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