What I mean is how could i check if the player is directly under the sky (like if the sunlight was directly hitting him), and also check when the player is under a ceiling (and not under the map’s sky)
I tried using the “IsSkyboxVisibleFromPoint”
hook.Add("Think","checkIfOutside", function(plyPos) if util.IsSkyboxVisibleFromPoint(LocalPlayer():GetPos()) == true then print("I'm under the sky") end if util.IsSkyboxVisibleFromPoint(LocalPlayer():GetPos()) == false then print("I'm not under the sky") end end)
But It kept spamming me the message of “I’m under the sky”, inside the buildings, and every place in the map except, for some reason, the gm_construct’s white room (which is full bright) and instead it printed the “Im not under the sky” message
In the wiki it says that “This will always return true in fullbright maps” (I’m in GM_Construct checking this) so even if it worked on other maps, it’s not reliable.
Or maybe you could detect the light level so that when it is sky brightness it returns true and when it’s darker it returns false. But still, I need to somehow detect that the player is directly under the skylight, because if I’m using atmos (which I am), or any other daytime/nighttime addon, it will think it’s not under the sky at nighttime. Help is really appreciated, and if there was an obvious solution to this, excuse me, I’m new at GLUA.