Paste #28611: Edit of P#28608 - Edit of P#28606 - Edit of P#28604 - Edit of P#28602 - Edit of P#28600 - Edit of P#

Date: 2016/01/16 15:19:04 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Leaderboard:
  type: world
  events: 
    on player killed by player:
    #Check if flag exists, if not, make the base list
    - flag <context.damager.as_player> kill_player_count:++
    - flag <context.entity.as_player> death_player_count:++

    #Check top 5 values to see if player exceeded them
    - define x 1
    - define KD <context.damager.as_player.flag[kill_player_count].div[<context.damager.as_player.flag[death_player_count]>]||0>
    - while <def[x].is[OR_LESS].than[5]>{
      - define TopPlayer <server.flag[Leaderboard_<def[x]>]||"NA"server.flag[Leaderboard_<def[x]>]||"NA">
      - define TopKD <<def[TopPlayer]>.flag[kill_player_count].div[<<def[TopPlayer]>.flag[death_player_count]>]||0>>

      - if <def[KD].is[OR_GREATER].than[<def[TopKD]>]> {
        - define y 5
        #For every value under the player, copy the flag to the next position
        - while <def[y].is[GREATER].than[<def[x]>] {
          #Copy the flag
          - flag server Leaderboard_<def[y]>:<server.flag[Leaderboard_<def[y].sub_int[1]>]>
        }
        #Break the loop
        - define x 6
        #Add the new player to the list
        - flag server Leaderboard_<def[x]>:<context.damager.as_player>
      - define x <def[x].add[1]>
     }

    - determine fulfilled



    on leaderboard command:
    - narrate "1. <server.flag[Leaderboard_1]||'NA'> 2. <server.flag[Leaderboard_2]||'NA'> 3. <server.flag[Leaderboard_3]||'NA'> 4.<server.flag[Leaderboard_4]||'NA'> 5. <server.flag[Leaderboard_5]||'NA'>"
    on stats command:
    - narrate "<player.flag[kill_player_count].div[<player.flag[death_player_count]>]||0>"