Paste #22664: Untitled Paste

Date: 2015/11/17 06:24:03 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


world_bookhandler:
  type: world
  events:
    on player right clicks with i_questbook:
    - flag player "bookl1:Ln1<n>Ln2<n>Ln3"
    - flag player "bookl2:CX9<&co><util.random.int[1].to[10]>"
    - define i_q <player.item_in_hand.qty>
    - define book_i <pl.item_in_hand>
    - take iteminhand qty:<player.item_in_hand.qty>
    - wait 2t
    - give %book_i% qty:<def[i_q]>
    - adjust <player> open_book
    - narrate true
    - determine cancelled
    #Filter Handler
    #>tag <parse:<li@<&pipe>value1<&pipe>|<&pipe>value2<&pipe>.replace[li@].with[].replace[|].with[]>>
    on bookh command:
    - flag player q_finish:!
    - flag player q_open:!
    - foreach null {
      - narrate "<def[value]>"
      - if <def[value].split[_].get[2]> == 2 {
        - flag player q_finish:->:<def[value]>
        - narrate 2
        }
        else if <def[value].split[_].get[2]> == 1 {
        - flag player q_open:->:<def[value]>
        - narrate 1
        }
        else {
        - narrate "Report this Error: <def[value]>"
        }
      }
    - narrate "Open <player.flag[q_open].as_list> Finished <player.flag[q_finish].as_list>"
    - flag player q_open_display:!
    - flag player q_finish_display:!
    - foreach <player.flag[q_open].as_list> {
      - define metadata1 <def[value].split[_].get[1]>
#      - narrate "Debug2: <def[metadata1]>, <player.flag[q_open].as_list> , <player.flag[q_finish].as_list>"
      - if <player.flag[q_finish].as_list.contains[<def[metadata1]>_2]> {
        - narrate "<def[value]> is finished."
        - flag player q_finish_display:->:<def[value].split[_].get[1]>
        }
        else {
        - narrate "<def[value]> is open."
        - flag player q_open_display:->:<def[value].split[_].get[1]>
        }
      }
    - narrate "<&b>Open<&co> <player.flag[q_open_display].as_list> Closed<&co> <player.flag[q_finish_display].as_list>"
    # Display Handler
    - define length_c 0
    - define loop_c 2
    - flag player q_display_list:!
    - flag player "q_display_list:->:i@I_QUESTBOOK[book=author<&pipe.escaped>BloodEko<&pipe.escaped>title<&pipe.escaped>Any Bookname<&pipe.escaped>pages<&pipe.escaped>"
    - narrate "Debug For1: <pl.flag[q_open_display].as_list>"
    - foreach <player.flag[q_open_display].as_list> {
      - inject locally <def[value]>_1
      - if <def[loop_c]> == 2 {
        - define loop_c 0
        - flag player "q_display_list:->:<&pipe.escaped>"
        }
      - flag player "q_display_list:->:<def[argument_c]>"
      }
    - narrate "Debug For2: <pl.flag[q_finish_display].as_list>"
    - foreach <player.flag[q_finish_display].as_list> {
      - inject locally <def[value]>_2
      - if <def[loop_c]> == 2 {
        - define loop_c 0
        - flag player "q_display_list:->:<&pipe.escaped>"
        }
      - flag player "q_display_list:->:<def[argument_c]>"
      }
    - wait 3s
    - flag player "q_display_list:->:]"
    - give <player.flag[q_display_list].as_list.replace[li@].with[].replace[|].with[].replace[&pipe].with[|]>
    - narrate <player.flag[q_display_list].as_list.replace[li@].with[].replace[|].with[].replace[&pipe].with[|]>
    #- adjust <player> open_book
  quest1_1:
  - define length_c <def[length_c].add_int[<el@Green1.length>]>
  - define loop_c <def[loop_c].add_int[1]>
  - narrate "1"
  - define argument_c Green1&nl
  quest1_2:
  - narrate "2"
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Blue1&nl
  quest2_1:
  - narrate "3"
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Green2&nl
  quest2_2:
  - narrate "4"
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Blue2&nl
  quest3_1:
  - narrate "5"
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Green3&nl
  quest3_2:
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Blue3&nl
  - narrate "6"
  quest4_1:
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Green4&nl
  quest4_2:
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Blue4&nl
  quest5_1:
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Green5&nl
  quest5_2:
  - define loop_c <def[loop_c].add_int[1]>
  - define argument_c Blue5&nl

i_questbook:
  type: item
  material: m@written_book
  display name: Quest Book
  lore:
  - made by BloodEko
  book: b_questbook
  #14 Zeilen

b_questbook:
  type: book
  title: Ekosbook
  author: DarkEko
  signed: true
  text:
  - Green2<n>Blue1