``` 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]])); end; ```