传奇版本库 发表于 2019-7-21 11:03:27

传奇版本简单实用的捐款排名脚本+思路

自己写的一个简单实用的捐款排名,实时刷新排名,脚本体积很小。个人看了,市面上很多长篇大论的捐款,基本都相同,脚本很臃肿,且还不稳定。于是自己开始着手写,下面脚本很简单,扩展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   用分割命令分割一下分别获取为变量就行了。

传奇版本里面的脚本跟思路都一起奉上了。有喜欢的朋友可以收藏以备以后方便使用。

明月松间照 发表于 2019-7-22 11:42:04

感谢楼主分享

真我风采 发表于 2019-7-28 09:38:14

谢谢楼主分享,顶!

十万总站 发表于 2020-4-13 16:33:39

fsdffdfsdfsdfsdfsdfsdfsd

skyandy 发表于 2020-6-23 09:35:16

感谢你的分享!!!!!
页: [1]
查看完整版本: 传奇版本简单实用的捐款排名脚本+思路