找回密码
 立即注册
搜索
老牌香港服务器GBP专线年80元GOM引擎官方风车IM即时聊天附带视频安装教程自建鸽哒IM即时通讯
经典2003我本沉默传奇绿盟登录器官方BLUEM2引擎官方侠客反外挂登录器
查看: 13|回复: 0

[NPC脚本] 传奇地图记时脚本

[复制链接]

签到天数: 3 天

[LV.2]偶尔看看I

327

主题

29

回帖

39万

积分

二品左都御史

积分
399866
发表于 4 天前 | 显示全部楼层 |阅读模式

此脚本是由传奇精英站产亲自写的,亲测可用无BGG,有需要的朋友可以下载去自己开发新功能!

脚本是在LEG引擎上写出,其它引擎有报错请自行修改!


这个脚本其实利用的就是 游戏点计算法,进入地图前NPC送多少游戏点,进入地图后开始减游戏点
从而达到时间计算脚本,然后利用机器人,在快到时间的同时给人弹窗续费。

首先到地图数据库中找到相应的幻境地图加上以下两个时间计算脚本  DARK   DECGAMEPOINT(60/1)
其中(60/1)的意思是说每60秒减少一点游戏点。

比如:  

[H001 幻境一层]   DARK   DECGAMEPOINT(60/1)

地图命令解释如下

DECGAMEPOINT  进入本地图后自动减游戏点 格式:DECGAMEPOINT(1/10) 说明 1/10 1代表加的间隔(秒)

10代表一次加多少点;(用于游戏泡点 功能)如果游戏币没了那么自动传回上次回城地点;



然后到QM数据库 D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt  写下脚本


#CALL [\幻境\幻境登陆.txt] @登陆


[@OnTimer1]
#CALL [\幻境\幻境计时.txt] @计时


--------------------------------------------------------------------------------
然后到 D:\Mirserver\Mir200\Envir\QuestDiary  建立环境文件夹。
在文件夹里面添加二个文本,分别是,环境登陆.txt  环境计时.txt


在 环境登陆.txt  填写如下脚本


[@登陆]
{
#IF
IsOnMap H001
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H002
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H003
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H004
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H005
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H006
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H007
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H008
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H009
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H010
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T1061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2062
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2063
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3062
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3063
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H102
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H104
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H105
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H106
#ACT
SetScTimer 1  60
BREAK
}




然后在 环境计时.txt 写下脚本


[@计时]
{
#IF
IsOnMap H001
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H002
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H003
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H004
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H005
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H006
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H007
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H008
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H009
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H010
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T1061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H102
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H104
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H105
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H106
#ACT
GOTO @报时
BREAK


#IF
#ACT
KillScTimer 1




[@报时]
#IF
CHECKGAMEPOINT > 0
CHECKGAMEPOINT < 11
#SAY
请注意,你还能在幻境停留<$GAMEPOINT>分钟!\
为了避免中途被传出幻境,请合理安排时间.\
需要继续你的幻境之旅吗?30万金币一次手续费.\
<我需要续费/@续费>  <暂时不需要/@exit>
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 20
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 30
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 40
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 50
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 60
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 70
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 80
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 90
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 100
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 110
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 120
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 130
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 140
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 150
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 160
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 170
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 0
#ACT
SENDMSG 7 %s!不好意思!时间已到!
mapmove 3 330 330
KillScTimer 1
BREAK


[@续费]
#if
checkgold 300000
#ACT
take 金币 300000
GAMEPOINT + 60
break
close
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


}[@计时]
{
#IF
IsOnMap H001
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H002
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H003
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H004
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H005
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H006
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H007
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H008
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H009
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H010
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T1061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H102
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H104
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H105
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H106
#ACT
GOTO @报时
BREAK


#IF
#ACT
KillScTimer 1




[@报时]
#IF
CHECKGAMEPOINT > 0
CHECKGAMEPOINT < 11
#SAY
请注意,你还能在幻境停留<$GAMEPOINT>分钟!\
为了避免中途被传出幻境,请合理安排时间.\
需要继续你的幻境之旅吗?30万金币一次手续费.\
<我需要续费/@续费>  <暂时不需要/@exit>
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 20
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 30
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 40
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 50
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 60
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 70
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 80
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 90
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 100
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 110
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 120
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 130
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 140
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 150
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 160
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 170
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 0
#ACT
SENDMSG 7 %s!不好意思!时间已到!
mapmove 3 330 330
KillScTimer 1
BREAK


[@续费]
#if
checkgold 300000
#ACT
take 金币 300000
GAMEPOINT + 60
break
close
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


}


