Sziasztok! A mai napon unatkoztam és készítettem egy scriptet. Igazából ez csak látványosság, de valakinek hátha hasznos lesz, akár tanulás szempontjából, akár szerverkészítéshez. A script annyit tesz hogy ha egy fegyverrel lősz akkor egy szürkés-fehéres csíkot húz a fegyver csövétől addig a pontig ameddig eljutott a golyó. Ezzel egy olyan effektet szerettem volna szimulálni mintha a golyó egy füstcsíkot hagyna maga után, példaképp lásd: GTA V. Pár másodperc múlva a csík el is fog tűnni. Remélem segítettem valakinek vele és hasznát veszitek!
Csak egy
kliens oldalból áll:
local alphaHalvanyulas = 150; -- Erről az értékről kezdődik a halványulás. Maximum érték: 255
local alphaHalvanyulasInnentol = alphaHalvanyulas;
local halvanyulasIdo = 250; -- Állítsd annyira amennyi ideig szeretnéd hogy teljesen láthatóból láthatatlanba menjen (255 -> 0). Miliszekundum.
local halvanyulasIdokoz = 50; -- 50 ms minimum. Kevesebb érték = Lágyabb halványulás
local hanyszorFussonLe = (halvanyulasIdo/halvanyulasIdokoz);
local halvanyulasNovekedese = (alphaHalvanyulasInnentol/hanyszorFussonLe);
function onJatekosLoves(w,a,aC,hX,hY,hZ,hE)
local sx,sy,sz = getPedWeaponMuzzlePosition(source)
Pozicio = {sx,sy,sz,hX,hY,hZ} -- Elmentjük egy táblázatba hogy később is tudjuk használni egy másik funkcióban, jelen esetben az \"onRender\" nevű funkcióban.
removeEventHandler(\"onClientRender\", root, onRender)
addEventHandler(\"onClientRender\",root,onRender)
alphaKezeles()
setTimer(function()
removeEventHandler(\"onClientRender\", root, onRender)
end, halvanyulasIdo+50, 1);
end
addEventHandler(\"onClientPlayerWeaponFire\",root,onJatekosLoves);
function onRender()
if Pozicio then
local startX,startY,startZ,endX,endY,endZ = unpack(Pozicio)
dxDrawLine3D( startX,startY,startZ,endX,endY,endZ,tocolor(255,255,255,alphaHalvanyulas),1.025)
end
end
function alphaKezeles()
alphaHalvanyulas = 150;
setTimer(function()
alphaHalvanyulas = alphaHalvanyulas-halvanyulasNovekedese
end, halvanyulasIdokoz, hanyszorFussonLe);
end