在本文中,我们将详细介绍如何使用自定义变量以及处理NPC任务的脚本。
1. 使用自定义变量:
在本例中,我们使用了自定义变量 HUMAN 任务 和 HUMAN 杀怪数量 来记录玩家的任务状态和已经消灭的怪物数量。
2. NPC任务处理:
首先,我们需要检查玩家是否已经接受了任务,并且已经消灭了9只鹿。如果是,则说明任务已经完成,我们可以将任务标记为已完成,并将杀怪数量重置为0。
3. MapQuest文本触发:
当玩家在地图上与特定的怪物(例如鹿)发生交互时,会触发 鹿.txt 文件中的脚本。在这个文件中,我们需要检查玩家是否已经完成了消灭10只鹿的目标,如果是,则可以将玩家传送回任务领取地点。
4. 自定义变量的存储:
在本例中,我们使用 SAVEVAR 命令将自定义变量存储在文本文件 记录.txt 中,以便在玩家下次登录时继续使用。
5. 注意事项:
请注意,在使用自定义变量时,需要小心地选择变量名,避免与其他变量名重复。另外,在使用 SAVEVAR 命令时,需要注意文件路径是否正确,以确保变量能够正确地存储和读取。
6. 完整代码:
[@MAIN]
#IF
CHECKVAR HUMAN 任务 = 已接受
CHECKVAR HUMAN 杀怪数量 > 9
CHECK [001] 0
#SAY
你真棒,这么快就消灭了10头鹿。\
<完成任务/@哇>
#ACT
break
#IF
check [001] 1
#say
谢谢你帮我完成了10头鹿的目标!~
#ACT
break
#IF
check [001] 0
#say
如果你有时间的话请帮我消灭10只鹿吧。\
<接受任务/@的>
[@的]
#IF
CHECK [001] 0
CHECKVAR HUMAN 任务 =
#ACT
CALCVAR HUMAN 任务 = 已接受
CALCVAR HUMAN 杀怪数量 = 0
SAVEVAR HUMAN 任务 ..\QuestDiary\任务\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\QuestDiary\任务\记录.txt
[@哇]
#IF
CHECKVAR HUMAN 任务 = 已接受
CHECKVAR HUMAN 杀怪数量 > 9
CHECK [001] 0
#ACT
SET [001] 1
CALCVAR HUMAN 任务 = 已完成
CALCVAR HUMAN 杀怪数量 = 0
SAVEVAR HUMAN 任务 ..\QuestDiary\任务\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\QuestDiary\任务\记录.txt
;———————————————————————————-
MapQuest\_def目录下文本
[@MAIN]
#IF
CHECKVAR HUMAN 杀怪数量 > 9
#SAY
你已经完成了消灭10头鹿的目标。请点击传送回到领取任务的地方提交任务\
<传送回去/@好>
#ACT
break
#IF
CHECKLEVEL 1
#ACT
CALCVAR HUMAN 杀怪数量 + 1
SAVEVAR HUMAN 杀怪数量 ..\QuestDiary\任务\记录.txt
SENDMSG 6 [消灭10头鹿] <$HUMAN(杀怪数量)>/10
[@好]
#if
checklevel 1
#act
MAPMOVE 0 坐标x 坐标y