---------------------------------------------------------------------------


NPC的脚本如下


[@main]
上古流传已久的<双倍经验>,<双倍爆率>的“幻境传说”竟然是\
真的。在幻境中还沉睡着从未出现过的宝藏!有无数的勇士\
在寻找这一箭双雕之地,进入幻境1小时需要花费10万金币\
3小时需要花费50万金币!请选择:\
选择<1小时/@1小时>  选择<3小时/@3小时>
#ELSEACT
GAMEPOINT = 0
goto @传送




[@1小时]
#if
checkgold 100000
#ACT
take 金币 100000
mapmove H001 73 67
GAMEPOINT = 60
SetScTimer 1 60
break
#ELSESAY
你没有10万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


[@3小时]
#if
checkgold 500000
#ACT
take 金币 500000
mapmove H001 73 67
GAMEPOINT = 180
SetScTimer 1 60
break
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \
}


脚本其中的 SetScTimer 1 60 意思详解

是人物触发了定时器,系统每60秒触发一次QManage.txt里的 [@OnTimer1]段此脚本是由传奇精英站产亲自写的,亲测可用无BGG,有需要的朋友可以下载去自己开发新功能!

脚本是在LEG引擎上写出,其它引擎有报错请自行修改!


这个脚本其实利用的就是 游戏点计算法,进入地图前NPC送多少游戏点,进入地图后开始减游戏点
从而达到时间计算脚本,然后利用机器人,在快到时间的同时给人弹窗续费。

首先到地图数据库中找到相应的幻境地图加上以下两个时间计算脚本  DARK   DECGAMEPOINT(60/1)
其中(60/1)的意思是说每60秒减少一点游戏点。

比如:  

[H001 幻境一层]   DARK   DECGAMEPOINT(60/1)

地图命令解释如下

DECGAMEPOINT  进入本地图后自动减游戏点 格式:DECGAMEPOINT(1/10) 说明 1/10 1代表加的间隔(秒)

10代表一次加多少点;(用于游戏泡点 功能)如果游戏币没了那么自动传回上次回城地点;



然后到QM数据库 D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt  写下脚本


#CALL [\幻境\幻境登陆.txt] @登陆


[@OnTimer1]
#CALL [\幻境\幻境计时.txt] @计时


--------------------------------------------------------------------------------
然后到 D:\Mirserver\Mir200\Envir\QuestDiary  建立环境文件夹。
在文件夹里面添加二个文本,分别是,环境登陆.txt  环境计时.txt


在 环境登陆.txt  填写如下脚本


[@登陆]
{
#IF
IsOnMap H001
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H002
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H003
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H004
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H005
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H006
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H007
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H008
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H009
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H010
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T1061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2062
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2063
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3062
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3063
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H102
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H104
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H105
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H106
#ACT
SetScTimer 1  60
BREAK
}




然后在 环境计时.txt 写下脚本


