Paste #22578: Diff note for paste #22577

Date: 2015/11/15 21:14:10 UTC-08:00
Type: Diff Report

View Raw Paste Download This Paste
Copy Link


 ###################
 #****ItemShop*****#
 #*****************#
 #****by SeqSEE****#
 #*****************#
-#******v0.1*******#
+#******v0.2*******#
 ###################
 # TODO:===========#
 #=add shops types=#
 ###################
 ItemShop_Config:
   type: yaml data
   Shops:
     Types:
       Health:
         1:
           name: 'Potion of Healing'
           item: 'potion,8197'
           cost: 50
+          qty:  1
         2:
           name: 'Potion of Healing II'
           item: 'potion,8229'
           cost: 75
+          qty:  1
         3:
           name: 'Splash Potion of Healing'
           item: 'potion,16389'
           cost: 75
+          qty:  1
         4:
           name: 'Splash Potion of Healing II'
           item: 'potion,16421'
           cost: 125
+          qty:  1
         5:
           name: 'Potion of Regeneration'
           item: 'potion,8193'
           cost: 150
+          qty:  1
         6:
           name: 'Potion of Regeneration (extended)'
           item: 'potion,8257'
           cost: 200
+          qty:  1
         7:
           name: 'Potion of Regeneration II'
           item: 'potion,8225'
           cost: 225
+          qty:  1
         8:
           name: 'Splash Potion of Regeneration'
           item: 'potion,16385'
           cost: 175
+          qty:  1
         9:
           name: 'Splash Potion of Regeneration (extended)'
           item: 'potion,16449'
           cost: 200
+          qty:  1
         10:
           name: 'Splash Potion of Regeneration II'
           item: 'potion,16417'
           cost: 250
+          qty:  1
       Weapons:
         1:
           name: 'Wooden Dagger'
           item: 'wooden_sword'
           cost: 25
+          qty:  1
         2:
           name: 'Stone Whip'
           item: 'stone_sword'
           cost: 50
+          qty:  1
         3:
           name: 'Crowbar'
           item: 'iron_sword'
           cost: 100
+          qty:  1
         4:
           name: 'Golden Axeblade'
           item: 'golden_sword'
           cost: 150
+          qty:  1
         5:
           name: 'Diamond Light Saber'
           item: 'diamond_sword'
           cost: 350
+          qty:  1
         6:
           name: 'Bow'
           item: 'bow'
+          cost: 100
+          qty:  1
+        7:
+          name: 'Arrows (16)'
+          item: 'arrow'
+          cost: 50
+          qty:  16
+        8:
+          name: 'Arrows (32)'
+          item: 'arrow'
           cost: 100
+          qty:  32
+        9:
+          name: 'Arrows (64)'
+          item: 'arrow'
+          cost: 150
+          qty:  64
 ItemShop:
   type: assignment
   debug: true
   actions:
       on assignment:
       - trigger name:click state:true
       - trigger name:chat state:true
       - flag npc ItemShop.HasShop:!
       - flag npc ItemShop.Type:!
       - zap 1 s@Shop_Keeper
   interact scripts:
   - 1 Shop_Keeper
 Shop_Keeper:
     type: interact
     debug: true
     steps:
         1:
             click trigger:
                 script:
                 - if <npc.has_flag[ItemShop.HasShop]> {
                   - zap 2
                   - queue stop
                 }
                 - narrate "Please choose a shop type."
                 - foreach <s@ItemShop_Config.list_keys[Shops.Types]> {
                   - narrate "<&7>%value%"
                   - wait 1t
                   }
                 - narrate "<&e>(Shop Type/List)"
             chat trigger:
                 1:
                     trigger: /List/
                     script:
                     - narrate "Please choose a shop type."
                     - foreach <s@ItemShop_Config.list_keys[Shops.Types]> {
                       - narrate "<&7>%value%"
                       - wait 1t
                       }
                     - narrate "<&e>(Shop Type/List)"
                 2:
                     trigger: /regex:([a-zA-Z])\w+/
                     script:
                     - if <s@ItemShop_Config.list_keys[Shops.Types].contains[<context.message>].not> {
                       - narrate "<npc.name><&co> <&c><context.message> is not a valid shop type!"
                       - queue stop
                       }
                     - flag npc ItemShop.HasShop:1
                     - flag npc ItemShop.Type:<context.message>
                     - execute as_server "denizen save"
                     - narrate "Set shop as <npc.flag[ItemShop.Type]> shop type."
                     - zap 2
         2:
             click trigger:
                 script:
                 - narrate "<npc.name><&co> Hello! What would you like to buy today?"
                 - narrate "<&e>(Cancel/Item Number/List)"
             chat trigger:
                 1:
                     trigger: /Cancel/
                     script:
                     - narrate "<npc.name><&co> Okay."
                     - wait 1
                     - narrate "<npc.name><&co> I'll be here still if you change your mind!"
                 2: 
                     trigger: /No/
                     script:
                     - narrate "<npc.name><&co> Okay."
                     - wait 1
                     - narrate "<npc.name><&co> I'll be here still if you change your mind!"
                 3:
                     trigger: /List/
                     script:
                     - flag npc ItemShop.CurrentNumber:0
                     - narrate ""
                     - foreach <s@ItemShop_Config.list_keys[Shops.Types.<npc.flag[ItemShop.Type]>]> {
                       - flag npc ItemShop.CurrentNumber:++
                       - narrate "<&8><npc.flag[ItemShop.CurrentNumber].as_int> <&7><s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.<npc.flag[ItemShop.CurrentNumber].as_int>.name]> <&a>$<s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.<npc.flag[ItemShop.CurrentNumber].as_int>.cost]>"
                       - wait 1t
                       }
                     - wait 1t
                     - narrate ""
                     - narrate "<npc.name><&co> See anything you want?"
                     - wait 1t
                     - narrate "<&e>(No/Item Number)"
                 4:
                     trigger: /regex:([0-9])+/
                     script:
                     - if <s@ItemShop_Config.list_keys[Shops.Types.<npc.flag[ItemShop.Type]>].contains[<context.message>].not> {
                       - narrate "<npc.name><&co> <&c><context.message> is not a valid item number!"
                       - queue stop
                       }
                     - if <player.money.is[LESS].than[<s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.<context.message>.cost]>]||true> {
                       - narrate "<npc.name><&co><&c> Sorry, you don't have enough money."
                       - queue stop
                       }
                     - execute as_server "money take <player.name> <s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.1.cost]>"
-                    - give i@<s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.<context.message>.item]> quantity:1
+                    - give i@<s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.<context.message>.item]> quantity:<s@ItemShop_Config.yaml_key[Shops.Types.<npc.flag[ItemShop.Type]>.<context.message>.qty]>
                     - narrate "<npc.name><&co> Thanks for doing business with me!"
-