全服自定义排行榜.INI
INI内容如下
[鲜花] ;全服自定义排行榜.INI=文件;[鲜花]=节 ;BLUEM2 =键
;100=值
BLUEM2=100
网易=100
百度=100
如果手动修改INI内容后,请使用命令,INI_RELOAD 文件 //重新加载文件,可以用于手动修改了文本文件的情况下。
示例脚本:以下脚本只是演示,请GM自行完善
注:脚本使用的是S1-S20 M1-M20的个人变量,如果你的版本里有,请自行修改。
[@MAIN]
<排序鲜花的排名(名字+数值)/@GET>
<排序鲜花的排名(名字)/@GETEX>\\
<检查鲜花的排名(名字)/@GET1>\\
<清理鲜花数据/@INI_CLEAR_SECTION>\\
<关闭/@EXIT >
[@GET1]
#IF
EQUAL S1
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第一。
BREAK
#IF
EQUAL S2
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第二。
BREAK
#IF
EQUAL S3
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第三。
BREAK
#IF
EQUAL S4
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第四。
BREAK
#IF
EQUAL S5
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第五。
BREAK
#IF
EQUAL S6
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第六。
BREAK
#IF
EQUAL S7
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第七。
BREAK
#IF
EQUAL S8
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第八。
BREAK
#IF
EQUAL S9
<$USERNAME>
#ACT
MESSAGEBOX 目前你排名第九。
BREAK
#IF
EQUAL S10
<$USERNAME>
#ACT
MESSAGEBOX
目前你排名第十。
BREAK
#ELSEACT
MESSAGEBOX 榜上无名,请再接再厉。
BREAK
[@INI_CLEAR_SECTION]
#IF
CHECKLEVELEX >
0
#ACT
INI_CLEAR_SECTION ..\QUESTDIARY\功能脚本\全服自定义排行榜.INI 鲜花
INI_SAVE
..\QUESTDIARY\功能脚本\全服自定义排行榜.INI
INI_SORT_DELETE INI_排名__鲜花_IV
SENDMSG 5
清楚鲜花数据成功。
[@GET]
#IF
CHECKLEVELEX >
0
#ACT
INI_SORT_READ_SECTION_VALUES ..\QUESTDIARY\功能脚本\全服自定义排行榜.INI 鲜花 1 1
1 INI_排名__鲜花_IV 0
INI_SORT_SECTION_VALUES_COUNT INI_排名__鲜花_IV D0
;SENDMSG
5 获取到排行数据:<$STR(D0)>条
#IF
LARGE D0
1
#ACT
INI_SORT_GET_SECTION_STRING INI_排名__鲜花_IV
S0
;;P0用于限制最多的排名次数
MOV P0 1
;;S92用于累计排名,#ELSESAY的显示调用
MOV
S92
SENDMSG 5 正在计算排名,请稍后。。。
DELAYGOTO 1
@GETIDENTVALUELOOP
#ELSEACT
MESSAGEBOX 目前没有数据。
BREAK
;按顺序获取排行字符串(IDENT_VALUE)到S1~S20
[@GETIDENTVALUELOOP]
#IF
LARGE
D0 1
SMALL P0 10
#ACT
MOV S90 S
INC S90 <$STR(P0)>
INC S92
<COLOR=CLYELLOW>
INC S92
INC S92 <$STR(P0)>、
INC S92
<COLOR=$F7FFFF>
INI_SORT_GET_IDENT_VALUE_STRING INI_排名__鲜花_IV
<$STR(P0)> <$STR(S90)>
MOV S91 <$STR(S
INC S91
<$STR(P0)>
INC S91 )>
INC S92 <$STR(S91)>
INC S92
\
;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0 1
INC P0 1
DELAYGOTO 1
@GETIDENTVALUELOOP
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@EXIT>
#ACT
BREAK
#IF
LARGE D0 1
LARGE P0 9
SMALL
P0 21
#ACT
MOV S90 S
INC S90 <$STR(P0)>
INC S92
<COLOR=CLYELLOW>
INC S92 <$STR(P0)>、
INC S92
<COLOR=$F7FFFF>
INI_SORT_GET_IDENT_VALUE_STRING INI_排名__鲜花_IV
<$STR(P0)> <$STR(S90)>
MOV S91 <$STR(S
INC S91
<$STR(P0)>
INC S91 )>
INC S92 <$STR(S91)>
INC S92
\
;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0 1
INC P0 1
DELAYGOTO 1
@GETIDENTVALUELOOP
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@EXIT>
#ELSESAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@EXIT>
#ELSEACT
SENDMSG 5
鲜花排名完毕。
BREAK
[@GETEX]
#IF
CHECKLEVELEX >
0
#ACT
INI_RELOAD
..\QUESTDIARY\功能脚本\全服自定义排行榜.INI
INI_SORT_READ_SECTION_VALUES
..\QUESTDIARY\功能脚本\全服自定义排行榜.INI 鲜花 1 1 1 INI_排名__鲜花_IVEX
0
INI_SORT_SECTION_VALUES_COUNT INI_排名__鲜花_IVEX D0
;SENDMSG 5
获取鲜花排行数据:<$STR(D0)>条
#IF
LARGE D0
1
#ACT
INI_SORT_GET_SECTION_STRING INI_排名__鲜花_IVEX
S0
;;P0用于限制最多的排名次数
MOV P0 1
;;S92用于累计排名,#ELSESAY的显示调用
MOV
S92
SENDMSG 5 正在计算排名,请稍后。。。
DELAYGOTO 1
@GETIDENTVALUELOOPEX
BREAK
#ELSEACT
MESSAGEBOX
目前没有数据。
BREAK
;按顺序获取排行,分别获取IDENT和VALUE到S1~S20
[@GETIDENTVALUELOOPEX]
#IF
LARGE
D0 1
SMALL P0 10
#ACT
MOV S90 S
INC S90 <$STR(P0)>
MOV S95
M
INC S95 <$STR(P0)>
INC S92 <COLOR=CLYELLOW>
INC S92
INC S92 <$STR(P0)>、
INC S92
<COLOR=$F7FFFF>
INI_SORT_GET_IDENT_STRING INI_排名__鲜花_IVEX
<$STR(P0)> <$STR(S90)>
INI_SORT_GET_VALUE_INTEGER INI_排名__鲜花_IVEX
<$STR(P0)> <$STR(S95)>
MOV S91 <$STR(S
INC S91
<$STR(P0)>
INC S91 )>
MOV S93 <$STR(M
INC S93
<$STR(P0)>
INC S93 )>
INC S92 <$STR(S91)>
INC S92
" "
INC S92 " 鲜花数:"
INC S92 <$STR(S93)>
INC S92 "
"
INC S92 \
;;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0
1
INC P0 1
DELAYGOTO 1
@GETIDENTVALUELOOPEX
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@EXIT>
#ACT
BREAK
#IF
LARGE D0 1
LARGE P0 9
SMALL
P0 23
#ACT
MOV S90 S
INC S90 <$STR(P0)>
MOV S95 M
INC S95
<$STR(P0)>
INC S92 <COLOR=CLYELLOW>
INC S92
<$STR(P0)>、
INC S92 <COLOR=$F7FFFF>< /FONT>
INI_SORT_GET_IDENT_STRING INI_排名__鲜花_IVEX
<$STR(P0)> <$STR(S90)>
INI_SORT_GET_VALUE_INTEGER INI_排名__鲜花_IVEX
<$STR(P0)> <$STR(S95)>
MOV S91 <$STR(S
INC S91
<$STR(P0)>
INC S91 )>
MOV S93 <$STR(M
INC S93
<$STR(P0)>
INC S93 )>
INC S92 <$STR(S91)>
INC S92
" "
INC S92 " 鲜花数:"
INC S92 <$STR(S93)>
INC S92 "
"
INC S92 \
;;SENDMSG 5 排名<$STR(P0)>:<$STR(S91)>
DEC D0
1
INC P0 1
DELAYGOTO 1
@GETIDENTVALUELOOPEX
#SAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@EXIT>
#ELSESAY
<$STR(S0)>的当前排名是:\
<$STR(S92)>\
<关闭/@EXIT>
#ELSEACT
SENDMSG 5 鲜花排名完毕。
BREAK