Paste #22929: Untitled Paste

Date: 2015/11/22 14:50:36 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


anti_combat_logging:
  type: world
  debug: false
  events:
    on player damages player:
    - flag <context.entity> combat_timer_for_logger d:10s
    on player quits:
    - if <player.has_flag[combat_timer_for_logger]> {
      - run initiate_combat_logger instantly
      - determine ""
      }
    on player logs in:
    - if <player.has_flag[combat_logger]> {
      - determine "kicked <&c>Your account is still logged in due to leaving the server during combat.<&nl><&c>Try again in <&e><player.flag[combat_logger].expiration.in_seconds.as_int><&c> seconds." passively
      }
    on player joins:
    - wait 1t
    - if <player.has_flag[combat_logger_kill_player]> {
      - inventory clear d:<player.inventory>
      - equip <player> head:i@air chest:i@air legs:i@air boots:i@air
      - teleport <player> <player.bed_spawn||<pl.world.spawn_location>>
      - flag <player> combat_logger_kill_player:!
      - heal <player>
      - feed <player> amount:20
      }
    on npc death:
    - if <context.entity.as_npc.has_flag[combat_logger]> {
      - define player <context.entity.as_npc.flag[combat_logger].as_player>
      - drop <def[player].inventory.list_contents.include[<def[player].equipment||li@>].exclude[i@air]||li@> <context.entity.location>
      - inventory clear d:<def[player].inventory>
      - remove <context.entity>
      - flag %player% combat_logger:!
      - flag %player% combat_logger_kill_player
      - wait 1s
      - announce "<&e><def[player].name> left the game"
      }
initiate_combat_logger:
  type: task
  debug: false
  script:
  - create <player.name> player <pl.location> save:npc
  - define npc <entry[npc].created_npc>
  - flag %npc% combat_logger:<player>
  - flag <player> combat_logger:%npc% d:1m
  - vulnerable state:true npc:%npc%
  - trait health state:true npc:%npc%
  - wait 60s
  - if <def[npc].is_spawned> {
    - remove %npc%
    }
  - if <player.has_flag[combat_logger]> {
    - flag <player> combat_logger:!
    }
  - if <player.has_flag[combat_logger_kill_player]> {
    - flag <player> combat_logger_kill_player:!
    }