如何获取排行榜信息
procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
I: Integer;
begin
//Gamelib.Toptenz: 排行榜系统
//Gamelib.Toptenz.Levels 等级排行榜
//Gamelib.Toptenz.Richest 财富排行榜
//Gamelib.Toptenz.Warrior 战士排行榜
//循环读取战士排行榜
for I := 0 to Gamelib.Toptenz.Warrior.Count - 1 do
begin
//Gamelib.Toptenz.Warrior.MinValue[I] 最低物理攻击,不同职业表示不同属性
//Gamelib.Toptenz.Warrior.MaxValue[I] 最高物理攻击,不同职业表示不同属性
Player.SendMessage(Format('排名:%d 角色:%s 物理攻击:%d-%d', [I + 1, Gamelib.Toptenz.Warrior.Names[I], Gamelib.Toptenz.Warrior.MinValue[I], Gamelib.Toptenz.Warrior.MaxValue[I]]));
end;
//循环财富榜
for I := 0 to Gamelib.Toptenz.Richest.Count - 1 do
begin
//Gamelib.Toptenz.Richest.Values[I] 金币数
Player.SendMessage(Format('排名:%d 角色:%s 金币:%d-%d', [I + 1, Gamelib.Toptenz.Richest.Names[I], Gamelib.Toptenz.Richest.Values[I]]));
end;
//每个排行榜都具有IndexOf函数,用来取指定名称的排名信息,没上榜返回-1,第一名返回0,第二名返回1,以此类推
Player.Messagebox(Format('等级榜%d人,我的排行%d,排行第一:%s %d', [Gamelib.Toptenz.Levels.Count, Gamelib.Toptenz.Levels.IndexOf(Player.Name), Gamelib.Toptenz.Levels.Names[0], Gamelib.Toptenz.Levels.Level[0]]));
|