Paste #52013: Untitled Paste

Date: 2019/01/31 10:59:19 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Normal Experience Drop Cancelation:
  type: world
  debug: false
  events:
    on entity death:
      - determine NO_XP

Skills Check:
  type: command
  debug: false
  name: skills
  usage: /skills
  description: Gain access to your skills through this chat-menu.
  aliases: 
  - skill
  - sk
  script:
    - if <player.flag[race]> == human:
      - if <player.flag[level]> < 3:
        - narrate "<&6><&l>[<&e>TDPO Levels<&6><&l>] <&7>You currently have <&c>no skills<&7> unlocked! You must reach level 3 to unlock your first skill."
      - if <player.flag[level]> >= 3:
        - narrate "<&7><&m>-----------------------------------------------"
        - narrate "<&7> Hover over the skill name to read more about it!"
        - narrate "<&7><&gt> <&b>Level 3 Skill: <proc[msgHover].context[<&3>Mana Blast!|<&3>Mana Blast: <&f>Send a bolt of mana outwards at your enemies, dealing damage and slowing them for a few moments!]><&7> <&lt>     <&b>/c bind <&dq>Mana Bolt<&dq>"
      - if <player.flag[level]> >= 12:
        - narrate "<&7><&gt> <&b>Level 12 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[level]> >= 25:
        - narrate "<&7><&gt> <&b>Level 25 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[level]> >= 40:
        - narrate "<&7><&gt> <&b>Level 40 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[level]> >= 65:
        - narrate "<&7><&gt> <&b>Level 65 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - if <player.flag[level]> >= 90:
        - narrate "<&7><&gt> <&b>Level 90 Skill: <proc[msgHover].context[<&c>N/A|<&c>This ability is unavailable.]> <&7><&lt>"
      - narrate "<&7><&m>-----------------------------------------------"
Level Check:
  type: command
  debug: false
  name: level
  aliases:
  - lvl
  script:
    - narrate "<&b>Level: <&a><pl.flag[level]>"
    - narrate "<&a>Experience: <&b><pl.flag[experience].round_up>/<pl.flag[experience_needed].round_up>"

Set Experience:
  type: world
  debug: false
  events:
    on player joins:
      - if "<pl.has_flag[level]>":
        - queue clear
      - flag "<pl>" "level:1"
      - flag "<pl>" "experience:0"
      - flag "<pl>" "experience_needed:100"

Gain:
  type: task
  debug: false
  definitions: gain_value
  script:
    - flag player experience:+:<def[gain_value]>
    - while "<pl.flag[experience]>" >= "<pl.flag[experience_needed]>":
      - flag "<pl>" "experience:<pl.flag[experience].sub[<pl.flag[experience_needed]>]>"
      - flag "<pl>" "level:++"
      - if <list[3|12|25|40|65|90]> contains <player.flag[level]>:
        - execute as_server "c forcecast <player.name> Level-Unlock_MSG" 
        - if <player.has_flag[human]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[moonshadow]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[sunfire]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[starshine]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[skywing]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[oceanwave]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[earthland]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[dragonoid]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[vampire]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
        - if <player.has_flag[lycan]>:
          - execute as_server "c forcecast <player.name> Level-Unlock_MSG"
          - queue clear
      - flag player experience_needed:<player.flag[experience_needed].mul[1.25].round_up>
      - playsound "<pl>" "sound:ENTITY_PLAYER_LEVELUP"
    - actionbar "<&a>Experience: <&b><pl.flag[experience].round_up><&a>/<&b><pl.flag[experience_needed].round_up> <&b>| <&a>LVL: <&b><pl.flag[level]>"

Lose25:
  type: task
  debug: false
  script:
    - flag player experience:-:25
    - actionbar "<&a>Experience: <&b><pl.flag[experience].round_up><&a>/<&b> <pl.flag[experience_needed].round_up> <&b>| <&a>LVL: <&b><pl.flag[level]>"  

Gain XP:
  type: world
  debug: false
  events:
      on player kills entity:
      - choose <context.entity.entity_type>:
        - case SHEEP PIG COW CHICKEN:
          - run Gain def:3 instantly
        - case HORSE COW OCELOT LLAMA:
          - run Gain def:5 instantly
        - case BLAZE ZOMBIE SKELETON SPIDER CREEPER WITCH:
          - run Gain def:10 instantly
      on player dies:
      - inject Lose25