User talk:Ugleh Ulrik/GiveBulkMoney
Jump to navigation
Jump to search
run_time_permissions
Just a few notes. Feel free to tell me where to stick my advice. I don't want to be a pain. <lsl>integer perms_granted;
GiveBulkMoney(list u, integer am) {
integer a = 0; integer l = llGetListLength(u); // Arguable. Only call the function once but needs a new local variable do llGiveMoney(llList2Key(u, a), am); // A "do while" loop (according to this wiki) is faster and... while((++a) < l); // ...requires fewer bytes than a "while" or a "for" loop.
}
default {
changed(integer change)
{
if(change & CHANGED_OWNER)
llResetScript(); // Don't want scripts with perms to debit your account getting away.
}
state_entry()
{
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
}
run_time_permissions(integer perm) // Triggered by answer to request for perms.
{
if(perm & PERMISSION_DEBIT) // Did we get the perms we asked for?
perms_granted = TRUE; // Record the answer for future checks.
}
touch_start(integer total_number)
{
list users = ["00000000-0000-0000-0000-000000000000",
"00000000-0000-0000-0000-000000000000"]; // List of those to pay.
integer ammount = 2; // Linden Dollars
if(perms_granted) // Only attempt to pay out if we have permissions.
GiveBulkMoney(users, ammount);
}
}</lsl> -- Fred Gandt (talk|contribs) 02:04, 30 April 2010 (UTC)