以下是一个可行的 NPC 任务脚本,包括每日三次限制和物品收集任务。请将相关代码粘贴到您的服务端脚本中。
NPC 任务处脚本
; 任务相关自定义变量
CALCVAR HUMAN 任务 = 未接受
CALCVAR HUMAN 杀怪数量 = 0
CALCVAR HUMAN 收集物品数量 = 0
CALCVAR HUMAN 今日任务次数 = 0
CALCVAR HUMAN 最大任务次数 = 3
[@MAIN]
#IF CHECKVAR HUMAN 任务 = 已接受
#IF CHECKVAR HUMAN 杀怪数量 >= 10
#IF CHECK [001] 0
#ACT
SET [001] 1
CALCVAR HUMAN 任务 = 已完成
CALCVAR HUMAN 杀怪数量 = 0
CALCVAR HUMAN 今日任务次数 = 0
SAVEVAR HUMAN 任务 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 今日任务次数 ..\\QuestDiary\\任务\\记录.txt
#SAY
恭喜你完成了任务!请点击传送回到领取任务的地方提交任务。
<传送回去/@好>
#IF
#IF
#ELSE
#IF CHECKVAR HUMAN 任务 = 未接受 AND CHECKLEVEL 1 25
#SAY
如果你有时间的话,请帮我消灭10只鹿,或收集30个蜡烛。
<接受任务/@的>
#ELSE
#SAY
您当前的等级不符合任务要求。
#IF
#IF
break
[@的]
#IF CHECKVAR HUMAN 任务 = 未接受 AND CHECKLEVEL 1 25
#ACT
CALCVAR HUMAN 任务 = 已接受
CALCVAR HUMAN 杀怪数量 = 0
CALCVAR HUMAN 收集物品数量 = 0
SAVEVAR HUMAN 任务 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 收集物品数量 ..\\QuestDiary\\任务\\记录.txt
#SAY
好的,我会尽力完成任务。
#IF
break
[@好]
#IF CHECKVAR HUMAN 任务 = 已接受
#IF CHECKVAR HUMAN 今日任务次数 < CHECKVAR HUMAN 最大任务次数
#IF CHECK [001] 1
#ACT
CALCVAR HUMAN 今日任务次数 + 1
SAVEVAR HUMAN 今日任务次数 ..\\QuestDiary\\任务\\记录.txt
#SAY
感谢您的帮助!
#IF
#IF
#ELSE
#IF CHECKVAR HUMAN 任务 = 已完成
#SAY
恭喜你完成了任务!请点击传送回到领取任务的地方提交任务。
<传送回去/@完>
#ELSE
#SAY
今日任务次数已达上限,请明天再来。
#IF
#IF
break
[@完]
#IF CHECKVAR HUMAN 任务 = 已完成
#ACT
SET [001] 0
CALCVAR HUMAN 任务 = 未接受
CALCVAR HUMAN 杀怪数量 = 0
CALCVAR HUMAN 收集物品数量 = 0
CALCVAR HUMAN 今日任务次数 = 0
SAVEVAR HUMAN 任务 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 收集物品数量 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 今日任务次数 ..\\QuestDiary\\任务\\记录.txt
#SAY
任务已完成,获得奖励。
#IF
break
Copy
地图代码
0 [001] 0 鹿 * 任务
0 [002] 30 蜡烛 * 任务
Copy
MapQuest\_def 目录下文本
鹿.txt
[@MAIN]
#IF CHECKVAR HUMAN 杀怪数量 >= 10
#IF CHECK [001] 0
#ACT
SET [001] 1
CALCVAR HUMAN 任务 = 已完成
CALCVAR HUMAN 杀怪数量 = 0
CALCVAR HUMAN 今日任务次数 = 0
SAVEVAR HUMAN 任务 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 今日任务次数 ..\\QuestDiary\\任务\\记录.txt
#SAY
恭喜你完成了任务!请点击传送回到领取任务的地方提交任务。
<传送回去/@好>
#IF
#ELSE
#IF CHECK [001] 1
#ACT
CALCVAR HUMAN 杀怪数量 + 1
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
SENDMSG 6 [消灭10头鹿] <$HUMAN(杀怪数量)>/10
#IF
#IF
break
Copy
蜡烛.txt
[@MAIN]
#IF CHECKVAR HUMAN 收集物品数量 >= 30
#IF CHECK [002] 0
#ACT
SET [002] 1
CALCVAR HUMAN 任务 = 已完成
CALCVAR HUMAN 收集物品数量 = 0
CALCVAR HUMAN 今日任务次数 = 0
SAVEVAR HUMAN 任务 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 收集物品数量 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 今日任务次数 ..\\QuestDiary\\任务\\记录.txt
#SAY
恭喜你完成了任务!请点击传送回到领取任务的地方提交任务。
<传送回去/@好>
#IF
#ELSE
#IF CHECK [002] 1
#ACT
CALCVAR HUMAN 收集物品数量 + 1
SAVEVAR HUMAN 收集物品数量 ..\\QuestDiary\\任务\\记录.txt
#IF
#IF
break