Quote:
Originally Posted by asherkin
Aha, I thought spcomp might have ignored that little bit of sanity. Oh well, hand rolling what a C++ compiler would generate is the way.
PHP Code:
bool:IsPlayerControllingBot(client) { static bool:hasChecked = false; static bool:isAvailable = false; if (!hasChecked) { isAvailable = FindSendPropOffs("CBasePlayer", "m_bIsControllingBot") != -1; hasChecked = true; }
return isAvailable && GetEntProp(client, Prop_Send, "m_bIsControllingBot") == 1; }
|
Haha, I didn't think to use two statics. Much better.

But yea, in this case, I pretty much use const for every parameter I expect to be constant which I think is a valid model. Obviously more useful in larger functions, but it stops third-party clients changing a variable when they didn't intend to, and I have to assume the client could alter any part of the code e.g. take the following useless example:
PHP Code:
PrintToServer("%d", client == 1);
If the client accidentally wrote:
PHP Code:
PrintToServer("%d", client = 1);
Then no error would be shown, unless the const qualifier had been used. I use it almost instinctively these days.
__________________