传奇游戏中,NPC任务脚本的优化与限制功能对游戏体验至关重要。以下是一个NPC任务脚本的示例,描述了如何在NPC处接受任务、完成任务并获得奖励,并包含了限制功能以确保任务流程的顺利进行:
plaintext
[@MAIN]
#IF
CHECKLEVEL 25以下
#SAY
欢迎来到NPC:A处。你可以在这里接受任务。请确保你的等级在25级以下才能进行任务。
#ACT
break
#IF
CHECKVAR HUMAN 任务 = 已接受
CHECKVAR HUMAN 杀怪数量 > 9
CHECK [001] 0
#SAY
你真棒,这么快就完成了任务目标!
<完成任务/@Finish>
#ACT
break
#IF
check [001] 1
#SAY
谢谢你帮我完成了任务!
#ACT
break
#IF
check [001] 0
#SAY
如果你有时间的话请帮我完成任务吧。
<接受任务/@Accept>
[@Accept]
#IF
CHECK [001] 0
CHECKVAR HUMAN 任务 =
#ACT
CALCVAR HUMAN 任务 = 已接受
CALCVAR HUMAN 杀怪数量 = 0
SAVEVAR HUMAN 任务 ..\QuestDiary\任务\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\QuestDiary\任务\记录.txt
[@Finish]
#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文本触发
;地图代码 标记 标记值 怪物名称 MapQuest_def目录下文本
0 [001] 0 鹿 * 任务
;————————————
MapQuest_def目录下鹿.txt
[@MAIN]
#IF
CHECKVAR HUMAN 杀怪数量 > 9
#SAY
你已经完成了消灭10头鹿的任务。请点击传送回到NPC处提交任务。
<传送回去/@Return>
#ACT
break
#IF
CHECKLEVEL 1
#ACT
CALCVAR HUMAN 杀怪数量 + 1
SAVEVAR HUMAN 杀怪数量 ..\QuestDiary\任务\记录.txt
SENDMSG 6 [消灭10头鹿] <$HUMAN(杀怪数量)>/10
[@Return]
#IF
CHECKLEVEL 1
#ACT
MAPMOVE NPC处的地图坐标
这个脚本示例展示了如何处理NPC任务,包括接受任务、完成任务并获得奖励。同时,脚本中还包含了限制功能,确保玩家在符合条件时才能进行任务。