Grundsätzer Ansatz ist vom Player zum Boden zu tracen.

Code:
vec_set(temp, player.x);
     temp.z -= 200;
     c_trace(player.x, temp, IGNORE_ME | SCAN_TEXTURE);
     if (tex_light > irgendwas)
     {
        //Player steht im hellen
     }else
     {
        //Player steht im dunkeln
     }



Ich hab tex_light schon lange nicht mehr benutzt und bin mir grade nich sicher inwieweit du Objekttypen beachten musst - aber ich meine zu erinnern, dass das nur mit statischen Lichtern und auf Blöcken funktioniert.


I <3 LINQ