Paste #42212: Untitled Paste

Date: 2017/05/25 21:42:47 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


banker:
    type: assignment
    debug: false
    actions:
        on click:
        - inventory open d:in@banker_gui
    interact scripts:
    - 1 banker_interact
banker_interact:
    type: interact
    debug: false
    steps:
        1:
            chat trigger:
                1:
                  trigger: /REGEX:.+/
                  script:
                  - narrate "Banker: Hello!"
                2:
                  trigger: Purge /flags/.
                  script:
                  - flag server account_names:!
                  - flag player accounts_owned:!
                  - narrate "Accounts saved<&co> <server.flag[account_names]||none yet!>"
                  - narrate "You have <player.flag[accounts_owned]> flags."
                  - narrate "Flags purged."
        2:
            chat trigger:
                1:
                  trigger: /regex:(?i)(yes|okay|yeah|ok|sure|y)/
                  script:
                  - narrate "Banker: What would you like to name your account?"
                  - zap 3
                2:
                  trigger: /regex:(?i)(no|nah|n)/
                  script:
                  - narrate "Banker: Okay, come back if you change your mind!"
                  - zap 1
        3:
            chat trigger:
                1:
                  trigger: /REGEX:.+/
                  script:
                  - chat "Alright..."
                  - chat "Trying to add your bank account, <context.message>..."
                  - if <server.flag[account_names].find[<context.message>]||-1> == -1 {
                    - flag <player> accounts_owned:++
                    - flag server account_names:->:<context.message>
                    - flag <player> playeraccount_names:->:<context.message>
                    - execute as_server "manuaddp <player.name> hyperconomy.bank"
                    - execute as_server "eco take <player.name> 25000"
                    - execute as_player "bank create <context.message>"
                    - execute as_server "manudelp <player.name> hyperconomy.bank"
                    - inventory open d:in@banker_gui
                    - zap 1
                    } else {
                    - narrate "Banker<&co> That name already exists in our database. Please give another name, or say cancel."
                    }
                2:
                  trigger: /cancel/
                  script:
                  - inventory open d:in@banker_gui
                  - zap 1
                3:
                  trigger: / /
                  script:
                  - narrate "Banker: You cannot have spaces in your name, please try again!"
banker_gui:
    type: inventory
    debug: false
    title: Choose your account.
    size: 9
    slots:
    - "[i@banker_create_account] [] [] [i@banker_bank1] [i@banker_bank2] [i@banker_bank3] [] [] [i@banker_leave]"
banker_gui_edit:
    type: inventory
    debug: false
    title: Bank Account<&co> <player.flag[selectedBank]>
    size: 9
    slots:
    - "[i@banker_deposit] [i@banker_withdrawal] [i@banker_addmember] [i@banker_removemember] [i@banker_rename] [i@banker_info] [] [] [i@banker_leave]"
banker_gui_handler:
    type: world
    debug: false
    events:
        on player clicks in banker_gui:
        - determine cancelled
        on player drags in banker_gui:
        - determine cancelled
        on player clicks in banker_gui_edit:
        - determine cancelled
        on player drags in banker_gui_edit:
        - determine cancelled
        on player clicks banker_create_account in banker_gui:
        - inventory close d:in@banker_gui
        - if <player.money> >= 25000 {
          - if <player.flag[accounts_owned]> == 3 {
            - narrate "Banker<&co> Sorry, but you can only open a max of 3 accounts."
            } else {
            - narrate "Banker<&co> You will be charged $25000. No refunds."
            - narrate "Banker<&co> Would you like to continue?"
            - zap 2 banker_interact
            }
            } else {
            - narrate "Banker<&co> You do not have enough money."
            }
        on player clicks banker_leave in banker_gui:
        - inventory close d:in@banker_gui
        on player clicks banker_leave in banker_gui_edit:
        - inventory close d:in@banker_gui_edit
        on player clicks banker_bank1 in banker_gui:
        - if <player.flag[accounts_owned]||0> >= 1 {
          - flag player selectedBank:<player.flag[playeraccount_names].get[1]>
          - inventory close d:in@banker_gui
          - inventory open d:in@banker_gui_edit
          }
        on player clicks banker_bank2 in banker_gui:
        - if <player.flag[accounts_owned]||0> >= 2 {
          - flag player selectedBank:<player.flag[playeraccount_names].get[2]>
          - inventory close d:in@banker_gui
          - inventory open d:in@banker_gui_edit
          }
        on player clicks banker_bank3 in banker_gui:
        - if <player.flag[accounts_owned]||0> >= 3 {
          - flag player selectedBank:<player.flag[playeraccount_names].get[3]>
          - inventory close d:in@banker_gui
          - inventory open d:in@banker_gui_edit
          }
banker_create_account:
    type: item
    debug: false
    material: gold_block
    display name: Create a New Account
    lore: 
    - COST: $25000
banker_deposit:
    type: item
    debug: false
    material: gold_block
    display name: Make a Deposit
banker_withdrawal:
    type: item
    debug: false
    material: gold_block
    display name: Make a Withdrawal
banker_addmember:
    type: item
    debug: false
    material: gold_block
    display name: Add a Member
banker_removemember:
    type: item
    debug: false
    material: gold_block
    display name: Remove a Member
banker_rename:
    type: item
    debug: false
    material: gold_block
    display name: Rename an Account
banker_info:
    type: item
    debug: false
    material: gold_block
    display name: Bank Information
banker_leave:
    type: item
    debug: false
    material: barrier
    display name: Leave
banker_bank1:
    type: item
    debug: false
    material: gold_block
    display name: <player.flag[playeraccount_names].get[1]||Slot 1>
banker_bank2:
    type: item
    debug: false
    material: gold_block
    display name: <player.flag[playeraccount_names].get[2]||Slot 2>
banker_bank3:
    type: item
    debug: false
    material: gold_block
    display name: <player.flag[playeraccount_names].get[3]||Slot 3>