求助大佬:刚写了一个击杀怪物,传送另外副本地图的脚本
各位大佬好。刚写了一个击杀怪物,能创建副本直接进入的脚本。
请问:在击杀完副本里面的怪物后,想让玩家直接返回到,原来杀怪触发副本的地图原位置。
希望大佬能直接把脚本写出来,本人新手一枚,给两句提示,我也写不出来,只能多研究各位大神的脚本。
我的脚本是这样
用QF触发杀怪召唤
[@杀怪召唤]
{
#IF
CHECKTEXTLIST ..\\QuestDiary\\怪物列表\\火龙类1.txt <$KILLMONNAME>
random 15
#ACT
#CALL [\\怪物列表\\火龙宝藏.txt] @火龙宝藏
SuperMoveMsg 0 251 0 15 100 2 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
SENDMSG 1 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
}
然后QU里面在建一个火龙宝藏的副本文件
[@火龙宝藏]
{
#if
#act
messagebox 是否要进入【火龙宝藏密室】 @是 @exit
[@是]
#IF
CANMOVEECTYPE 火龙藏宝
#ACT
MOVEECTYPE 火龙藏宝 19 23
#ELSEACT
CREATEECTYPE 火龙藏宝 30
MOVEECTYPE 火龙藏宝 19 23
MobEctypeMon FBMAP 21 27 银蛋 1 1
}
这个脚本要怎么加才能实现,打完副本里面的怪,回到原地
[@杀怪召唤]
{
#IF
CHECKTEXTLIST ..\\QuestDiary\\怪物列表\\火龙类1.txt <$KILLMONNAME>
random 15
#ACT
#CALL [\\怪物列表\\火龙宝藏.txt] @火龙宝藏
SuperMoveMsg 0 251 0 15 100 2 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
SENDMSG 1 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
}
然后QU里面在建一个火龙宝藏的副本文件
[@火龙宝藏]
{
#if
#act
messagebox 是否要进入【火龙宝藏密室】 @是 @exit
[@是]
#IF
CANMOVEECTYPE 火龙藏宝
#ACT
MOV S$当前地图 <$Map>
MOV N$当前坐标X <$X>
MOV N$当前坐标Y <$Y>
MOVEECTYPE 火龙藏宝 19 23
#ELSEACT
CREATEECTYPE 火龙藏宝 30
MOV S$当前地图 <$Map>
MOV N$当前坐标X <$X>
MOV N$当前坐标Y <$Y>
MOVEECTYPE 火龙藏宝 19 23
MobEctypeMon FBMAP 21 27 银蛋 1 1
}
qf里查找[@KillMon],如果没有则建立
在[@KillMon]标签下写入脚本
#IF
;检测当前地图是不是火龙副本
EQUAL <$MapTitle> 火龙藏宝
;检测当前地图怪物剩余0,不包含宝宝
CheckMonMap <$Map> 0 1
#ACT
;10表示秒
SENDDELAYMSG %s后返回原始地图,请尽快拾取怪物所爆物品. 10 255 0 @返回原始地图
[@返回原始地图]
#ACT
Mapmove S$当前地图 N$当前坐标X N$当前坐标Y 能不能,不要在副本里面加NPC,很麻烦 用杀怪触发
[@OnKillMob];注意触发条件,说明书中查找
#IF
CheckKillMonName 你的怪(特定的地图有,且全服唯一的怪)
#ACT
回城脚本
SENDMSG 0 〖玩家名字〗{杀掉了你的怪(特定的地图有,且全服唯一的怪),已被传送回城|255:0}
break #IF
CheckKillMonName 你的怪1(特定的地图有,且全服唯一的怪)
#ACT
记录当前坐标至变量坐标A
记录当前坐标至变量坐标B
传送至地图
break
#IF
CheckKillMonName 你的怪2(特定的地图有,且全服唯一的怪)
#ACT
传送至地图 坐标A 坐标B清除变量坐标A清除变量坐标B
break smjs0327 发表于 2021-7-17 23:51 #IF
CheckKillMonName 你的怪1(特定的地图有,且全服唯一的怪)
#ACT
#IF
CHECKTEXTLIST ..\\QuestDiary\\怪物列表\\火龙类1.txt <$KILLMONNAME>
;random 15
#ACT
TAGMAPINFO 1
#CALL [\\怪物列表\\火龙宝藏.txt] @火龙宝藏
SuperMoveMsg 0 251 0 15 100 2 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
SENDMSG 1 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
#IF
CheckKillMonName 银蛋
#ACT
#CALL [\\怪物列表\\火龙宝藏.txt] @回去
[@回去]
{
#if
#act
messagebox 是否要回到原点 @回去1 @exit
[@回去1]
#IF
#ACT
TAGMAPMOVE 1
}
改成这样了,能触发,但是点回去没反应,然后引擎也每报错 lidu126 发表于 2021-7-18 00:52 #IF
CHECKTEXTLIST ..\\QuestDiary\\怪物列表\\火龙类1.txt
;random 15
#IF
CHECKTEXTLIST ..\\QuestDiary\\怪物列表\\火龙类1.txt <$KILLMONNAME>
;random 15
#ACT
TAGMAPINFO 1
#CALL [\\怪物列表\\火龙宝藏.txt] @火龙宝藏
SuperMoveMsg 0 251 0 15 100 2 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
SENDMSG 1 <$USERNAME>击杀了<$KILLMONNAME>.打开了火龙藏宝的大门,期待他满载而归.
#IF
CheckKillMonName 银蛋
#ACT
goto @回去
break
@回去
#if
#act
messagebox 是否要回到原点 @回去1 @exit
break
@回去1
#IF
#ACT
TAGMAPMOVE 1
break smjs0327 发表于 2021-7-18 09:01 #IF
CHECKTEXTLIST ..\\QuestDiary\\怪物列表\\火龙类1.txt
;random 15
一样的,昨天我直接放在QF文件里面,不用#CALL也还是一样,点回去没反应 效果看附件图。
这里要说明一下是,镜像地图有bug,所以这里直接用随机数来控制地图编号,让其尽量不要重复。
;qf,用到的地图和怪物根据自己需要自行修改
[@killmon]
#if
#act
#CALL [\\Lost\\special_map.txt] @special_map_call
#CALL [\\Lost\\special_map.txt] @special_map_killmon_call
;specialmap.txt
[@special_map_call]
{
#if
CHECKTEXTLIST ..\\QuestDiary\\Lost\\maplist.txt <$MAP>
CHECKTEXTLIST ..\\QuestDiary\\Lost\\monlist.txt <$KILLMONNAME>
#act
mov T210 <$map>
mov u211 <$x>
mov u212 <$y>
;sendmsg 7 map=<$str(T210)>-<$str(u211)>-<$str(u212)>
movr N$random_no 1 99999
mov S$temp_map_no <$username>
inc S$temp_map_no <$str(N$random_no)>
;sendmsg 7 地图号=<$str(S$temp_map_no)>
AddMirrorMap b101 <$str(S$temp_map_no)> 火龙宝藏 180 0159 19002 n100 0,0
mapmove <$str(S$temp_map_no)> 10 10 3
MONGENEX <$map> <$x> <$y> 半兽人 5 1
break
}
[@special_map_killmon_call]
{
#if
CheckContainsText <$map> <$username>
equal <$KILLMONNAME> 半兽人
#act
delaygoto 2000 @return
sendmsg 7 您已消灭怪物,5秒后返回原地图。
break
#elseact
break
[@return]
#act
mapmove <$str(T210)> <$str(u211)> <$str(u212)>
复制代码
225.rar (5.41 MB, , 售价: 1 金钱)
点击文件名售价: 1 金钱 [记录][ 购买 ] 不知道为啥special_map_killmon_call 最后的} 消失了。。。
页:
[1]
2