[@计时]
{
#IF
IsOnMap H001
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H002
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H003
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H004
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H005
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H006
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H007
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H008
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H009
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H010
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T1061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H102
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H104
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H105
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H106
#ACT
GOTO @报时
BREAK


#IF
#ACT
KillScTimer 1




[@报时]
#IF
CHECKGAMEPOINT > 0
CHECKGAMEPOINT < 11
#SAY
请注意,你还能在幻境停留<$GAMEPOINT>分钟!\
为了避免中途被传出幻境,请合理安排时间.\
需要继续你的幻境之旅吗?30万金币一次手续费.\
<我需要续费/@续费>  <暂时不需要/@exit>
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 20
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 30
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 40
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 50
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 60
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 70
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 80
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 90
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 100
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 110
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 120
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 130
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 140
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 150
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 160
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 170
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 0
#ACT
SENDMSG 7 %s!不好意思!时间已到!
mapmove 3 330 330
KillScTimer 1
BREAK


[@续费]
#if
checkgold 300000
#ACT
take 金币 300000
GAMEPOINT + 60
break
close
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


}[@计时]
{
#IF
IsOnMap H001
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H002
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H003
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H004
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H005
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H006
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H007
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H008
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H009
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H010
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T1061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H102
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H104
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H105
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H106
#ACT
GOTO @报时
BREAK


#IF
#ACT
KillScTimer 1




[@报时]
#IF
CHECKGAMEPOINT > 0
CHECKGAMEPOINT < 11
#SAY
请注意,你还能在幻境停留<$GAMEPOINT>分钟!\
为了避免中途被传出幻境,请合理安排时间.\
需要继续你的幻境之旅吗?30万金币一次手续费.\
<我需要续费/@续费>  <暂时不需要/@exit>
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 20
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 30
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 40
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 50
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 60
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 70
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 80
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 90
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 100
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 110
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 120
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 130
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 140
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 150
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 160
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 170
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 0
#ACT
SENDMSG 7 %s!不好意思!时间已到!
mapmove 3 330 330
KillScTimer 1
BREAK


[@续费]
#if
checkgold 300000
#ACT
take 金币 300000
GAMEPOINT + 60
break
close
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


}


---------------------------------------------------------------------------


NPC的脚本如下


[@main]
上古流传已久的<双倍经验>,<双倍爆率>的“幻境传说”竟然是\
真的。在幻境中还沉睡着从未出现过的宝藏!有无数的勇士\
在寻找这一箭双雕之地,进入幻境1小时需要花费10万金币\
3小时需要花费50万金币!请选择:\
选择<1小时/@1小时>  选择<3小时/@3小时>
#ELSEACT
GAMEPOINT = 0
goto @传送




[@1小时]
#if
checkgold 100000
#ACT
take 金币 100000
mapmove H001 73 67
GAMEPOINT = 60
SetScTimer 1 60
break
#ELSESAY
你没有10万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


[@3小时]
#if此脚本是由传奇精英站产亲自写的,亲测可用无BGG,有需要的朋友可以下载去自己开发新功能!

脚本是在LEG引擎上写出,其它引擎有报错请自行修改!


这个脚本其实利用的就是 游戏点计算法,进入地图前NPC送多少游戏点,进入地图后开始减游戏点
从而达到时间计算脚本,然后利用机器人,在快到时间的同时给人弹窗续费。

首先到地图数据库中找到相应的幻境地图加上以下两个时间计算脚本  DARK   DECGAMEPOINT(60/1)
其中(60/1)的意思是说每60秒减少一点游戏点。

比如:  

[H001 幻境一层]   DARK   DECGAMEPOINT(60/1)

地图命令解释如下

DECGAMEPOINT  进入本地图后自动减游戏点 格式:DECGAMEPOINT(1/10) 说明 1/10 1代表加的间隔(秒)

10代表一次加多少点;(用于游戏泡点 功能)如果游戏币没了那么自动传回上次回城地点;



然后到QM数据库 D:\MirServer\Mir200\Envir\MapQuest_Def\QManage.txt  写下脚本


#CALL [\幻境\幻境登陆.txt] @登陆


[@OnTimer1]
#CALL [\幻境\幻境计时.txt] @计时


--------------------------------------------------------------------------------
然后到 D:\Mirserver\Mir200\Envir\QuestDiary  建立环境文件夹。
在文件夹里面添加二个文本,分别是,环境登陆.txt  环境计时.txt


在 环境登陆.txt  填写如下脚本


[@登陆]
{
#IF
IsOnMap H001
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H002
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H003
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H004
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H005
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H006
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H007
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H008
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H009
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H010
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T1061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2062
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T2063
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3061
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3062
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap T3063
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H102
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H104
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H105
#ACT
SetScTimer 1  60
BREAK


#IF
IsOnMap H106
#ACT
SetScTimer 1  60
BREAK
}




然后在 环境计时.txt 写下脚本


