“LlSetDamage”的版本间的差异
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llSetDamage( float damage ); |参数= 参数:• float…”) |
|||
| 第24行: | 第24行: | ||
<pre> | <pre> | ||
//Simple autokiller bullet: | //Simple autokiller bullet: | ||
| − | // | + | //如果在启用伤害的土地上与化身接触,这将在碰撞时立即“杀死”。 |
default | default | ||
{ | { | ||
| − | on_rez(integer param) // | + | on_rez(integer param) // 当rezzed时变得活跃。 |
{ | { | ||
| − | llSetDamage(100.0); // | + | llSetDamage(100.0); // 将伤害设置为最大。 |
| − | llSensor("", "", AGENT, 96.0, PI); // | + | llSensor("", "", AGENT, 96.0, PI); // 在96米范围内搜寻探员。 |
} | } | ||
sensor(integer num) // If an agent is detected... | sensor(integer num) // If an agent is detected... | ||
{ | { | ||
| − | llSetStatus(STATUS_PHYSICS, TRUE); // | + | llSetStatus(STATUS_PHYSICS, TRUE); // 使物理允许物理运动。 |
llSetTimerEvent(10.0); // Set a 10 second timer. | llSetTimerEvent(10.0); // Set a 10 second timer. | ||
| − | llMoveToTarget(llDetectedPos(0), 0.5); // | + | llMoveToTarget(llDetectedPos(0), 0.5); //移动到检测到的位置. |
} | } | ||
| − | no_sensor() // | + | no_sensor() // 如果没有检测到代理… |
{ | { | ||
llDie(); // Auto destruct. | llDie(); // Auto destruct. | ||
} | } | ||
| − | timer() // | + | timer() // 如果我们没击中目标… |
{ | { | ||
llDie(); // Auto destruct. | llDie(); // Auto destruct. | ||
2020年8月22日 (六) 06:34的最新版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| Function: llSetDamage( float damage ); |
| 参数:• float damage – range: 0.0 (no damage) ~ 100.0 (instant kill) |
| 返回值:设置当该对象击中avatar时所造成的伤害。 |
| 注意事项 |
|---|
| 如果伤害大于或等于100.0,该对象会立即杀死一个完全健康的化身。
如果损害小于或等于零,则不会造成损害,该对象也不会死亡,碰撞或land_collision事件将被排队处理。 如果一个激活了伤害的物体击中了一个激活了物理的物体,而这个物体正坐在一个虚拟人物身上,那么虚拟人物就会像被直接击中一样受到伤害 Specification 当物体与虚拟化身碰撞时,虚拟化身会受到伤害… 对象不能是phantom或llVolumeDetect(TRUE) 化身必须在“安全(无伤害)”被禁用的土地上。 然而,该对象不需要在伤害激活土地上或甚至部分超过。 当这些前提条件得到满足时,化身就会受到伤害,对象就会在不调用碰撞事件的情况下死亡。 |
| 示例 |
|---|
//Simple autokiller bullet:
//如果在启用伤害的土地上与化身接触,这将在碰撞时立即“杀死”。
default
{
on_rez(integer param) // 当rezzed时变得活跃。
{
llSetDamage(100.0); // 将伤害设置为最大。
llSensor("", "", AGENT, 96.0, PI); // 在96米范围内搜寻探员。
}
sensor(integer num) // If an agent is detected...
{
llSetStatus(STATUS_PHYSICS, TRUE); // 使物理允许物理运动。
llSetTimerEvent(10.0); // Set a 10 second timer.
llMoveToTarget(llDetectedPos(0), 0.5); //移动到检测到的位置.
}
no_sensor() // 如果没有检测到代理…
{
llDie(); // Auto destruct.
}
timer() // 如果我们没击中目标…
{
llDie(); // Auto destruct.
}
}
|
| 相关函数 |
|---|
| 无 |
| 相关事件 |
|---|
| 无 |