Paste #5711: Edit of P#5709 - Edit of P#5701 - Edit of P#5700 - General Mine Guard Script

Date: 2014/06/24 20:52:49 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


#
#   Proctor for the Archery Test
#
"MineGuard":
  type: assignment
  debug: false
  actions:
    on assignment:
    - trigger name:chat toggle:true
    - trigger name:click toggle:true
    - lookclose state:true
  interact scripts:
  - 10 MineGuardI

MineGuardI:
  type: interact
  debug: true
  steps:
    RankUpdate:
      click trigger:
        script:
        # If the NPC guard has the mission flag and the players flag for that mission is false
        - if <npc.has_flag[mission]> && <s@<npc.name>.step[<player>].lowercase.is[!EQUALS].to[completed]> {
          - run <npc.name>
          } else {
          - ^define mine <npc.name.char_at[1]>
          - ^define pmine <global.flag[Ranks.list].as_list.get[<global.flag[Ranks.list].as_list.find[%mine%].add[1].as_int>]>
          - if <player.in_group[%mine%]> {
            - narrate "You have already ranked up to %mine%, please proceed to the mine or use /warp %mine%."
            } else if !<player.in_group[%pmine%]> {
            - narrate "You haven't achieved Rank %pmine% yet.  Come back later."
            }
            else if <player.money> >= <global.flag[Ranks.%mine%.Amount].as_int> {
            - narrate "Are you ready to move on?"
            - narrate "Taking your fee to rank up."
            - take money qty:<global.flag[Ranks.%mine%.Amount].as_int>
            - narrate "You have now achieved the <gold>Prisoner Rank of %mine%!"
            - announce "<white>Prisoner <gold><player.name><white> has achieved <red> Rank %mine%"
            - wait 1
            - execute as_server "manselect Prison"
            - execute as_server "manuaddsub <player.name> %mine%"
            - narrate "Please enter the mine."
            } else {
            - narrate "You don't have the required fee to rank up."
            - narrate "Come back when you have <proc[formatmoney].context[global.flag[Ranks.%mine%.Amount]]>."
            }
          }