I was optimizing some code recently and, in particular, considering compiling it with lsl and mono to see which gives the smaller footprint. (Before you remind me about setting the memory limit in mono the mono compiled script is around 24k (40k free) and the lsl compiled script is around 7k - measured the same way.) The script contains code of the following form:
string a = "...";
string b = "..."; // where the quoted string is a UUID
list allowed = [a, b];
and then, later, a test
if (llListFindList(allowed, [(string)llGetCreator()]) == -1)
This works in both lsl and mono compiled scripts.
Now, change the type of a and b from string to key and drop the case of llGetCreator from key to string
In a mono compiled script the test evaluates to TRUE (assuming that the script is in a prim created by a or b) and yet to FALSE in lsl compiled scripts.
Is this a known problem? And, if it is, where is the problem?
Many thanks,
Chloe