脚本示例

任务系统功能脚本

QChatMission-0 功能脚本:主界面按钮 #CALL 到各活动脚本,并提供任务地图试炼传送、按任务进度随机移动与各城镇定点传送。

用途

任务系统的功能脚本 QChatMission-0:把主界面上的按钮 [@MainBtnFunc_0]~[@MainBtnFunc_7]、[@MainBtnFunc_40] 分别 #CALL 到充值、会员、招贤纳士、绑银商城、积分装备、修炼技能、富豪榜、回收榜、游戏指南等活动脚本;另外提供任务地图内的 [@试炼传送]、按任务进度走的 [@随机移动],以及比奇省 / 毒蛇山谷 / 沃玛森林的定点传送。

参考脚本

(@@InPutInteger, @@InPutString)

[@MainBtnFunc_0]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\今日充值.txt] @充值
BREAK

[@MainBtnFunc_1]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\会员特权.txt] @会员
BREAK

[@MainBtnFunc_2]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\招贤纳士.txt] @招贤脚本
BREAK

[@MainBtnFunc_3]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\绑银商城.txt] @商城脚本
BREAK

[@MainBtnFunc_4]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\积分装备.txt] @积分脚本
BREAK

[@MainBtnFunc_5]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\修炼技能.txt] @修炼技能
BREAK

[@MainBtnFunc_6]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\富豪榜.txt] @排行榜脚本
BREAK

[@MainBtnFunc_7]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\回收榜.txt] @回收排行榜
BREAK


[@MainBtnFunc_40]
#IF
CHECKLEVELEX > 0
#ACT
#CALL [快捷脚本\游戏指南.txt] @指南说明
BREAK

[@试炼传送]
#IF
CHECKLEVELEX > 27
CHECKLEVELEX < 36
#ACT
MAPMOVE D012 215 236
BREAK


[@随机移动]
#IF
;黑暗地带随机传送
ISONMAP D612
CHECKMISSION 27 = 18
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢二层西随机传送
ISONMAP D604
CHECKMISSION 27 = 15
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢二层西随机传送
ISONMAP D604
CHECKMISSION 27 = 13
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层北随机传送
CHECKMISSION 27 = 9
#ACT
MAP D603
BREAK
#IF
;地牢一层北随机传送
ISONMAP D603
CHECKMISSION 27 = 7
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层西随机传送
ISONMAP D602
CHECKMISSION 27 = 4
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D416
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D415
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D414
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D413
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D412
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D411
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D406
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D405
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D404
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D403
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D402
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;比奇矿区随机传送
ISONMAP D401
CHECKMISSION 26 = 6
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层西随机传送
ISONMAP D602
CHECKMISSION 23 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层西随机传送
ISONMAP D602
CHECKMISSION 23 = 1
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层西随机传送
ISONMAP D602
CHECKMISSION 22 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层西随机传送
ISONMAP D602
CHECKMISSION 21 = 2
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层东随机传送
ISONMAP D601
CHECKMISSION 20 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层东随机传送
ISONMAP D601
CHECKMISSION 20 = 1
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层东随机传送
ISONMAP D601
CHECKMISSION 18 = 7
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;地牢一层东随机传送
CHECKMISSION 18 = 5
#ACT
MAP D601
BREAK
#IF
;地牢一层北随机传送
CHECKMISSION 18 = 3
#ACT
MAP D603
BREAK
#IF
;地牢一层东随机传送
ISONMAP D601
CHECKMISSION 18 = 1
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;废矿入口随机传送
ISONMAP D401
CHECKMISSION 13 = 4
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;废矿入口随机传送
ISONMAP D401
CHECKMISSION 13 = 2
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;废矿入口随机传送
ISONMAP D401
CHECKMISSION 11 = 5
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;废矿入口随机传送
ISONMAP D401
CHECKMISSION 11 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;毒蛇山谷随机传送
ISONMAP 2
CHECKMISSION 10 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;毒蛇山谷随机传送
ISONMAP 2
CHECKMISSION 9 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;毒蛇山谷随机传送
ISONMAP 2
CHECKMISSION 8 = 3
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;兽人洞穴随机传送
ISONMAP D002
CHECKMISSION 7 = 1
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;兽人洞穴随机传送
ISONMAP D001
CHECKMISSION 7 = 1
#ACT
MAP <$CURRENTMAP>
BREAK
#IF
;洞穴随机传送
CHECKMISSION 6 = 2
#ACT
MAP D012
BREAK
#IF
;洞穴随机传送
CHECKMISSION 5 = 4
#ACT
MAP D011
BREAK
#IF
;沃玛森林随机传送
CHECKMISSION 4 = 7
#ACT
MAP 1
BREAK
#IF
;沃玛森林随机传送
CHECKMISSION 4 = 4
#ACT
MAP 1
BREAK
#ELSEACT
MessageBox 你不在任务地图内,不能使用此移动功能!

