Paste #30905: Untitled Paste

Date: 2016/02/27 14:56:17 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


CoinFlip: 
  type: command 
  name: Coinflip 
  usage: /coinflip ([player] [amount])|(accept) 
  description: Flip a coin and bet your money on the outcome! 
  tab complete: 
  - determine <server.list_players.parse[name].filter[starts_with[<context.args.last||>]]> 
  script: 
  - if <context.args.size> < 1 { 
    - narrate "You have provided no arguements to the command" targets:<player> 
    - queue clear 
  } 
  - define CoinFlipPlayer <player.name> 
  - if <context.args.get[1]> == accept { 
    - if <player.has_flag[CoinFlip]> { 
      - flag <player.flag[CoinFlip]> CoinFlip:<player> duration:15s 
      - take money qty:<player.flag[CoinFlipMoney]> 
      - if <util.random.int[1].to[100]> <= 50 { 
        - define winner <player> 
        - define loser <player.flag[CoinFlip]> 
      } else { 
        - define winner <player.flag[CoinFlip]> 
        - define loser <player> 
      } 
      - narrate "<&6>[LWCoinFlip] Coin flip accepted! Flipping the coin in..." targets:<def[winner]>|<def[loser]> 
      - wait 1s 
      - narrate "<&7>[LWCoinFlip] 3..." targets:<def[winner]>|<def[loser]> 
      - wait 1s 
      - narrate "<&7>[LWCoinFlip] 2..." targets:<def[winner]>|<def[loser]> 
      - wait 1s 
      - narrate "<&7>[LWCoinFlip] 1..." targets:<def[winner]>|<def[loser]> 
      - wait 1s 
      - define winnings <player.flag[CoinFlipMoney].mul[2].as_money>
      - define MoneyAmount <player.flag[CoinFlipMoney].mul[2]> 
      - give money qty:<def[MoneyAmount]> player:<def[Winner]>
      - narrate "<&a>[LWCoinFlip] You won a coin flip against <def[loser].name> and won $%winnings%" targets:<def[winner]> 
      - narrate "<&c>[LWCoinFlip] You lost a coin flip against <def[winner].name> and lost $%winnings%" targets:<def[loser]> 
      - flag <def[winner]> CoinFlip:!
      - flag <def[loser]> CoinFlip:!
      - queue clear 
    } 
    - narrate "<&7>You have no pending coin flip requests!" 
    - queue clear 
  } 
  - define opponent <server.match_player[<context.args.get[1]>]||none> 
  - if <def[opponent]> == none {  
    - narrate "<&c>No player online found with that name!"    
    - queue clear    
  }    
  - if <player.has_flag[CoinFlip]> { 
    - narrate "<&7>[LWCoinFlip] Please wait 15 seconds before coin flipping again!" 
    - queue clear 
  } 
  - define CoinFlipMoney <context.args.get[2]||none> 
  - if !<def[CoinFlipMoney]> matches double { 
    - narrate "That's not a real number u doofus" 
    - queue clear 
  } 
  - if <player.money> < <def[CoinFlipMoney]> || <def[opponent].money> < <def[CoinFlipMoney]> { 
    - narrate "<&c>You or the targetted player do not have enough money to coin flip!" 
    - queue clear  
  } 
  - take money qty:<def[CoinFlipMoney]> 
  - narrate "<&6>[LWCoinFlip] Sent Coinflip request to <&f><def[opponent].name> <&6>for $<def[CoinFlipMoney]>!" 
  - narrate "<&a>[LWCoinFlip] They have 15 seconds to accept the coin flip by doing /coinflip accept" 
  - narrate "<&6>[LWCoinFlip] Player <player.name> wants to flip-a-coin with you for $<def[CoinFlipMoney]>" targets:<def[opponent]> 
  - narrate "<&7>[LWCoinFlip] Type /coinflip accept to accept the coinflip!" targets:<def[opponent]> 
  - flag <def[opponent]> CoinFlip:<player> duration:15s 
  - flag <def[opponent]> CoinFlipMoney:<def[CoinFlipMoney]> duration:15s 
  - flag <player> CoinFlip:<def[opponent]> duration:15s 
  - wait 15s 
  - if <player.has_flag[CoinFlip].not> { 
    - narrate "<&7>[LWCoinFlip] Coin Flip request got automatically declined." 
  }