Paste #2972: Untitled Paste

Date: 2014/03/28 12:56:20 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


"knasti max"
  type: assignment
  actions:
    on assignment:
    - trigger name:chat toggle:true
    - trigger name:click toggle:true
    - lookclose state:true
  default constants:
    katakombenmobtype1: spider
    katakombenmobtype2: cavespider
    katakombenmobtype3: blaze
    katakombenmobtype1amount: 10
    katakombenmobtype2amount: 5
    katakombenmobtype3amount: 5
    katakombenqeustredodelay: 1h
    katakombenitem1: spider_eye
    katakombenitem2: blaze_rod
    katakombenitem1amount: 20
    katakombenitem2amount: 10
    katakombenitem1reward: ghast_tear
    katakombenitem2reward: redstone
    katakombenitem3reward: glowstone_dust
    katakombenitem4reward: sulphur
    katakombenitem1rewardamount: 2
    katakombenitem2rewardamount: 3 
    katakombenitem3rewardamount: 4 
    katakombenitem4rewardamount: 2


"katakombenqeust":
  type: interact
  steps:
    "*meet":
      click trigger:
        script:
          - ^if <player.flag[katakombenqeust]> != done {
            - ^chat "Diese!"
            - wait 1
            - ^chat "Ich bin hier ganz alleine und habe Angst"
            - wait 1
            - ^chat "Die Zutaten für meine Tränke sind mittlerweile fast aufgebraucht, kannst du mir helfen?"
            - ^narrate "<&6>Schreibe <&a>Ja<&6> oder <&c>Nein<&6>!"
            - zap step:accept duration:20s
            } else {
              - ^chat "Komm in <player.flag[katakombenqeust].expiration.formatted> wieder!"
            }

    "accept":
      chat trigger:
        "yes":
          trigger: "/Ja/, ich werde dir helfen!"
          script:
            - wait 1
            - ^narrate "<&5>[Katakomben] <&6>- Quest angenommen"
            - wait 1
            - ^chat "Bring mir seinen Kopf als Beweis für deinen Erfolg!"
            - ^flag player katakombenmobtype1count:0
            - ^flag player katakombenmobtype2count:0
            - ^flag player katakombenmobtype3count:0
            - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
            - ^listen kill "id:katakomben spider Listener" type:entity target:<cons:katakombenmobtype1> qty:<cons:katakombenmobtype1amount> script:katakombenmob1check
            - ^listen kill "id:katakomben cavespider Listener" type:entity target:<cons:katakombenmobtype2> qty:<cons:katakombenmobtype2amount> script:katakombenmob2check
            - ^listen kill "id:katakomben blaze Listener" type:entity target:<cons:katakombenmobtype3> qty:<cons:katakombenmobtype3amount> script:katakombenmob3check
            - zap step:hunt
        "no":
          trigger: "/Nein/, niemals!"
          script:
            - wait 1
            - random { 
              - ^chat "Ja lass mich ruhig alleine." 
              - ^chat "Geh nur weg. Ich werd das auch alleine schaffen!"
              }
            - zap step:meet
        "everything else":
          trigger: /REGEX:\w+/
          script:
            - wait 1
            - random { 
              - ^chat "Ich habe keine Ahnung was du mit <&sq><&f><context.message><&9><&sq> meinst!" 
              - ^chat "Was meinst du mit <&sq><&f><context.message><&9><&sq>!?" 
              } 
            - wait 1 
            - ^narrate "<&6>Schreibe <&a>Ja<&6> oder <&c>Nein<&6>!"

    "hunt":
      click trigger:
        script:
          - ^chat "<player.name>, du hast erst <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen getötet."

    "whiledelivering":
      click trigger:
        script:
          - ^if <player.item_in_hand.material> == m@<cons:katakombenitem1> {
            - ^if <player.flag[katakombenitem1count].as_int> < <cons:katakombenitem1amount> {
              - ^define item_in_hand <player.item_in_hand.qty>
              - ^define toomuch <math.as_int:<cons:katakombenitem1amount>-<player.flag[katakombenitem1count]>>
              - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
              - ^flag player katakombenitem1count:++:<player.item_in_hand.qty>
              - ^take i@<cons:katakombenitem1> qty:<player.item_in_hand.qty>
              - ^if <player.flag[katakombenitem1count].as_int> < <cons:katakombenitem1amount> {
                - ^chat "Danke für %item_in_hand% Spinnenaugen!"
                - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                } else {
                  - ^chat "Danke für %toomuch% Spinnenaugen!"
                  - ^flag player katakombenitem1:done
                  - ^if <player.flag[katakombenitem1count].as_int> > <cons:katakombenitem1amount> {
                    - ^give i@<cons:katakombenitem1> qty:<math.as_int:<player.flag[katakombenitem1count]>-<cons:katakombenitem1amount>>
                    }
                  - ^flag player katakombenitem1count:<cons:katakombenitem1amount>
                  - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                  - ^if <player.flag[katakombenitem1]> == done && <player.flag[katakombenitem2]> == done {
                    - random {
                      - ^chat "Danke für deine Hilfe. Hier hast du deine Belohnung!"
                      - ^chat "Vielen Dank! Über <cons:katakombenmoneyreward> Dollar freust du dich bestimmt!"
                      }
                    - ^give i@<cons:katakombenitem1reward> qty:<cons:katakombenitem1rewardamount>
                    - ^give i@<cons:katakombenitem2reward> qty:<cons:katakombenitem2rewardamount>
                    - ^give i@<cons:katakombenitem3reward> qty:<cons:katakombenitem3rewardamount>
                    - ^give i@<cons:katakombenitem4reward> qty:<cons:katakombenitem4rewardamount>
                    - wait 1
                    - ^narrate "<&5>Katakomben <&6>- Quest abgeschlossen"
                    - ^flag player katakombenquest:done duration:<cons:katakombenquestredodelay>
                    - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                    - ^flag player katakombenitem1count:!
                    - ^flag player katakombenitem2count:!
                    - ^flag player katakombenitem1:!
                    - ^flag player katakombenitem2:!
                    - zap script:katakombenquest step:meet
                    } else {
                      - ^chat "Du musst noch etwas Lohen zu mir bringen!"
                    }
                }  
              } else {
                - ^chat "Du hast bereits genügend Spinnenaugen abgeliefert!"
              }
            } else if <player.item_in_hand.material> == m@<cons:katakombenitem2> {
              - ^if <player.flag[katakombenitem2count].as_int> < <cons:katakombenitem2amount> {
                - ^define item_in_hand <player.item_in_hand.qty>
                - ^define toomuch <math.as_int:<cons:katakombenitem2amount>-<player.flag[katakombenitem2count]>>
                - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                - ^flag player katakombenitem2count:++:<player.item_in_hand.qty>
                - ^take i@<cons:katakombenitem2> qty:<player.item_in_hand.qty>
                - ^if <player.flag[katakombenitem2count].as_int> < <cons:katakombenitem2amount> {
                  - ^chat "Danke für %item_in_hand% Lohen!"
                  - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                  } else {
                    - ^chat "Danke für %toomuch% Lohen!"
                    - ^flag player katakombenitem2:done
                    - ^if <player.flag[katakombenitem2count].as_int> > <cons:katakombenitem2amount> {
                      - ^give i@<cons:katakombenitem2> qty:<math.as_int:<player.flag[katakombenitem2count]>-<cons:katakombenitem2amount>>
                      }
                    - ^flag player katakombenitem2count:<cons:katakombenitem2amount>
                    - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                    - ^if <player.flag[katakombenitem1]> == done && <player.flag[katakombenitem2]> == done {
                      - random {
                        - ^chat "Danke für deine Hilfe. Hier hast du deine Belohnung!"
                        - ^chat "Vielen Dank! Über <cons:katakombenmoneyreward> Dollar freust du dich bestimmt!"
                        }
                      - ^give i@<cons:katakombenitem1reward> qty:<cons:katakombenitem1rewardamount>
                      - ^give i@<cons:katakombenitem2reward> qty:<cons:katakombenitem2rewardamount>
                      - ^give i@<cons:katakombenitem3reward> qty:<cons:katakombenitem3rewardamount>
                      - ^give i@<cons:katakombenitem4reward> qty:<cons:katakombenitem4rewardamount>
                      - wait 1
                      - ^narrate "<&5>Katakomben <&6>- Quest abgeschlossen"
                      - ^flag player katakombenquest:done duration:<cons:katakombenquestredodelay>
                      - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
                      - ^flag player katakombenitem1count:!
                      - ^flag player katakombenitem2count:!
                      - ^flag player katakombenitem1:!
                      - ^flag player katakombenitem2:!
                      - zap script:katakombenquest step:meet
                      } else {
                        - ^chat "Du musst noch etwas Spinnenaugen zu mir bringen!"
                      }
                  }  
                } else {
                  - ^chat "Du hast bereits genügend Lohen abgeliefert!"
                }  
            } else {
              - random {
                - ^chat "Ich brauche noch das Fleisch! Du kannst auch einzelne Portionen bringen!"
                - ^chat "Wo bleibt das Fleisch? Du musst nicht alles auf einmal bringen!"
                }
              - wait 1
              - ^chat "Du hast erst <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen zur mir gebracht!"
            }


