Mischief-1 Posted April 13 Share Posted April 13 Spoiler local intens = 1500 -- Determines the maximum darkness setFogDistance(0) resetSkyGradient() lock_color = false bx, by, bz, ax, ay, az = 168, 135, 84, 136, 91, 61 function clr(a, t) return (a - (a*(t-20)/3)) end function uclr(a, t) return (a*(t-2)/3) end function timeInterval() if (getMinuteDuration() >= 100) then return getMinuteDuration() else return 100 end end setTimer(function() local h, m = getTime() local th = h + (m /60) local tm = m + (h * 60) if ((th >= 20) and (th <=23)) then if (th <=23) then setSkyGradient(clr(bx, th), clr(by, th), clr(bz, th), clr(ax, th), clr(ay, th), clr(az, th)) end if ((th >= 21) and (th <=23)) then setFogDistance(-intens + (intens/120 * (1380 - tm))) end elseif (((th > 23) and (th <=24)) or ((th >= 0) and (th <2))) then setFogDistance(-intens) setSkyGradient(0, 0, 0, 0, 0, 0) elseif ((th >=2) and (th <= 5)) then setSkyGradient(uclr(bx/10, h), uclr(by/10, th), uclr(bz/10, th), uclr(ax/10, th), uclr(ay/10, th), uclr(az/10, th)) setFogDistance(-intens + (intens/180 * (tm-120))) end if ((th > 5) and (th < 20)) then resetSkyGradient() end end, timeInterval(), 0) Como faço para que ao usar visão noturna ou infravermelho, a distância e a luz voltem ao normal e se estiver desligada, volte a seguir este código? Tentei fazer a condição, mas quando desligo o infravermelho ou a visão noturna a distância só volta ao normal depois de 1 minuto. Link to comment
Other Languages Moderators Lord Henry Posted April 15 Other Languages Moderators Share Posted April 15 Dê um nome para a função que você quer repetir e também deixe o timer numa variável. Ao desligar o infravermelho, cancele o timer usando killTimer na variável dele e depois execute essa função que seria chamada só mais tarde pelo timer. Link to comment
Mischief-1 Posted April 17 Author Share Posted April 17 On 16/04/2024 at 00:37, Lord Henry said: Dê um nome para a função que você quer repetir e também deixe o timer numa variável. Ao desligar o infravermelho, cancele o timer usando killTimer na variável dele e depois execute essa função que seria chamada só mais tarde pelo timer. Desculpe, não entendi, você pode me dar um exemplo. Spoiler nightDarkness = setTimer(function() local h, m = getTime() local th = h + (m /60) local tm = m + (h * 60) if ((th >= 20) and (th <=23)) then if (th <=23) then setSkyGradient(clr(bx, th), clr(by, th), clr(bz, th), clr(ax, th), clr(ay, th), clr(az, th)) end if ((th >= 21) and (th <=23)) then setFogDistance(-intens + (intens/120 * (1380 - tm))) end elseif (((th > 23) and (th <=24)) or ((th >= 0) and (th <2))) then setFogDistance(-intens) setSkyGradient(0, 0, 0, 0, 0, 0) elseif ((th >=2) and (th <= 5)) then setSkyGradient(uclr(bx/10, h), uclr(by/10, th), uclr(bz/10, th), uclr(ax/10, th), uclr(ay/10, th), uclr(az/10, th)) setFogDistance(-intens + (intens/180 * (tm-120))) end if ((th > 5) and (th < 20)) then resetSkyGradient() end end, timeInterval(), 0) ----------------- bindKey("n", "down", function() if (night == false) then if (getElementData(localPlayer, "toolbelt7") > 0) then setCameraGoggleEffect("nightvision"); playSound("sounds/goggles.wav"); killTimer(nightDarkness) end night = true; elseif (night == true) then setCameraGoggleEffect("normal"); night = false; end end); Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now