[@Attack]
#IF
CHECKCURRTARGETRACE = 1
CHECKITEMW The·豪·Attack 1
#ACT
; SENDMSG 9 当前X坐标<$X>
; SENDMSG 9 当前Y坐标<$Y>
; SENDMSG 9 当前攻击X坐标<$ATTACKMONSTER_X>
; SENDMSG 9 当前攻击Y坐标<$ATTACKMONSTER_Y>
; PLAYEFFECT 1034 <$ATTACKMONSTER_X> <$ATTACKMONSTER_Y> 1 0
;
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-21 19:17:16 |
👁️ 阅读: 3
根据课程日志记录,你提供的脚本在 `[@Attack]` 标签中尝试计算坐标差并播放特效,但存在一些语法问题。
主要问题在于:
1. 脚本中使用了 `DEC N$XXX <$ATTACKMONSTER_X>` 和 `DEC N$YYY <$ATTACKMONSTER_Y>`。`DEC` 命令是递减,而不是计算差值。计算差值应使用 `FORMULATION` 命令。
2. 最后播放特效 `PLAYEFFECT` 时,变量名引用错误,应为 `<$STR(N$XXX)>` 和 `<$STR(N$YYY)>`,而不是 `<$STR(XXX)>` 和 `<$STR(YYY)>`。
修正后的脚本示例如下:
```
[@Attack]
#IF
CHECKCURRTARGETRACE = 1
CHECKITEMW The·豪·Attack 1
#ACT
; 计算玩家与攻击目标的坐标差值
FORMULATION <$X>-<$ATTACKMONSTER_X> N$XXX
FORMULATION <$Y>-<$ATTACKMONSTER_Y> N$YYY
; 播放特效,使用计算出的差值坐标
PLAYEFFECT 1106 <$STR(N$XXX)> <$STR(N$YYY)> 1 0
```
这样修改后,脚本会正确计算出玩家与攻击目标的X、Y坐标差值,并在差值坐标位置播放ID为1106的特效。注意确保特效资源已正确配置。
← 返回问答库