[@计时]
{
#IF
IsOnMap H001
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H002
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H003
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H004
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H005
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H006
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H007
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H008
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H009
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H010
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T1061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H102
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H104
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H105
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H106
#ACT
GOTO @报时
BREAK


#IF
#ACT
KillScTimer 1




[@报时]
#IF
CHECKGAMEPOINT > 0
CHECKGAMEPOINT < 11
#SAY
请注意,你还能在幻境停留<$GAMEPOINT>分钟!\
为了避免中途被传出幻境,请合理安排时间.\
需要继续你的幻境之旅吗?30万金币一次手续费.\
<我需要续费/@续费>  <暂时不需要/@exit>
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 20
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 30
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 40
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 50
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 60
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 70
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 80
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 90
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 100
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 110
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 120
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 130
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 140
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 150
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 160
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 170
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 0
#ACT
SENDMSG 7 %s!不好意思!时间已到!
mapmove 3 330 330
KillScTimer 1
BREAK


[@续费]
#if
checkgold 300000
#ACT
take 金币 300000
GAMEPOINT + 60
break
close
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


}[@计时]
{
#IF
IsOnMap H001
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H002
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H003
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H004
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H005
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H006
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H007
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H008
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H009
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H010
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T1061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T2063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3061
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3062
#ACT
GOTO @报时
BREAK


#IF
IsOnMap T3063
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H102
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H104
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H105
#ACT
GOTO @报时
BREAK


#IF
IsOnMap H106
#ACT
GOTO @报时
BREAK


#IF
#ACT
KillScTimer 1




[@报时]
#IF
CHECKGAMEPOINT > 0
CHECKGAMEPOINT < 11
#SAY
请注意,你还能在幻境停留<$GAMEPOINT>分钟!\
为了避免中途被传出幻境,请合理安排时间.\
需要继续你的幻境之旅吗?30万金币一次手续费.\
<我需要续费/@续费>  <暂时不需要/@exit>
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 20
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 30
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 40
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 50
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 60
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 70
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 80
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 90
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 100
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 110
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 120
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 130
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 140
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 150
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 160
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 170
#ACT
SENDMSG 7 %s!请注意,你还能在幻境停留<$GAMEPOINT>分钟!
BREAK


#IF
CHECKGAMEPOINT = 0
#ACT
SENDMSG 7 %s!不好意思!时间已到!
mapmove 3 330 330
KillScTimer 1
BREAK


[@续费]
#if
checkgold 300000
#ACT
take 金币 300000
GAMEPOINT + 60
break
close
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


}


---------------------------------------------------------------------------


NPC的脚本如下


[@main]
上古流传已久的<双倍经验>,<双倍爆率>的“幻境传说”竟然是\
真的。在幻境中还沉睡着从未出现过的宝藏!有无数的勇士\
在寻找这一箭双雕之地,进入幻境1小时需要花费10万金币\
3小时需要花费50万金币!请选择:\
选择<1小时/@1小时>  选择<3小时/@3小时>
#ELSEACT
GAMEPOINT = 0
goto @传送




[@1小时]
#if
checkgold 100000
#ACT
take 金币 100000
mapmove H001 73 67
GAMEPOINT = 60
SetScTimer 1 60
break
#ELSESAY
你没有10万金币用来支付我们的服务费用!\
请努力赚钱哦\ \


[@3小时]
#if
checkgold 500000
#ACT
take 金币 500000
mapmove H001 73 67
GAMEPOINT = 180
SetScTimer 1 60
break
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦:)\ \
}


脚本其中的 SetScTimer 1 60 意思详解

是人物触发了定时器,系统每60秒触发一次QManage.txt里的 [@OnTimer1]段
checkgold 500000
#ACT
take 金币 500000
mapmove H001 73 67
GAMEPOINT = 180
SetScTimer 1 60
break
#ELSESAY
你没有50万金币用来支付我们的服务费用!\
请努力赚钱哦:)\ \
}


脚本其中的 SetScTimer 1 60 意思详解

是人物触发了定时器,系统每60秒触发一次QManage.txt里的 [@OnTimer1]段
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|51开发者联盟

GMT+8, 2024-10-10 15:18 , Processed in 0.119086 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表