A: NPC领取杀怪任务100只,当杀怪达到100只的时候回来NPC处领取奖励
B:人物在某地图杀怪提示。即每杀一只怪 聊天框 就提示你目前杀怪总数为:
C:当杀怪达到100只,;聊天框提示:杀怪总数完成,请回去领取奖励
A 用到自定义变量
B 用到杀怪触发
C 一样杀怪触发
临时写的 看下面的
[@main]
#if
#say
<领取杀怪100任务/@领取> <任务完成领取奖励/@奖励>
[@领取]
#if
Check [100] 0
#act
set [100] 1
SENDMSG 6 提示:任务领取完毕,请尽快完成.
#elseact
SENDMSG 6 提示:草,领取过的还来捣乱,劳资干死你.
break
[@奖励]
#if
CHECKVAR HUMAN SGCF > 99
#act
set [100] 0
CREDITPOINT + 5
SENDMSG 6 提示:任务完成奖励声望+5.
CALCVAR HUMAN SGCF = 0
SAVEVAR HUMAN YUAN ..\QuestDiary\数据文件\变量数据.txt
#elseact
SENDMSG 6 提示:草,任务未完成,还想要奖励,滚.
break
-----------------------------------------------------------------------------
登陆脚本如下:
请在mirserver\Mir200\Envir\QuestDiary\数据文件\ ---目录下建立一个[变量数据.txt]的文本
如果没有的话就自己创建
[@login]
#if
CHECKLEVELEX > 0
#act
VAR Integer HUMAN SGCF
LOADVAR HUMAN SGCF ..\QuestDiary\数据文件\变量数据.txt
-----------------------------------------------------------------------------
杀怪触发:
mirserver\Mir200\Envir目录下MapQuest.txt文本,添加如下一行:
3 [035] 0 沃玛教主 * Q016
上面的3代表杀怪所在的地图号,沃玛教主代表杀的怪物名称,可以自己修改
Q016对应的是mirserver\Mir200\Envir\MapQuest_Def 里面的文本
意思就是这里写Q016那么MapQuest_Def目录下触发的文本名称也必须是 Q016.txt
总之最后你写什么那么MapQuest_Def目录下就必须创建一个相对应的名称txt文本
-----------------------------------------------------------------------------
mirserver\Mir200\Envir\MapQuest_Def\Q016.txt 里面的文本内容如下:
[@main]
#IF
CHECKVAR HUMAN SGCF > 99
#ACT
mapmove 3 333 333
SENDMSG 6 提示:任务完成.
#elseact
CALCVAR HUMAN SGCF + 1
SAVEVAR HUMAN YUAN ..\QuestDiary\数据文件\变量数据.txt
messagebox 您的当前杀怪数量为:<$HUMAN(SGCF)>
break
3K的,方法一样
1、GOM引擎要先设置地图参数,在\Envir\MapInfo.txt中加地图参数命令“ONKILLMON”,例如:
;盟重省地图可以触发事件
[3 盟重省 0] ONKILLMON
---------------------------------------------------------------------------------------------
2、杀怪触发公共事件,在\Market_def\Qfunction-0.txt里添加脚本“[@OnKillMob]”,例如:
;杀羊公共播报
[@OnKillMob]
#IF
CheckKillMonName 羊
#act
SENDMSG 0 玩家:<$USERNAME>,杀死怪物羊。
也可以奖励物品或增加声望等,如:Give 祝福油 1,CREDITPOINT + 5等
---------------------------------------------------------------------------------------------
3、杀怪任务脚本:NPC领取杀羊任务10只,当杀怪达到10只的时候回来NPC处领取奖励声望+5,祝福油1个
A、NPC领取任务
[@main]
#if
#say
<领取杀羊10只任务/@领取> <任务完成领取奖励/@奖励>
[@领取]
#if
Check [001] 0 ;[001]单元号必须与MapQuest.txt的单元号一致
#act
set [001] 1 ;赋予单元值,必须与MapQuest.txt的单元值一致
SENDMSG 6 提示:任务领取完毕,请尽快完成.
#elseact
SENDMSG 6 提示:不要重复领取.
break
[@奖励]
#if
CHECKVAR HUMAN 杀羊数量 > 9
#act
set [001] 0
give 祝福油 1
CHANGEEXP + 20000
CREDITPOINT + 5
SENDMSG 6 提示: 任务完成奖励声望+5.
CALCVAR HUMAN 杀羊数量 = 0
SAVEVAR HUMAN 杀羊数量 ..\QuestDiary\数据文件\羊数量.txt(在相应目录建立文本“羊数量.txt”)
#elseact
SENDMSG 6 提示: 任务未完成.
break
B、在\MapQuest_def\QManage.txt中声明公共变量“杀羊数量”
[@login]
#act
VAR Integer HUMAN 杀怪数量
LOADVAR HUMAN 杀怪数量 ..\QuestDiary\数据文件\羊数量.txt
C、设置触发
首先,在\Envir\MapQuest.txt文本中添加一行:
地图号 单元号 单元值 怪物 连接符 触发脚本文件
3 [001] 1 羊 * 杀羊(名称要与事件脚本文件一致)
任务模式时,单元值不能为0,为0则无任务触发控制,上线在3号地图刷怪就一直计数。
单元号和单元值必须与任务NPC脚本里设置的单元号和单元值相对应,且不能与其他任务重复。
然后,在\MapQuest_Def中建立“杀羊.txt”事件脚本文件:
[@main]
#IF
CHECKVAR HUMAN 杀羊数量 > 9
#ACT
SENDMSG 7 提示: 任务完成.
#elseact
CALCVAR HUMAN 杀羊数量 + 1
SAVEVAR HUMAN 杀羊数量 ..\QuestDiary\数据文件\羊数量.txt
SENDMSG 7 您的当前杀怪数量为:<$HUMAN(杀羊数量)>
break
杀怪任务脚本完成。