LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 1601|回复: 0

[函数] 【amsft】【amsetsft】 施放失败处理

[复制链接]
发表于 2013-11-4 11:43:14 | 显示全部楼层 |阅读模式
需求2009-10-17后的版本支持

关于以下两函数的说明:
该函数不能提前判断技能是否可以正常施放到目标,而是通过判断上次施放失败,当再次要求施放时在规定时间内忽略该技能施放,来达到因为该技能不能施法而卡在此技能的事件发生。

如:对隔墙的玩家加血,因为隔墙所以无法加上。如果没该失败处理函数处理加血技能就卡在这里不停的加,造成后面的技能无法执行。有了失败处理函数后该技能在下次施放时会给忽略,这样后面的技能就可以施放了。在 amsetsft() 函数设定的时间后恢复允许施放。

可以处理的失败事件:

1、超出范围 2009-10-211038 取消了该事件)
2
、没有可以行进的路径 2009-10-21 1038 取消了该事件)
3
、没有目标 2009-10-21 1038 取消了该事件)
4
、目标不在视野中
5
、目标过于接近 2009-10-21 1038 取消了该事件)
6
、目标已经死亡 2009-10-21 1038 取消了该事件)
7
、你必须面对目标 2009-10-21 1038 取消了该事件)
8
、你必须位于目标背后 2009-10-21 1038 取消了该事件)
9
、你必须在潜行状态下 2009-10-21 1038 取消了该事件)
10
、无效的目标 2009-10-21 1038 取消了该事件)
11
、已经有一个更强大的法术在发挥作用
12
、这个技能需要连击点数 2009-10-21 1038 取消了该事件)
13
、只能在室外使用 2009-10-21 1038 取消了该事件)
14
、必须在熊形态 2009-10-21 1038 取消了该事件)
15
、必须在潜行中 2009-10-21 1038 取消了该事件)



amsft

   判断该技能因上次施放失败,目前是否可以再施放
*该函数功能已经整合到 amisr() 函数的判断里面。amsft()只是提供自定义的判断接口


语法
        n , time = amsft(Spell,Unit);

参数
      Spell
      字符串 - 技能名称

      Unit
      字符串 - UnitId,指定要获取数据的目标

返回值
      n
      布尔值 - 允许施放技能返回true ,反之返回nil 。


备注
   无

请参考


      Unit 详细请看Unit的说明


---------------------------------------------------------------------------------
amsetsft

   设定因上次施放失败,允许再次施放的间隔时间
*该函数直接影响 amisr() 函数的判断



语法        amsetsft(Time);

参数
      Time
      整数值 - 设定时间(秒),系统默认值3秒。

返回值

   无



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-5-6 09:32 AM , Processed in 0.073023 second(s), 16 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表