Paste #2941: Untitled Paste

Date: 2014/03/27 10:17:59 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


"reparatur":
  type: assignment
  actions:
    on assignment:
    - trigger name:chat toggle:true
    - trigger name:click toggle:true
    - lookclose state:true
  default constants:
    reparaturreparaturitem1: iron_fence
    reparaturreparaturitem2: stone_brick
    reparaturamount1: 64
    reparaturamount2: 64
    questredodelay: 20h
    moneyreward: 1000
  interact scripts:
  - 10 reperaturquest

"reparaturquest":
  type: interact
  steps:
    "*meet":
      click trigger:
        script:
          - ^if <player.flag[reparaturquest]> != done {
            - ^chat "Hey <player.name>, kannst du mir helfen die Spuren des letzten Ausbruchs zu bereinigen?"
            - wait 1
            - ^narrate "<&6>Schreibe <&a>Ja<&6> oder <&c>Nein<&6>!"
            - zap step:accept duration:20s
            } else {
              - ^chat "Komm in <player.flag[reparaturquest].expiration.formatted> wieder,dann kannst du mir erneut helfen!"
            }

    "accept":
      chat trigger:
        "yes":
          trigger: "/Ja/, ich werde dir helfen."
          script:
            - wait 1
            - ^narrate "<&5>Die Reperatur <&6>- Quest angenommen"
            - wait 1
            - ^chat "<&a>Bring mir <cons:reparaturamount1> Eisengitter und <cons:reparaturamount2> Steinziegel."
            - ^flag player reparaturcount1:0
            - ^flag player reparaturcount2:0
            - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
            - zap step:whiledelivering
        "no":
          trigger: "/Nein/, ich hab grad keine Zeit."
          script:
            - wait 1
            - random { 
              - ^chat "Schade, dann werde ich mal jemand anderes fragen." 
              - ^chat "Ok, hoffentlich hilft mir jemand anderes."
              }
            - wait 1
            - random { 
              - ^chat "Solltest du doch irgendwann Zeit haben, dann melde dich einfach nochmal bei mir!" 
              - ^chat "Sprich mich einfach nochmal an, wenn du Zeit haben solltest." 
              }
            - zap step:meet
        "everything else":
          trigger: /REGEX:\w+/
          script:
            - wait 1
            - random { 
              - ^chat "Tut mir leid <player.name>, aber ich weiß nicht was <&sq><&f><context.message><&9><&sq> bedeutet!" 
              - ^chat "Ich weiß nicht, was du mit <&sq><&f><context.message><&9><&sq> meinst!" 
              } 
            - wait 1 
            - ^narrate "<&6>Schreibe <&a>Ja<&6> oder <&c>Nein<&6>!"

    "whiledelivering": 
      click trigger: 
        script:
          - ^if <player.item_in_hand.material> == m@<cons:reparaturitem1> { 
            - ^if <player.flag[reparaturcount1].as_int> < <cons:reparaturamount1> { 
              - ^define item_in_hand <player.item_in_hand.qty> 
              - ^define toomuch <math.as_int:<cons:reparaturamount1>-<player.flag[reparaturcount1]>> 
              - ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
              - ^flag player reparaturcount1:++:<player.item_in_hand.qty> 
              - ^take i@<cons:reparaturitem1> qty:<player.item_in_hand.qty> 
              - ^if <player.flag[reparaturcount1].as_int> < <cons:reparaturamount1> { 
                - ^chat "Danke für %item_in_hand% Eisengitter!" 
                - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                } else { 
                  - ^chat "Danke für %toomuch% Eisengitter!" 
                  - ^flag player reparaturitem1:done 
                  - ^if <player.flag[reparaturcount1].as_int> > <cons:reparaturamount1> { 
                    - ^give i@<cons:reparaturitem1> qty:<math.as_int:<player.flag[reparaturcount1]>-<cons:reparaturamount1>> 
                    } 
                  - ^flag player reparaturcount1:<cons:reparaturamount1> 
                  - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                  - ^if <player.flag[reparaturitem1]> == done && <player.flag[reparaturitem2]> == done { 
                    - random { 
                      - ^chat "Danke für deine Hilfe. Hier hast du deine Belohnung!" 
                      - ^chat "Vielen Dank! Über <cons:moneyreward> Dollar freust du dich bestimmt!" 
                      } 
                    - ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                    - ^flag player reparaturcount1:! 
                    - ^flag player reparaturcount2:! 
                    - ^flag player reparaturitem1:! 
                    - ^flag player reparaturitem2:!
                    - ^chat "Damit wir mal ein Zeichen setzen musst du den letzten ausbrechen bestrafen!"
                    - narrate "<&5>[Quest] Geh und töte Knasti Kurt"
                    - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
                    - ^flag player reparaturkill:true
                    - zap step:waitingkill 
                    } else { 
                    - ^chat "Du musst noch etwas Steinziegel zu mir bringen!" 
                    } 
                }   
              } else { 
              - ^chat "Du hast bereits genügend Eisengitter abgeliefert!" 
              } 
            } else if <player.item_in_hand.material> == m@<cons:reparaturitem2> { 
              - ^if <player.flag[reparaturcount2].as_int> < <cons:reparaturamount2> { 
                - ^define item_in_hand <player.item_in_hand.qty> 
                - ^define toomuch <math.as_int:<cons:reparaturamount2>-<player.flag[reparaturcount2]>> 
                - ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                - ^flag player reparaturcount2:++:<player.item_in_hand.qty> 
                - ^take i@<cons:reparaturitem2> qty:<player.item_in_hand.qty> 
                - ^if <player.flag[reparaturcount2].as_int> < <cons:reparaturamount2> { 
                  - ^chat "Danke für %item_in_hand% Steinziegel!" 
                  - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                  } else { 
                    - ^chat "Danke für %toomuch% Steinziegel!" 
                    - ^flag player reparaturitem2:done 
                    - ^if <player.flag[reparaturcount2].as_int> > <cons:reparaturamount2> { 
                      - ^give i@<cons:reparaturitem2> qty:<math.as_int:<player.flag[reparaturcount2]>-<cons:reparaturamount2>> 
                      } 
                    - ^flag player reparaturcount2:<cons:reparaturamount2> 
                    - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                    - ^if <player.flag[reparaturitem1]> == done && <player.flag[reparaturitem2]> == done { 
                      - random { 
                        - ^chat "Danke für deine Hilfe. Hier hast du deine Belohnung!" 
                        - ^chat "Vielen Dank! Über <cons:moneyreward> Dollar freust du dich bestimmt!" 
                        }
                      - ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Bringe <player.flag[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu <npc.name>."
                      - ^flag player reparaturcount1:! 
                      - ^flag player reparaturcount2:! 
                      - ^flag player reparaturitem1:! 
                      - ^flag player reparaturitem2:!
                      - ^chat "Damit wir mal ein Zeichen setzen musst du den letzten ausbrechen bestrafen!"
                      - narrate "<&5>[Quest] Geh und töte Knasti Kurt"
                      - ^flag player "questaufgabe:->:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
                      - ^flag player reparaturkill:true
                      - ^listen kill type:npc target:45 script:reparaturkillcomplete
                      - zap step:waitingkill
                      } else { 
                      - ^chat "Du musst noch etwas Eisengitter zu mir bringen!" 
                      } 
                    }   
                } else { 
                - ^chat "Du hast bereits genügend Steinziegel 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[reparaturcount1].as_int>/<cons:reparaturamount1> Eisengitter und <player.flag[reparaturcount2].as_int>/<cons:reparaturamount2> Steinziegel zu mir gebracht!"
            }

    "waitingkill":
      click trigger:
        script:
          - ^chat "Komm wieder wenn du Knasti Kurt umgebracht hast, vergiss nicht seine Schaufel!"

    "whiledelivering2":
      click trigger:
        script:
          - ^if <player.item_in_hand> == i@kurtsschaufel && <player.flag[reparaturkill]> == done {
            - ^chat "Sehr sehr gut! Das ist der Beweis!"
            - ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!" 
            - ^flag player reparaturquest:done duration:20h
            - ^give money qty:<cons:moneyreward>
            - ^narrate "<&2>[<&f>Money<&2>] Received <&f><cons:moneyreward> Dollars <&2>from <&f><npc.name>" 
            - wait 1
            - ^narrate "<&5>[Die Reparatur] <&6>- Quest abgeschlossen"
            } else {
              - ^if <player.flag[reparaturkill]> == done && <player.item_in_hand> != i@kurtsschaufel {
                - ^chat "Du musst mir noch die Schaufel bringen!"
                - ^narrate "<&5>[Quest] Kann es sein, dass du die Schaufel verloren hast?"
                - wait 1
                - ^narrate "<&6>Schreibe <&a>Ja ich habe die Schaufel verloren<&6> oder <&c>Nein<&6>!"
                }
              }
      chat trigger:
        trigger: "/Ja ich habe die Schaufel verloren/"
          script:
            - ^flag player "questaufgabe:<-:<&5>[Die Reparatur] <&a>Töte Knasti Kurt und bring <npc.name> seine Schaufel!"
            - ^flag player reparaturkill:!
            - ^chat "Wie konntest du nur die Schaufel verlieren, gut gemacht...!"
            - zap step:meet
            - ^narrate "<&5>[Die Reparatur] - gescheitert!"


kurtsschaufel:
  type: item
  no_id: true
  debug: false
  material: wood_spade
  display name: <&6>Knasti Kurts Schaufel

"reparaturkillcomplete":
  type: task
  script:
    - ^if <player.flag[reparaturkill]> == true{
      - ^narrate "<&5>[Quest] Du hast Knasti Kurt erfolgreich getötet!"
      - wait 1
      - ^narrate "<&5>[Quest] Bring Knasti Kurts Schaufel zurück zu WärterDaniel!"
      - ^flag player reparaturkill:done
      - ^give player i@kurtsschaufel
      - zap script:reparaturquest step:whiledelivering2
      }