Wysłany: 2013-03-03, 19:57
Bilguun
Wiek: 26 Na forum: 5071 dni Posty: 133
Nick w MP: Bilguun
Piwa : 4
Witam stworzylem funkcje z addEventHandler i robi ona wielkie lagi
Kod: function wlacz()
addEventHandler("onClientRender", getRootElement(), pokazzdjecie )
end
addCommandHandler("info", wlacz)
to zdarzenie wywo?uje pokazanie si? zdj?cia itp.
Wysłany: 2013-03-03, 20:01
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Kod funkcji, z tego si? nic nie dowiemy - zdarzenie onClientRender akurat zbyt nie obci??a serwera.
Wysłany: 2013-03-03, 20:02
Bilguun
Wiek: 26 Na forum: 5071 dni Posty: 133
Nick w MP: Bilguun
Piwa : 4
Kod: function pokazzdjecie()
local color = tocolor(255, 204, 0, 255)
local w = sw - 1000
local h = sh - 45
local x, y, z = getElementVelocity(getPedOccupiedVehicle(localPlayer))
local hp = math.floor(getElementHealth(getPedOccupiedVehicle(localPlayer)) / 10)
local veh = getVehicleName(getPedOccupiedVehicle(localPlayer))
local eng = getVehicleEngineState(getPedOccupiedVehicle(localPlayer))
local drzwi = isVehicleLocked ( getPedOccupiedVehicle(localPlayer) )
dxDrawText("Silnik jest " .. to_onoff(eng) , w, h, sw, sh, color, 2, "sans")
dxDrawText("Stan pojazdu " .. tostring(hp) .. "%", w + 260, h, sw, sh, color, 2, "sans")
dxDrawText("Pojazd:" .. veh ,w + 520, h, sw, sh, color, 2, "sans")
dxDrawText("Drzwi:" .. czy(drzwi) , w + 710, h, sw, sh, color, 2, "sans")
dxDrawImage(8, sh-logo_h, logo_w,logo_h, 'img/banner.png')
dxDrawImage(0,sh-logo_h, sw, logo_h, 'img/tlo.png')
showClientImage()
end
Wysłany: 2013-03-03, 21:14
Wielebny
Wiek: 41 Na forum: 5499 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
Nie ma w tej funkcji nic co powinno fest zmula?, chyba ?e grasz na pentiumie-100.
Tak czy siak, spr?buj tej wersji, jest optymalniejsza:
Kod:
local color = tocolor(255, 204, 0, 255)
local w = sw - 1000
local h = sh - 45
function pokazzdjecie()
dxDrawImage(8, sh-logo_h, logo_w,logo_h, 'img/banner.png')
dxDrawImage(0,sh-logo_h, sw, logo_h, 'img/tlo.png')
showClientImage()
local v=getPedOccupiedVehicle(localPlayer)
if not v then return end
local x, y, z = getElementVelocity(v)
local hp = math.floor(getElementHealth(v) / 10)
local veh = getVehicleName(v)
local eng = getVehicleEngineState(v)
local drzwi = isVehicleLocked (v)
dxDrawText("Silnik jest " .. to_onoff(eng) , w, h, sw, sh, color, 2, "sans")
dxDrawText("Stan pojazdu " .. tostring(hp) .. "%", w + 260, h, sw, sh, color, 2, "sans")
dxDrawText("Pojazd:" .. veh ,w + 520, h, sw, sh, color, 2, "sans")
dxDrawText("Drzwi:" .. czy(drzwi) , w + 710, h, sw, sh, color, 2, "sans")
end
Pokaz funkcje to_onoff(), czy() i showClientImage(), zapewne to w nich jest jakis problem.
Wysłany: 2013-03-03, 21:47
Bilguun
Wiek: 26 Na forum: 5071 dni Posty: 133
Nick w MP: Bilguun
Piwa : 4
Dzi?ki, dzia?a. Ale mam jeszcze pytanie. Jak daje tam outputChatBox lub co innego to powtarza to ca?y czas i robie spam na chatboxie. Jak zrobi? by by?o tylko raz ?
Wysłany: 2013-03-03, 22:29
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
Robi spam - bo funkcja jest powtarzana co klatk?.
Mo?esz przypisa? jaka? zmienn?.
Przyk?ad:
zmienna = 0
function renderuj ()
if zmienna == 0 then
zmienna = 1
outputChatBox ( "Wiadomo??" )
end
end
addEventHandler ( "onClientRender" , getRootElement (), renderuj )
Funkcja jest podpi?ta pod onClientRender, ale wy?wietla tylko raz wiadomo??.
Wysłany: 2013-03-04, 13:51
Oski
LUA Scripter
Wiek: 30 Na forum: 5246 dni Posty: 428
Nick w MP: Oski
Piwa : 56
Co do zamulania to pewnie zamula?o bo wpisywa?e? 2 razy komend? i powtarza?o rendera.
Wysłany: 2013-03-04, 15:41
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
"Oski" napisał/a :Co do zamulania to pewnie zamula?o bo wpisywa?e? 2 razy komend? i powtarza?o rendera.
Wyskoczy?by b??d ?e ten event jest ju? aktywny.
Wysłany: 2013-03-04, 17:27
Wielebny
Wiek: 41 Na forum: 5499 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
"Ziomek11" napisał/a : "Oski" napisał/a :Co do zamulania to pewnie zamula?o bo wpisywa?e? 2 razy komend? i powtarza?o rendera.
Wyskoczy?by b??d ?e ten event jest ju? aktywny.
Nie wyskoczy?by - dan? funkcj? mo?na zabindowa? dowoln? ilo?? razy pod event.
Bardziej podejrzewam, ?e funkcja wywo?ywala sama siebie, np. w funkcji showClientImage(), kt?rej w?tkotw?rca nam nie pokaza?.
Wysłany: 2013-03-04, 17:50
Oski
LUA Scripter
Wiek: 30 Na forum: 5246 dni Posty: 428
Nick w MP: Oski
Piwa : 56
Wielebny , Tutaj si? mylisz.
Sam z ciekawo?ci sprawdzi?em zdarzenie render.
Wniosek:
Je?li istnieje zdarzenie to drugi raz tego samego zdarzenie nie mo?na doda? ;]
Wyrzuca b??d w debugu ?e zdarzenie ju? jest, czyli pewnie jak m?wisz problem le?y po stronie kodu kt?rego autor nie udost?pni?.
Wysłany: 2013-03-04, 18:55
Wielebny
Wiek: 41 Na forum: 5499 dni Posty: 257
Nick w MP: Wielebny
Piwa : 1690
Racja, sprawdza?em z funkcjami anonimowymi, ze zwyk?ymi nie da si? dwa razy.
Wysłany: 2013-03-04, 20:05
Riot
3X
Wiek: 29 Na forum: 5729 dni Posty: 1123
Nick w MP: Riot/3X
Piwa : 286
"Wielebny" napisał/a :Racja, sprawdza?em z funkcjami anonimowymi, ze zwyk?ymi nie da si? dwa razy.
I z tego co wiem za pomoc? call.
Tagi: funkcja :: robi :: wielkie :: lagi.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: