Template:Needs Translation/
函数名
|
Function: integer llGiveMoney( key destination, integer amount );
|
参数:
- key destination – avatar UUID
- integer amount – number of L$, must be greater than zero, (amount > 0)
|
返回值:返回一个始终为零的整数。相比之下,lltransferlindendolars 返回一个键,该键可用于将函数调用匹配到生成的 transaction _ result 事件和事务历史。
|
注意事项
|
权限
- 不依赖于权限的自动授予状态。始终使用运行时权限事件。
- 如果脚本缺少权限 _ debit,脚本将在 debug _ channel 上发出错误并且操作失败(但是脚本继续运行)。
- 如果权限 _ 扣除是由所有者以外的任何人授予的,那么当函数被调用时,将在 debug _ 通道上喊出一个错误。
- 一旦授予了权限 _ 借记权限,除非从脚本内部(例如,使用新的 llrequestpermission 调用)或脚本被重置或删除,否则无法撤销它。
- 一个对象不能支付另一个对象。
- 脚本无法判断一个大量金钱的交易是成功还是失败,请使用 lltransferlindollars。
- 转让给团体的物品不能给钱(不能给予许可)。
- 对于某个地区的居民拥有的所有脚本,每30秒的间隔内的使用仅限于30次付款。持续的超支会导致脚本错误,在利率仍然过高的情况下停止支付。从历史上看,更快的支付间歇性失败。
- 一旦一个脚本有了借记权限,它就可以清空一个 l $的帐户
*欺诈和盗窃都是 ll: 违反服务条款和犯罪条款。滥用这个功能,你就有被禁止和被起诉的危险。此外,我可以冻结任何人的帐户,钱被转移,并恢复到它的合法所有人。这可能包括从被冻结的交易所的第三方交易所和账户中取回它。这个系统对欺诈行为并不友好。
|
示例
|
示例一
// Pay 100 L$ to Fred Bloggs when he touches this prim, then die
// Compare this example with that shown under llTransferLindenDollars
string Recipient = "Fred Bloggs"; // Authorised recipient
integer Amount = 100; // Amount to pay Fred when he touches the prim
integer DebitPerms;
default
{
state_entry()
{
// Ask the owner for permission to debit their account
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
}
run_time_permissions (integer perm)
{
if (perm & PERMISSION_DEBIT)
DebitPerms = TRUE;
}
touch_start(integer num_detected)
{
if (!DebitPerms)
return; // Cannot proceed - debit permissions not granted
if (llDetectedName(0) != Recipient)
return; // unauthorised person is touching - ignore
key id = llDetectedKey(0); // Get toucher's (i.e. Fred's) UUID
llGiveMoney(id, Amount); // Give him the money
llDie(); // Die so Fred can't keep taking money
}
}
|