传奇版本

传奇如何用skyM2实现跟传世一样的跑马马糸统

[复制链接]
查看47591 | 回复20 | 2012-9-18 16:52:11 | 显示全部楼层 |阅读模式
如何用skyM2实现跟传世一样的跑马马糸统。

传世的跑马马糸统功能如下:
1. 定时开启动动,时间是两小时,这之间跑最少时间取胜,活动结束后。领取奖金。
2.. 跑马分5个跑道,玩家可以从不同跑道进入,同时压的可以哪个跑道最后得冠。游戏结束后,压中跑道的玩家获翻倍奖金.
3.每次跑马者跑完赛道后,显示跑马者本次成绩.
4.我们版本,另外增加了一项世界纪录,记录本游戏所有活动中最短时间.打破有世界纪录有奖历.
5.提供非参赛者,也可以进入场地观看功能.
6.GM后台有控制活动开关: 设置是否定时开启活动,手功发动活动,设置入场费,设置冠军奖金数,设置奖金倍数,设置破世界纪录奖金.....

部分关键脚本.供专业技术参考
此活动功能强大,因此脚本也很复杂,涉及的脚本命令和相关的功能太多,这里不一一介绍.
只关注一下,那个跑马计时的功能是如何实现:
原理:
当跑马者进入场地后,启动玩家个人计时器.这个计时器是由NPC脚本启动的.
当玩家跑出场地后,计时器关闭,把时间设置.
计时器大家都明白,但可能不清楚,玩家跑出场地是什么触发关闭计时器的呢?
这是关键,这里就用到了 skyM2的一个比较好的功能.
地图触发.
详细见skyM2的说明书.
当人物经过坐标时,会触发一个脚本.来实现关闭计时器功能...

地图触发的文件在 Envir 里的 MapEvent.txt
;地图事件触发列表
runhorse 183 400? -1:1 5:*:0 0 1Run1
runhorse 183 399? -1:1 5:*:0 0 1Run1
runhorse 183 398? -1:1 5:*:0 0 1Run1
runhorse 183 397? -1:1 5:*:0 0 1Run1
runhorse 182 400? -1:1 5:*:0 0 1Run1
runhorse 182 399? -1:1 5:*:0 0 1Run1
runhorse 182 398? -1:1 5:*:0 0 1Run1
runhorse 182 397? -1:1 5:*:0 0 1Run1
runhorse 182 396? -1:1 5:*:0 0 1Run1
runhorse 181 401? -1:1 5:*:0 0 1Run1
runhorse 181 400? -1:1 5:*:0 0 1:@Run1
runhorse 181 399? -1:1 5:*:0 0 1:@Run1
runhorse 181 398? -1:1 5:*:0 0 1:@Run1
runhorse 181 397? -1:1 5:*:0 0 1:@Run1
runhorse 181 396? -1:1 5:*:0 0 1:@Run1
runhorse 180 401? -1:1 5:*:0 0 1:@Run1
runhorse 180 400? -1:1 5:*:0 0 1:@Run1
runhorse 180 399? -1:1 5:*:0 0 1:@Run1
runhorse 180 398? -1:1 5:*:0 0 1:@Run1
runhorse 180 397? -1:1 5:*:0 0 1:@Run1
runhorse 180 396? -1:1 5:*:0 0 1:@Run1


;----------------跑马活动触发-------
;地图触发
Qfunction_0.txt
[@run1]
#IF
equal I58 1
check [103] 1
SMALL N60 <$str(G59)>
#act
SetOffTimer 1
mov G59 <$str(N60)>
mov A59 <$USERNAME>
mov I60 <$str(N60)>
mov A60 <$USERNAME>
mov I61 <$str(N61)>
GAMEGOLD + <$str(G62)>
sendmsg 0 〖活动通告〗跑马选手[<$str(A59)>]以<$str(G59)>秒的好成绩,打破了本游戏跑马的世界纪录,当场奖励奖金<$str(G62)>元宝.
set [103] 0
#IF
equal I58 1
check [103] 1
SMALL N60 <$str(I60)>
#act
SetOffTimer 1
mov I60 <$str(N60)>
mov A60 <$USERNAME>
mov I61 <$str(N61)>
sendmsg 0 〖跑马场通告〗<$str(A60)>跑出了<$str(I60)>秒的成绩,目前是第一名.
set [103] 0
#IF
equal I58 1
check [103] 1
#act
SetOffTimer 1
sendmsg 0 〖跑马场通告〗参赛选手"%s"的跑马成绩是<$str(N60)>秒.
set [103] 0

论坛一条龙
聚信网络 | 2014-5-26 14:20:20 | 显示全部楼层
收藏了,以后可能会用到!
赵环宇 | 2014-5-26 13:45:17 | 显示全部楼层
楼上长在线啊?
聚信网络 | 2014-5-26 13:24:44 | 显示全部楼层
好无聊啊!
梵蒂冈 | 2014-5-26 13:41:48 | 显示全部楼层
帖子好乱!
岳哥哥 | 2014-5-26 13:29:15 | 显示全部楼层
楼上的别说的那么悲观好吧!
电脑同学 | 2014-6-1 11:41:12 | 显示全部楼层
楼主就是我的榜样哦
聚信网络 | 2014-6-1 11:35:55 | 显示全部楼层
今天的心情很不错啊
无聊看看 | 2014-6-1 11:41:44 | 显示全部楼层
吹牛的人越来越多了!
我日你个 | 2014-6-1 12:03:38 | 显示全部楼层
青春不在了,青春痘还在!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则