katakombenmobytype1check:
  type: task
  script:
    - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
    - ^flag player katakombenmobtype1count:++
    - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
    - ^narrate "<&5>[QUEST]<&f><&co> Du hast <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen getötet!"
    - ^if <player.flag.[katakombenmobtype1count].as_int> >= <cons:katakombenmobtype1amount> {
      - flag player mob1:done
      - if <player.flag[mob1]> == done && <player.flag[mob2]> == done && <player.flag[mob3]> == done {
        - narrate "<&5>[QUEST]<&f><&co> Du hast <cons:katakombenmobtype1amount> Spinnen, <cons:katakombenmobtype2amount> Höhlenspinnen und <cons:katakombenmobtype3amount> Lohen getötet. Bringe Knasti Max <cons:katakombenitem1amount> Spinnenaugen und <cons:katakombenitem2amount> Lohen!"
        - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
        - ^flag player katakombenmobtype1count:!
        - ^flag player katakombenmobtype2count:!
        - ^flag player katakombenmobtype3count:!
        - ^flag player mob1:!
        - ^flag player mob2:!
        - ^flag player mob3:!
        - ^flag player katakombenitem1count:0
        - ^flag player katakombenitem2count:0
        - ^flag player katakombenitem3count:0
        - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
        - zap script:katakombenquest step:whiledelivering
        } else {
          - narrate "<&5>[QUEST]<&f><&co> Du musst noch ein paar Höhlenspinnen und/oder Lohen töten!"
        }
      } else {
        - ^listen kill "id:katakomben spider Listener" type:entity target:<cons:katakombenmobtype1> qty:<cons:katakombenmobtype1amount> script:katakombenmob1check
      }

