Paste #34905: If and else running

Date: 2016/07/17 12:28:04 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


sp_development:
  type: world
  events:
    on player closes inventory:
    - choose "<context.inventory>":
      - case "in@sell_inv":
        #Player get sp_sell:true if he clicks on the sell item
        #
        - if <player.has_flag[sp_sell]> {
          - narrate IF_RUNNING
          - define price_list "0"
          - define false_item "li@"
          - define items_takeover "li@"
          - define shopname "<player.flag[shopname]>"
          - foreach <context.inventory.list_contents.exclude[i@air].remove[1|2|3|4|5|6|7|8|9]> {
            - adjust <def[value]> "quantity:1" save:item
            - define number <yaml[sp].read[shops.<def[shopname]>.list_table.items_uec].find[<entry[item].result>]>
            - if <def[number]> > 0 {
              - narrate "preis: <def[value].qty>x <yaml[sp].read[shops.<def[shopname]>.list_table.price_identifier].get[<def[number]>]>"
              - define price_list "<def[price_list].add[<yaml[sp].read[shops.<def[shopname]>.list_table.price_identifier].get[<def[number]>].mul[<def[value].qty>]>]>"
              - define items_takeover "<def[items_takeover].include[<def[value].escaped>]>"
              }
              else {
              - narrate "Item nicht im Shop"
              - if <proc[invspace]> > 0 {
                - narrate 1
                - give <def[value]> to:<player.inventory>
                }
                else {
                - drop <def[value]> <player.location>
                }
              }
            }
          - narrate "Gesamtwert: <def[price_list]>"
          - flag player sp_sell:!
          - flag player "sp_takeover:!"
          - flag player "sp_takeover:|:<def[items_takeover].unescape_contents>|<def[price_list]||0>"
          - narrate "<player.flag[sp_takeover].get[1].to[<player.flag[sp_takeover].size.sub[1]>]>"
          - inventory open d:in@sell_inv_money
          }
          #Else runs, if he just closes the inventory by item or E
          #
          else {
         - narrate ELSE_RUNNING
          - if <proc[invspace]> > <context.inventory.list_contents.exclude[i@air].remove[1|2|3|4|5|6|7|8|9].size> {
            - foreach <context.inventory.list_contents.exclude[i@air].remove[1|2|3|4|5|6|7|8|9]> {
              - give <def[value]> to:<player.inventory>
              }
            }
            else {
            - drop <context.inventory.list_contents.exclude[i@air].remove[1|2|3|4|5|6|7|8|9]> <player.location>
            }
          }