当前位置 : 145z游戏站 | 热血传奇 | 技术教程 | 

传奇服务端脚本指南:如何创建NPC任务

来源: 作者: 热度:
创建NPC任务是传奇服务端脚本中的一项基本功能,可以让玩家在完成任务后获得奖励,增加游戏的趣味性和玩法深度。

以下是创建NPC任务的步骤:

创建NPC对话框:
首先,需要在NPC对话框中添加任务描述和接受任务选项。可以使用以下脚本:

[@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
Copy
创建任务触发器:
接下来,需要创建任务触发器,即在完成任务的条件下,让玩家可以获得奖励。可以使用以下脚本:

;----------------------------------------------------------------------------------
MapQuest文本触发
;地图代码 标记 标记值 怪物名称 MapQuest_def目录下文本
0 [001] 0 鹿 * 任务
;-------------------------------------------------------------------------------
MapQuest_def目录下鹿.txt
[@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
Copy
设置任务限制:
最后,需要设置任务的使用限制,例如只能接受一次或每日三次。可以使用以下脚本:

;----------------------------------------------------------------------------------
MapQuest文本触发
;地图代码 标记 标记值 怪物名称 MapQuest_def目录下文本
0 [001] 0 鹿 * 任务
;-------------------------------------------------------------------------------
MapQuest_def目录下鹿.txt
[@MAIN]
#IF
CHECKVAR HUMAN 任务 = 已接受
CHECKVAR HUMAN 杀怪数量 > 9
CHECK [001] 0
#SAY
你已经完成了消灭10头鹿的目标。请点击传送回到领取任务的地方提交任务\\
<传送回去/@好>
#ACT
break
#IF
CHECKLEVEL 1
#ACT
CALCVAR HUMAN 杀怪数量 + 1
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
SENDMSG 6 [消灭10头鹿] <$HUMAN(杀怪数量)>/10
#IF
CHECKVAR HUMAN 任务 =
#ACT
if 每日限制 < 3
CALCVAR HUMAN 任务 = 已接受
CALCVAR HUMAN 杀怪数量 = 0
SAVEVAR HUMAN 任务 ..\\QuestDiary\\任务\\记录.txt
SAVEVAR HUMAN 杀怪数量 ..\\QuestDiary\\任务\\记录.txt
endif
[@好]
#if
checklevel 1
#act
MAPMOVE 0 坐标x 坐标y
[顶部]