katakombenmobytype2check:
  type: task
  script:
    - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
    - ^flag player katakombenmobtype2count:++
    - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
    - ^narrate "<&5>[QUEST]<&f><&co> Du hast <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Spinnen getötet!"
    - ^if <player.flag.[katakombenmobtype2count].as_int> >= <cons:katakombenmobtype2amount> {
      - flag player mob2:done
      - if <player.flag[mob1]> == done && <player.flag[mob2]> == done && <player.flag[mob3]> == done {
        - narrate "<&5>[QUEST]<&f><&co> Du hast <cons:katakombenmobtype1amount> Spinnen, <cons:katakombenmobtype2amount> Höhlenspinnen und <cons:katakombenmobtype3amount> Lohen getötet. Bringe Knasti Max <cons:katakombenitem1amount> Spinnenaugen und <cons:katakombenitem2amount> Lohen!"
        - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
        - ^flag player katakombenmobtype1count:!
        - ^flag player katakombenmobtype2count:!
        - ^flag player katakombenmobtype3count:!
        - ^flag player mob1:!
        - ^flag player mob2:!
        - ^flag player mob3:!
        - ^flag player katakombenitem1count:0
        - ^flag player katakombenitem2count:0
        - ^flag player katakombenitem3count:0
        - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
        - zap script:katakombenquest step:whiledelivering
        } else {
          - narrate "<&5>[QUEST]<&f><&co> Du musst noch ein paar Spinnen und/oder Lohen töten!"
        }
      } else {
        - ^listen kill "id:katakomben cavespider Listener" type:entity target:<cons:katakombenmobtype2> qty:<cons:katakombenmobtype2amount> script:katakombenmob2check
      }

katakombenmobytype3check:
  type: task
  script:
    - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
    - ^flag player katakombenmobtype3count:++
    - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
    - ^narrate "<&5>[QUEST]<&f><&co> Du hast <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Spinnen getötet!"
    - ^if <player.flag.[katakombenmobtype3count].as_int> >= <cons:katakombenmobtype3amount> {
      - flag player mob3:done
      - if <player.flag[mob1]> == done && <player.flag[mob2]> == done && <player.flag[mob3]> == done {
        - narrate "<&5>[QUEST]<&f><&co> Du hast <cons:katakombenmobtype1amount> Spinnen, <cons:katakombenmobtype2amount> Höhlenspinnen und <cons:katakombenmobtype3amount> Lohen getötet. Bringe Knasti Max <cons:katakombenitem1amount> Spinnenaugen und <cons:katakombenitem2amount> Lohen!"
        - ^flag player "questaufgabe:<-:<&5>[Katakomben] <&a>Töte <player.flag[katakombenmobtype1count].as_int>/<cons:katakombenmobtype1amount> Spinnen, <player.flag[katakombenmobtype2count].as_int>/<cons:katakombenmobtype2amount> Höhlenspinnen und  <player.flag[katakombenmobtype3count].as_int>/<cons:katakombenmobtype3amount> Lohen."
        - ^flag player katakombenmobtype1count:!
        - ^flag player katakombenmobtype2count:!
        - ^flag player katakombenmobtype3count:!
        - ^flag player mob1:!
        - ^flag player mob2:!
        - ^flag player mob3:!
        - ^flag player katakombenitem1count:0
        - ^flag player katakombenitem2count:0
        - ^flag player katakombenitem3count:0
        - ^flag player "questaufgabe:->:<&5>[Katakomben] <&a>Bringe Knasti Max <player.flag[katakombenitem1count].as_int>/<cons:katakombenitem1amount> Spinnenaugen und <player.flag[katakombenitem2count].as_int>/<cons:katakombenitem2amount> Lohen!"
        - zap script:katakombenquest step:whiledelivering
        } else {
          - narrate "<&5>[QUEST]<&f><&co> Du musst noch ein paar Spinnen und/oder Höhlenspinnen töten!"
        }
      } else {
        - ^listen kill "id:katakomben blaze Listener" type:entity target:<cons:katakombenmobtype3> qty:<cons:katakombenmobtype3amount> script:katakombenmob3check
      }