Paste #50689: Class

Date: 2018/11/15 03:30:11 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


class_command:
  type: command
  name: class
  permission: class.*
  description: class
  usage: /class
  script:
  - define opt <context.args.get[1]>
  - if li@info|level|skills !contains <def[opt]> {
    - define opt help
    }
  - inject locally path:<def[opt]>
###MAIN PAGE
  help:
    - narrate "<&8>----------[<&c>Class<&8>]----------"
    - ^narrate "<&e>'/Class' - <&7>Displays This Page"
    - ^narrate "<&e>'/Class Info' - <&7>Displays Your Class Info"
    - ^narrate "<&e>'/Class Skills' - <&7>Choose Your Skill"
    - ^narrate "<&8>--------------------------"
###DISPLAYS INFO
  info:
    - flag player class:+:0
### MUST FLAG OR IT WILL NOT DISPLAY A NUMBER
    - if <player.flag[class].round> < 21 {
### BELOW 21 = SLAVE
     - inject locally path:slave
    }
    - if <player.flag[class].round> >= 21 {
### ABOVE 21 BELOW 41 = BEGINNER
     - if <player.flag[class].round> <= 41 {
      - inject locally path:beginner
     }
    }
  slave:
    - narrate "<&8>----------[<&c>Slave<&8>]----------"
    - ^narrate "<&e>You Are In Class: <&c>Slave"
    - ^narrate "<&e>Current Level: <&c><player.flag[class].round>"
    - ^narrate "<&e>You Have Chosen Skill:<&c> <global.flag[skill.<player.name>]>"
    - ^narrate "<&8>--------------------------"
  beginner:
    - narrate "<&8>----------[<&c>Beginner<&8>]----------"
    - ^narrate "<&e>You Are In Class: <&c>Beginner"
    - ^narrate "<&e>Current Level: <&c><player.flag[class].round>"
    - ^narrate "<&e>You Have Chosen Skill:<&c> <global.flag[skill.<player.name>]>"
    - ^narrate "<&8>----------------------------"
  level:
  - narrate <player.flag[class].round>
  - flag class:+:4
  skills:
  - if <player.has_flag[chosenskill]> {
   - narrate "<&8>[<&c>Sedex<&f>PvP<&8>] You Have Already Chosen Your Skill!"
   - queue clear
  }
  - narrate "Choose Your Skill"
  - inventory open d:in@skills_inventory

swordm:
  type: item
  material: diamond_sword
  display name: <&8>[<&c>Swordsman<&8>]
  lore:
  - "<&8>- <&7>Click To Become A Swordsman."

bowm:
  type: item
  material: bow
  display name: <&8>[<&c>Archery<&8>]
  lore:
  - "<&8>- <&7>Click To Become An Archer."

axem:
  type: item
  material: diamond_axe
  display name: <&8>[<&c>Axeman<&8>]
  lore:
  - "<&8>- <&7>Click To Become An Axeman."

skills_inventory:
  type: inventory
  size: 9
  title: <&4><&l>SedexPvP Skills
  slots:
  - "[swordm] [] [] [] [bowm] [] [] [] [axem]"

skills_inventory_handler:
  type: world
  events:
    on player clicks in skills_inventory:
    - determine cancelled
    on player drags in skills_inventory:
    - determine cancelled
    on player clicks swordm in skills_inventory:
    - flag global skill.<player.name>:Swordsman
    - narrate "You have chosen the skill swordsman"
    on player clicks bowm in skills_inventory:
    - flag global skill.<player.name>:Archer
    on player clicks axem in skills_inventory:
    - flag global skill.<player.name>:Axeman
####################################FROM HERE ON OUT ITS ALL ABOUT NPCS########

"class":
    type: assignment

    actions:
      on assignment:
      - trigger name:click toggle:true state:true
      - trigger name:proximity toggle:true radius:7
    interact scripts:
    - 1 Bar_interact

Bar_interact:
    type: interact
    steps:
        1:
             click trigger:
                 script:
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&7>Help me! Please..."
                 - wait 1s
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&7>An evil monster stole all my power and sealed me away!"
                 - wait 1s
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&7>His minions contain a small portion of my power."
                 - wait 1s
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&7>Defeat his minions then finally defeat this monster and free me!"
                 - wait 1s
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&7>If you can do this, I will reward you!"
                 - wait 1s
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&b>I bestow upon you... the power of <&c><&k>Aincrad<&b>!"
                 - wait 1s
                 - execute as_server "pex user <player.name> add class.*"
                 - execute as_player "class skills"
                 - wait 1s
                 - ^narrate "<&8>[NPC] <&f><npc.name>: <&7>Learn about your power with <&e>/class"
             proximity trigger:
                 entry:
                     script:
                         - if <player.has_flag[chosenskill]> {
                          - ^random {
                           - narrate "<&8>[NPC] <&f><npc.name>:<&7> You can do this!"
                           - narrate "<&8>[NPC] <&f><npc.name>:<&7> Don't falter now!"
                           - narrate "<&8>[NPC] <&f><npc.name>:<&7> Try <&e>/class"
                           - narrate "<&8>[NPC] <&f><npc.name>:<&7> Want to try a drinking game?"
                          }
                         }