请选择 进入手机版 | 继续访问电脑版

[技术文章] 传奇爵位捐款排名脚本+思路简单实用

[复制链接]
查看887 | 回复0 | 2020-5-15 09:35:11 | 显示全部楼层 |阅读模式
自己写的一个简单实用的捐款排名,实时刷新排名,脚本体积很小。个人看了,市面上很多长篇大论的捐款,基本都相同,脚本很臃肿,且还不稳定。于是自己开始着手写,下面脚本很简单,扩展N个排名也很容易。
(@@InPutString @@InPutInteger )
[@main]
#IF
#ACT
GetRandomText .\QuestDiary\金币捐款\金币捐款排名.txt s50 1
GetRandomText .\QuestDiary\金币捐款\金币捐款排名.txt s60 2
GetRandomText .\QuestDiary\金币捐款\金币捐款排名.txt s70 3
EXTRACTSTRING : <$STR(S50)> s51 s52
EXTRACTSTRING : <$STR(S60)> s61 s62
EXTRACTSTRING : <$STR(S70)> s71 s72
mov A200 <$STR(S51)>
MOV A201 <$STR(S61)>
MOV A202 <$STR(S71)>
SetStringBlank A202 16 0
SetStringBlank A200 16 0
SetStringBlank A201 16 0
MOV G200 <$STR(S52)>
MOV G201 <$STR(S62)>
MOV G202 <$STR(S72)>

#say
<【/SCOLOR=242><$USERNAME><】/SCOLOR=242><您好,欢迎您使用俸禄捐献系统!/SCOLOR=243>\
<捐献第一名/SCOLOR=253>:<$STR(A200)><所捐金额/SCOLOR=146>:<$STR(G200)>    <全属性8-8/SCOLOR=250>\
<捐献第二名/SCOLOR=253>:<$STR(A201)><所捐金额/SCOLOR=146>:<$STR(G201)>    <全属性6-6/SCOLOR=250>\
<捐献第三名/SCOLOR=253>:<$STR(A202)><所捐金额/SCOLOR=146>:<$STR(G202)>    <全属性4-4/SCOLOR=250>\

捐款100000金币即可     <获得全属性2-2/SCOLOR=146>:  \

<【/SCOLOR=251><捐款最少100000金币,可累积捐献,获得爵位奖励隐藏属性和封号/SCOLOR=250><】/SCOLOR=251>\
\  
<我要捐款/@WYJK> <合区将清理所有捐献/SCOLOR=253>   <关闭对话/@exit>\

[@WYJK]
 \
<使用说明:在输入框内输入/SCOLOR=253> <捐款金额/SCOLOR=151>\ \
<只有排在前3名的玩家,才可以显示在榜上/SCOLOR=254>\ \
<每次捐款最少为/SCOLOR=250> <100000金币/SCOLOR=151>\ \
<输入要捐款金额/@@InPutInteger25>   <返回上一页/@main1>\

[@CallInPutInteger25]
#IF
SMALL N25 100000
#ACT
messagebox 对不起您没有足够的金币!
GOTO @WYJK
BREAK
#IF
checkgold <$STR(N25)>
#ACT
GOTO @JKKS
BREAK
#ELSEACT
messagebox 您没有那么多的金币!
BREAK
[@JKKS]
#IF
checkgold <$STR(N25)>
#ACT
take 金币 <$STR(N25)>
CALCVAR HUMAN JK + <$STR(N25)>
SAVEVAR HUMAN JK ..\QuestDiary\金币捐款\金币捐款.txt
AddTextListEx ..\QuestDiary\金币捐款\第四排名.txt <$USERNAME>
SENDMSG 5 本次共捐款:<$STR(N25)>金币,共捐款:【<$HUMAN(JK)>】金币
GOTO @JKPAIM
BREAK
[@JKPAIM]
#if
#act
SortHumVarToListEx JK .\QuestDiary\金币捐款\金币捐款.txt 1 .\QuestDiary\金币捐款\金币捐款排名.txt 1
GOTO @开始封号
DelayCall 1000 @main

[@IsInFilterList]
#ACT
MESSAGEBOX 输入数据中包含了非法字符,请重新编辑!
[@开始封号]
#IF
#ACT
#CALL [\游戏登陆\转身封号.txt] @封号



因为龙族的排版问题,只能给排名名字加空格。
QM里面申明一个个人变量就行了在下面
#if
#act
VAR Integer HUMAN JK
LOADVAR HUMAN JK ..\QuestDiary\金币捐款\金币捐款.txt

至于要改成元宝版,就把扣除元宝以及检测元宝改一下就行了。

最后QuestDiary\金币捐款\下面分别建立TXT文本
第四排名.txt
金币捐款.txt
金币捐款排名.txt

都为空文本,
下面说一下 多个排名,
下面这个命令 其实就是做排行榜的,但是很多人写脚本都各种名单,替换写入 一堆脚本密密麻麻。

SortHumVarToListEx JK .\QuestDiary\金币捐款\金币捐款.txt 1 .\QuestDiary\金币捐款\金币捐款排名.txt 1

这个是排序的命令,也就是说,会自动把数据最多的人的数值进行升序。或者降序。

这里用到了很普通的检测,
GetRandomText .\QuestDiary\金币捐款\金币捐款排名.txt s50 1
检测文本第一个字符。
GetRandomText .\QuestDiary\金币捐款\金币捐款排名.txt s51 2
这是第二个,如果要多个排名,顶部才是关键。直接索引文本的位置,1-9999都可以,
看个人喜爱。

EXTRACTSTRING : 这个是分割字符串。也是很实用的,因为排序会这样 人物名称:200000   用分割命令分割一下分别获取为变量就行了。

脚本跟思路都一起奉上了。


传奇服务端版本附件下载说明 1、传奇GM论坛(WWW.DIYGM.COM)提供大量传奇版本服务端免费下载。
2、本站发布的传奇版本服务端,补丁素材,工具教程,登录器等全部均测试通过。
3、本站传奇相关资源附件以研究交流为目的,商业用途造成的后果与本站无关。
4、《传奇版本库》部分优质资源需要使用论坛会员下载或者金币下载。
获取金币方法:1、金币充值  2、免费获得传奇GM论坛基地金币。
回复

使用道具 举报

本版积分规则

123

主题

132

帖子

3620

积分

华贵铂金

Rank: 5Rank: 5

积分
3620