Paste #2714: Untitled Paste

Date: 2014/03/21 07:59:04 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


killtenpigsandtencows:
    type: assignment
    actions:
        on assignment:
            - trigger name:chat toggle:true
            - trigger name:click toggle:true
    interact scripts:
        - 10 startpigcow

startpigcow:
    type: interact
    steps:
        "*meet":
            click trigger:
                script:
                    - if <player.flag[pigcowquest]> != done {
                      - chat "Hallo <player.name>."
                      - wait 1
                      - chat "Ich brauche noch einige Zutaten für das heutige Essen!"
                      - wait 1
                      - chat "Kannst du mir helfen?"
                      - narrate "<gold>Schreibe <green>Ja<gold> oder <red>Nein<gold>!"
                      - zap step:accept duration:10s
                      } else {
                      - chat "Danke nochmal für das Fleisch!"
                      - wait 1
                      - chat "Melde dich morgen nochmal, vielleicht brauche ich dann wieder welches!"
                      }

        accept:
            chat trigger:
                "yes":
                    trigger: "/Ja/, ich werde dir helfen."
                    script:
                        - chat "Heute soll es ordentlich Fleisch geben!"
                        - wait 1
                        - chat "Töte 10 Schweine und 10 Kühe und bringe mir dann 64 rohes Schweine- und 64 rohes Kuhfleisch!"
                        - ^flag player pigcount:0
                        - ^flag player cowcount:0
                        - listen kill "id:Schwein Listener" type:entity name:pig qty:1 script:pigcheck
                        - listen kill "id:Kuh Listener" type:entity name:cow qty:1 script:cowcheck
                        - zap step:huntpigcow

                "no":
                    trigger: "/Nein/, ich hab gerade keine Zeit."
                    script:
                        - chat "Schade, dann werde ich mal jemand anderes fragen."
                        - wait 1
                        - chat "Solltest du doch irgendwann Zeit haben, dann melde dich einfach nochmal bei mir!"
                        - zap step:meet

        huntpigcow:
            click trigger:
                script:
                    - chat "<player.name>, du hast erst <player.flag[pigcount].as_int>/10 Schweine und <player.flag[cowcount].as_int>/10 Kühe getötet!"

        whiledelivering:
            click trigger:
                script:
                    - ^if <player.item_in_hand.material> == m@pork {
                      - ^if <player.flag[porkdelivered].as_int> < 64 {
                        - ^chat "Danke für <player.item_in_hand.qty> rohes Schweinefleisch!"
                        - ^flag player porkdelivered:++:<player.item_in_hand.qty>
                        - ^take i@pork qty:<player.item_in_hand.qty>
                        - if <player.flag[porkdelivered].as_int> >= 64 {
                          - give i@pork qty:<math.as_int:<player.flag[porkdelivered]>-64>
                          - flag player pork:done
                          - flag player porkdelivered:64
                          - if <player.flag[pork]> == done && <player.flag[beef]> == done {
                            - chat "Danke für deine Hilfe. Hier hast du deine Belohnung!"
                            - give money qty:10000
                            - flag player pigcowquest:done duration:1m
                            - zap script:startpigcow step:meet
                            } else {
                            - chat "Du musst noch etwas rohes Kuhfleisch zu mir bringen!"
                            }
                          }
                        } else {
                        - chat "Du hast bereits genügend rohes Schweinefleisch abgeliefert!"
                        }
                      } else if <player.item_in_hand.material> == m@raw_beef {
                      - ^if <player.flag[beefdelivered].as_int> < 64 {
                        - ^chat "Danke für <player.item_in_hand.qty> rohes Kuhfleisch!"
                        - ^flag player beefdelivered:++:<player.item_in_hand.qty>
                        - ^take i@raw_beef qty:<player.item_in_hand.qty>
                        - if <player.flag[beefdelivered].as_int> >= 64 {
                          - give i@raw_beef qty:<math.as_int:<player.flag[beefdelivered]>-64>
                          - flag player beef:done
                          - flag player beefdelivered:64
                          - if <player.flag[pork]> == done && <player.flag[beef]> == done {
                            - chat "Danke für deine Hilfe. Hier hast du deine Belohnung!"
                            - give money qty:10000
                            - flag player pigcowquest:done duration:1m
                            - zap script:startpigcow step:meet
                            } else {
                            - chat "Du musst noch etwas rohes Schweinefleisch zu mir bringen!"
                            }
                          }
                        } else {
                        - chat "Du hast bereits genügend rohes Kuhfleisch abgeliefert!"
                        }
                      } else {
                      - chat "Ich brauche noch das Fleisch! Du kannst auch einzelne Portionen bringen!"
                      - wait 1
                      - chat "Du hast erst <player.flag[porkdelivered].as_int>/64 rohes Schweinefleisch und <player.flag[beefdelivered].as_int>/64 rohes Kuhfleisch zur mir gebracht!"
                      }

pigcheck:
    type: task
    script:
        - ^flag player pigcount:++
        - ^narrate "Du hast <player.flag[pigcount].as_int>/10 Schweine getötet!"
        - ^if <player.flag[pigcount].as_int> >= 10 {
          - flag player pig:done
          - if <player.flag[pig]> == done && <player.flag[cow]> == done {
            - narrate "Du hast 10 Schweine und 10 Kühe getötet. Bring der Küchenhilfe 64 rohes Schweine- und 64 rohes Kuhfleisch!"
            - ^flag player pigcount:0
            - ^flag player cowcount:0
            - ^flag player porkdelivered:0
            - ^flag player beefdelivered:0
            - ^flag player pig:!
            - ^flag player cow:!
            - ^flag player pork:!
            - ^flag player beef:!
            - zap script:startpigcow step:whiledelivering
            } else {
            - narrate "Du musst noch ein paar Kühe töten!"
            }
          } else {
          - ^listen kill "id:Schwein Listener" type:entity name:pig qty:1 script:pigcheck
          }

cowcheck:
    type: task
    script:
        - ^flag player cowcount:++
        - ^narrate "Du hast <player.flag[cowcount].as_int>/10 Kühe getötet!"
        - ^if <player.flag[cowcount].as_int> >= 10 {
          - flag player cow:done
          - if <player.flag[pig]> == done && <player.flag[cow]> == done {
            - narrate "Du hast 10 Schweine und 10 Kühe getötet. Bring der Küchenhilfe 64 rohes Schweine- und 64 rohes Kuhfleisch!"
            - ^flag player pigcount:0
            - ^flag player cowcount:0
            - ^flag player porkdelivered:0
            - ^flag player beefdelivered:0
            - ^flag player pig:!
            - ^flag player cow:!
            - ^flag player pork:!
            - ^flag player beef:!
            - zap script:startpigcow step:whiledelivering
            } else {
            - narrate "Du musst noch ein paar Schweine töten!"
            }
          } else {
          - ^listen kill "id:Kuh Listener" type:entity name:cow qty:1 script:cowcheck
          }