public LSL_Integer llGiveMoney(string destination, int amount)
{
if (!ScriptProtection.CheckThreatLevel(ThreatLevel.None, "LSL", m_host, "LSL", m_itemID)) return new LSL_Integer();
UUID invItemID = InventorySelf();
if (invItemID == UUID.Zero)
return 0;
TaskInventoryItem item = m_host.TaskInventory[invItemID];
if (item.PermsGranter == UUID.Zero)
return 0;
if ((item.PermsMask & ScriptBaseClass.PERMISSION_DEBIT) == 0)
{
LSLError("No permissions to give money");
return 0;
}
UUID toID = new UUID();
if (!UUID.TryParse(destination, out toID))
{
LSLError("Bad key in llGiveMoney");
return 0;
}
IMoneyModule money = World.RequestModuleInterface<IMoneyModule>();
if (money == null)
{
NotImplemented("llGiveMoney");
return 0;
}
bool result = money.ObjectGiveMoney(
m_host.ParentEntity.UUID, m_host.OwnerID, toID, amount);
if (result)
return 1;
return 0;
}