Check the latest beta (V3B19i) - they are checking the lights and they are using flashlights (sometimes also nightgoogles). I don't think I will express more the darkness/invisibility detection. I cannot make the bot 100% interpreting the screen exactly like human eye does (impossible to add in code all possible elements they normally have the influence at human's eye perception). I'm very sorry.
And I'm not going to infinitely extend cvars number...
ok ..
It's not about perception
The bots get the velocity of a player that is near them if the player's rendering is between 255 and y rendering then they will shoot him if between y and x they will not shoot him, if he isn't moving, or has a small speed ... and under x that means that the bot trully doesn't see him weather he is moving .
Let's forget about the cvars ... but can this be done?
I think I've got Your idea, but I'm not sure if I have time to find those x and y. It takes too much time. Can You read the C++ code and see how it is really done now? If You are using AMX X - I did a plugin for test player's rendering/invisibility. You can find it here.
I was already asking Geesu about the values he has there, because I disagree with them (I still could see the player even if he had the invisibility attribut - no problem for me to hit directly into the head such player - even not moving)...