[@沃玛森林]
#IF
;安家铺老板传送
CHECKMISSION 4 = 8
#ACT
MAPMOVE 1 312 75
CLOSE
BREAK
#IF
;安家铺老板传送
CHECKMISSION 4 = 6
#ACT
MAPMOVE 1 312 75
CLOSE
BREAK
#IF
;拾荒者传送
CHECKMISSION 4 = 5
#ACT
MAPMOVE 1 558 540
CLOSE
BREAK

[@毒蛇山谷]
#IF
;药店传送
CHECKMISSION 10 = 4
#ACT
MAPMOVE 2 507 495
BREAK
#IF
;米家衣服店传送
CHECKMISSION 9 = 4
#ACT
MAPMOVE 2 517 476
BREAK
#IF
;雪人传送
CHECKMISSION 9 = 3
#ACT
MAPMOVE 2 477 425
BREAK
#IF
;仓库传送
CHECKMISSION 9 = 1
#ACT
MAPMOVE 2 510 467
BREAK
#IF
;罗家铺子传送
CHECKMISSION 8 = 4
#ACT
MAPMOVE 2 504 482
BREAK
#IF
;罗家铺子传送
CHECKMISSION 8 = 2
#ACT
MAPMOVE 2 504 482
BREAK
#ELSEACT
MessageBox 你不在任务地图内,不能使用此传送功能!

[@比奇省]
#IF
;张智者传送
CHECKMISSION 11 = 7
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;任务特使传送
CHECKMISSION 16 = 5
#ACT
MAPMOVE N0 334 259
CLOSE
BREAK
#IF
;比奇皇宫传送
CHECKMISSION 16 = 4
#ACT
MAPMOVE N0122 24 29
CLOSE
BREAK
#IF
;任务特使传送
CHECKMISSION 15 = 11
#ACT
MAPMOVE N0 334 259
CLOSE
BREAK
#IF
;任务特使传送
CHECKMISSION 13 = 6
#ACT
MAPMOVE N0 334 259
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 13 = 5
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 13 = 3
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 13 = 1
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 12 = 2
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 12 = 1
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 11 = 6
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 11 = 4
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;张智者传送
CHECKMISSION 11 = 2
#ACT
MAPMOVE D401 86 53
CLOSE
BREAK
#IF
;洞穴二层传送
CHECKMISSION 7 = 4
#ACT
MAPMOVE D012 214 234
CLOSE
BREAK
#IF
;洞穴二层传送
CHECKMISSION 7 = 3
#ACT
MAPMOVE D012 214 234
CLOSE
BREAK
#IF
;兽人洞穴传送
CHECKMISSION 7 = 1
#ACT
MAP D001
CLOSE
BREAK
#IF
;兽人二层传送
CHECKMISSION 6 = 6
#ACT
MAP D002
CLOSE
BREAK
#IF
;避难者传送
CHECKMISSION 5 = 5
#ACT
MAPMOVE D011 208 195
CLOSE
BREAK
#IF
;避难者传送
CHECKMISSION 5 = 3
#ACT
MAPMOVE D011 208 195
CLOSE
BREAK
#IF
;仓库保管员
CHECKMISSION 3 = 13
#ACT
MAPMOVE N0 303 258
CLOSE
BREAK
#IF
;蛤蟆
CHECKMISSION 3 = 12
#ACT
MAPMOVE N0 262 338
CLOSE
BREAK
#IF
;任务特使
CHECKMISSION 3 = 10
#ACT
MAPMOVE N0 334 259
CLOSE
BREAK
#IF
;稻草人
CHECKMISSION 3 = 9
#ACT
MAPMOVE N0 262 338
CLOSE
BREAK


[@英雄特使]
#IF
ISONMAP n0
#ACT
MOVETOCELL 333 270 英雄特使
#ELSEACT
SENDMSG 5 到达 比奇省 之后才能使用自动走路 252 255

[@任务特使]
#IF
ISONMAP n0
#ACT
MOVETOCELL 322 260 任务特使
#ELSEACT
SENDMSG 5 到达 比奇省 之后才能使用自动走路 252 255

关键点

  • 脚本顶部声明 (@@InPutInteger, @@InPutString),让被调用的活动脚本可以接收玩家输入。
  • 主界面按钮统一走 #CALL [快捷脚本\xxx.txt] @xxx,脚本文件名与目标标签必须与对应文件一致;[@MainBtnFunc_n] 的编号与客户端按钮序号对应。
  • 定点传送先 CHECKMISSION <任务号> = <进度> 判断玩家当前任务步骤,再 MAPMOVE <地图> <X> <Y>;不在任务地图时用 MessageBox 提示「你不在任务地图内,不能使用此移动功能!」。
  • [@随机移动] 是任务地图内的随机传送:先 ISONMAP <地图> 限定地图,命中任务进度后 MAP <$CURRENTMAP> 原地重进从而实现随机落点,[@沃玛森林]、[@毒蛇山谷]、[@比奇省] 则是定点。
  • [@英雄特使]、[@任务特使] 用 MOVETOCELL X Y 名称 做自动走路,不在比奇省时用 SENDMSG 5 提示先到达比奇省。

相关阅读