Paste #5096: Token Management

Date: 2014/06/05 12:37:44 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


#
# Token Management Script
# Written by: Mikayle1
#

TokenMgmtWorldScript:
  type: world
  debug: true
  events:
    on token command:
      - determine passively fulfilled
      - if <context.args.is_empty> {
        - if <player.has_flag[token]> {
          - narrate "Your token count is <player.flag[token]>" targets:<player>
          }
          else {
            - narrate "Your token count is 0" targets:<player>
          }
        - queue clear
        }
        else if <player.is_op> && <context.args.size.is[==].to[3]> {
          - define cmd <context.args.get[1]>
          - define target <context.args.get[2]>
          - define ptarget <p@%target%>
          - define amount <context.args.get[3]>
          - if !<%amount%> == <def[amount].escaped> {
            - narrate "<&6>That value doesn't look like a proper number."
            - queue clear
            }
          - if !<%amount%> matches integer {
            - narrate "<&6>That value doesn't look like a proper number."
            - queue clear
            }
          - if <def[cmd].is[==].to[add]> {
            - if <def[ptarget].has_flag[token]> {
              - define newtokens <def[ptarget].flag[token].add[%amount%].as_int>
              }
              else {
                - define newtokens %amount%
              }
            - flag <p@%target%> token:%newtokens%
            - narrate "Player %target% token count set to %newtokens%"
            - queue clear
            }
            else if <def[cmd].is[==].to[delete]> {
              - if <def[ptarget].has_flag[token]> && <def[ptarget].flag[token].as_int> > %amount% {
                - define newtokens <def[ptarget].flag[token].sub[%amount%].as_int>
                }
                else {
                  - define newtokens '!'
                }
              - flag <p@%target%> token:%newtokens%
              - if <def[ptarget].has_flag[token]> narrate "Player %target% token count set to %newtokens%"
                else narrate "Player %target% token count set to 0"
              - queue clear
            }
          }
          else if <player.is_op> && <context.args.size.is[==].to[2]> {
            - define cmd <context.args.get[1]>
            - define target <context.args.get[2]>
            - define ptarget <p@%target%>
            - if <def[cmd].is[==].to[info]> {
              - if <def[ptarget].has_flag[token]> {
                - narrate "Player %target% token count <def[ptarget].flag[token]>"
                }
                else {
                  - narrate "Player %target% token count 0"
                }
              - flag <p@%target%> token:%newtokens%
              - queue clear
            }
          }
        else {
          - narrate "<&6>/token"
          - if <player.is_op> {
            - narrate "<&6>/token add <&lt>target<&gt> <&lt>amount<&gt> "
            - narrate "<&6>/token remove <&lt>target<&gt> <&lt>amount<&gt> "
            - narrate "<&6>/dSentry info <&lt>target<&gt>"
            }
        }