在《传奇》这款经典游戏中,脚本的执行是游戏互动和功能实现的重要环节。不同的游戏引擎对脚本的执行方式有不同的要求。本文将以HERO引擎和D3D引擎为例,详细讲解如何执行攻击目标触发脚本。
一、HERO引擎实现攻击目标触发
地图配置:首先,在地图配置文件MapInfo.txt中添加特定的触发标签@Attack。例如,在盟重土城的配置中添加HITMON(@Attack),这样只有在盟重土城攻击目标时才会触发脚本。
脚本编写:接着,在QFunction-0.txt这个系统固定的脚本文件中添加以下脚本:
[@Attack]
#IF
checkitemw 开天 1 ;检测玩家是否手持开天武器
CHECKHITMONNAME <目标名称> ;检测被攻击的目标名称
#ACT
SendMsg 0 提示:<目标名称>被<玩家名>手中的"开天"击中
break
Copy
这段脚本会在玩家使用开天武器攻击目标时发送提示信息。
二、D3D引擎实现攻击目标触发
与HERO引擎相比,D3D引擎的脚本执行更为简单。
脚本编写:在QFunction-0.txt中添加以下脚本:
;======================魔法攻击触发==========================
[@MagicStruck]
#IF
CHECKCURRTARGETRACE = 0 ;判断是否攻击到怪物
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
[@MagicAttack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
;======================物理攻击触发==========================
[@Struck]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
[@Attack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
Copy
这段脚本包含了魔法攻击和物理攻击的触发条件,以及相应的提示信息。
通过以上步骤,你可以在《传奇》游戏中使用HERO引擎或D3D引擎执行攻击目标触发脚本,为游戏添加更多有趣的互动和功能。
一、HERO引擎实现攻击目标触发
地图配置:首先,在地图配置文件MapInfo.txt中添加特定的触发标签@Attack。例如,在盟重土城的配置中添加HITMON(@Attack),这样只有在盟重土城攻击目标时才会触发脚本。
脚本编写:接着,在QFunction-0.txt这个系统固定的脚本文件中添加以下脚本:
[@Attack]
#IF
checkitemw 开天 1 ;检测玩家是否手持开天武器
CHECKHITMONNAME <目标名称> ;检测被攻击的目标名称
#ACT
SendMsg 0 提示:<目标名称>被<玩家名>手中的"开天"击中
break
Copy
这段脚本会在玩家使用开天武器攻击目标时发送提示信息。
二、D3D引擎实现攻击目标触发
与HERO引擎相比,D3D引擎的脚本执行更为简单。
脚本编写:在QFunction-0.txt中添加以下脚本:
;======================魔法攻击触发==========================
[@MagicStruck]
#IF
CHECKCURRTARGETRACE = 0 ;判断是否攻击到怪物
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
[@MagicAttack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
;======================物理攻击触发==========================
[@Struck]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻击了。使用魔法ID=<$CURRRUSEMAGICID>
255 253
BREAK
[@Attack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻击了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻击了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
Copy
这段脚本包含了魔法攻击和物理攻击的触发条件,以及相应的提示信息。
通过以上步骤,你可以在《传奇》游戏中使用HERO引擎或D3D引擎执行攻击目标触发脚本,为游戏添加更多有趣的互动和功能。

