功能:
[@MagSelfFuncXX]和[@MagTagFuncXX]的开关,默认关闭
格式:
技能触发[@MagSelfFuncXX]是,<$PARAM(1)>是目标X坐标,<$PARAM(2)>是目标Y坐标
增加释放魔法NPC命令:MagicFire 参数1:技能ID
参数2:等级(0~15) 参数3:显示技能效果(0/1) 参数4:方式(-2链式 -1溅射 0自己,1当前目标,自定义坐标X) 参数5:自定义坐标Y[可选]
参数6:技能延迟(毫秒)[可选] 参数7:自定义坐标强显效果(0/1)
参数8:可用于设定链式、溅射方式下的最多目标数(不设定则默认根据技能等级内部自动计算)
注:支持普通魔法技能和合击技能,不包含战士技能,不支持技能触发,不支持攻击触发,无举手动作,需配套客户端更新!
增加释放魔法NPC命令:MagicFire 1技能ID 2等级(0~15)
3显示技能效果(0/1) 4方式(-2链式 -1溅射 0自己,1当前目标,自定义坐标X) 5自定义坐标Y[可选] 6技能延迟(毫秒)[可选]
7自定义坐标强显效果(0/1)
8链式、溅射方式下攻击的最多数量[可选]
注:支持普通魔法技能和合击技能,不包含战士技能,不支持技能触发,不支持攻击触发,无举手动作,需配套客户端更新!
当参数4为-1时,参数5为溅射技能半径,建议使用T.MagicFire方式
当参数4为-2时,参数5为链式技能半径,建议使用T.MagicFire方式
当使用自定义坐标时,X和Y支持批量方式,如:11|22|33
44|55|56
当自定义坐标有效且参数7不为0是,将不检测目标有效性,强制显示技能效果
当参数8不指定时,默认根据技能等级去计算可攻击的最多数量
========================================================================================================================================================================================================================================
例1:
[@attack]
#act
SetRandomNO 60
65
#if
CompVal <$ATTINFO_ISHERO> = 1
#act
h.MagicFire
<$RANDOMNO> 5 1 1
#elseact
MagicFire 13 11 1 1
MagicFire
<$RANDOMNO> 15 1
1
========================================================================================================================================================================================================================================
例2:
[@MagSelfFunc11]
#act
; 暂存技能ID
Mov M97
11
goto @CustomMagic
[@MagSelfFunc13]
#act
;
暂存技能ID
Mov M97 13
goto @CustomMagic
[@CustomMagic]
#act
; 存放XY坐标组,使用“|”间隔
Mov S98 ""
Mov S99
""
========================================================================================================================================================================================================================================
;
多层循环,M0/M1分别从-2至+2,构成一个5x5的攻击范围方格
#for (M0 = -2, M0 < 3, M0 + 1)
#for
(M1 = -2, M1 < 3, M1 + 1)
#if(1)
; 过滤掉中间的重合点
CompVal
<$STR(M0)> ! 0
CompVal <$STR(M1)> ! 0
#act
;
将计算得出24个坐标放置在S98和S99
Calc "<$PARAM(1)>+0<$STR(M0)>" M98
Calc
"<$PARAM(2)>+0<$STR(M1)>" M99
Inc S98 <$STR(M98)>|
Inc
S99 <$STR(M99)>|
#~for
#~for
#if
CompVal <$PARAM(0)> = 0
#act
MagicFire <$STR(M97)>
<$MAGICLEVEL(<$STR(M97)>)> 1 <$STR(S98)> <$STR(S99)> 500
1
#elseact
h.MagicFire
<$STR(M97)> <$MAGICLEVEL(<$STR(M97)>)> 1 <$STR(S98)>
<$STR(S99)> 450
1
========================================================================================================================================================================================================================================
例3:
[@Attack]
#act
Mov M99
<$ATTINFO_SKILLID>
#case (M99)
#1, 5, 13, 104, 105,
107~110:
#if
CompVal <$ATTINFO_ISHERO> = 1
#act
;
以怪物为中心发出溅射技能
T.MagicFire <$ATTINFO_SKILLID>
<$H.MAGICLEVEL(<$ATTINFO_SKILLID>)> 1 -1 3
; 以怪物为主逐次发出链式技能
;
T.MagicFire <$ATTINFO_SKILLID>
<$H.MAGICLEVEL(<$ATTINFO_SKILLID>)> 1 -2
4
#elseact
T.MagicFire <$ATTINFO_SKILLID>
<$MAGICLEVEL(<$ATTINFO_SKILLID>)> 1 -1 3
; T.MagicFire
<$ATTINFO_SKILLID> <$MAGICLEVEL(<$ATTINFO_SKILLID>)> 1 -2
4
#~case