Paste #39682: Code Command System

Date: 2017/02/06 17:10:11 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Setcodecommand:
  type: command
  name: setcode
  usage: /setcode <code> <xp|medallions|playpoints|tournamentpoints> <amount> <time limit (in days)>
  description: Manually sets a server-wide code for rewards.
  script:
  - if !<player.is_op||<context.server>> { 
    - narrate "<&c>You do not have permission for that command." 
    - queue clear 
    }
  - if <context.args.size.is[OR_LESS].than[3]> || <li@xp|medallions|playpoints|tournamentpoints.contains[<context.args.get[2]>]> || !<context.args.get[3].is[matches].to[number]> || !<context.args.get[4].is[matches].to[number]>{
    - narrate "<&c>Usage: /setcode <&lt>code<&gt> <&lt>xp|medallions|playpoints|tournamentpoints<&gt> <&lt>amount<&gt> <&lt>time limit (in days)<&gt>"
    - queue clear
    }
    else {
    - flag server servercodes:->:<context.args.get[1]> duration:<context.args.get[4].as_int.in_days>
    - flag server <context.args.get[1]>:|:<context.args.get[3].as_int>|<context.args.get[2]>|claimablecode duration:<context.args.get[4].as_int.in_days>
    - flag <server.list_players> <context.args.get[1]>:|:<context.args.get[3].as_int>|<context.args.get[2]>|claimablecode duration:<context.args.get[4].as_int.in_days>
    }
Claimcodecommand:
  type: command
  name: claimcode
  usage: /claimcode <code>
  description: Claims a code for rewards.
  script:
  - if <context.args.size.is[EQUALS].than[0]> {
    - narrate "<&c>Usage: /claimcode <&lt>code<&gt>"
    - queue clear
    }
  - if <server.list_flags[servercodes].contains_case_sensitive[<context.args.get[1]>]> && <player.has_flag[<context.args.get[1]>]> && <server.has_flag[<context.args.get[1]>]> {
    - if <server.list_flags[<context.args.get[1]>].get[2].contains_text[xp]> && <server.list_flags[<context.args.get[1]>].contains_text[claimablecode]> {
      - flag <player> xp:+:<server.flag[<context.args.get[1]>].get[1].as_int>
      - flag <player> <context.args.get[1]>:!
      }
      else if <server.list_flags[<context.args.get[1]>].get[2].contains_text[medallions]> && <server.list_flags[<context.args.get[1]>].contains_text[claimablecode]>  {
      - flag <player> medallions:+:<server.flag[<context.args.get[1]>].get[1].as_int>
      - flag <player> <context.args.get[1]>:!
      }
      else if <server.list_flags[<context.args.get[1]>].get[2].contains_text[playpoints]> && <server.list_flags[<context.args.get[1]>].contains_text[claimablecode]>  {
      - flag <player> playpoints:+:<server.flag[<context.args.get[1]>].get[1].as_int>
      - flag <player> <context.args.get[1]>:!
      }
      else if <server.list_flags[<context.args.get[1]>].get[2].contains_text[tournamentpoints]> && <server.list_flags[<context.args.get[1]>].contains_text[claimablecode]> {
      - flag <player> tournamentpoints:+:<server.flag[<context.args.get[1]>].get[1].as_int>
      - flag <player> <context.args.get[1]>:!
      }
    }
    else {
    - narrate "<&c>That is not a valid code!"
    - queue clear
    }