Paste #3598: Untitled Paste

Date: 2014/04/19 08:05:42 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


Einfuehrung:
  type: assignment

  actions:
    on assignment:
    - trigger name:chat toggle:true
    - trigger name:click toggle:true
    - trigger name:proximity toggle:true

  interact scripts:
  - 10 Main

Main:
  type: interact
  steps:
    1:
      proximity trigger:
        entry:
          script:
          - chat "Hallo und Willkommen bei CraftWood!"
          - wait 0.5s
          - if !<server.list_players.contains[<player>]> {
            - chat "Ich sehe du bist neu hier."
            }
          - wait 1s
          - chat "Kann ich dir behilflich sein?"
          - narrate "<&3>(<&6>Ja<&3>/<&6>Nein<&3>)"
          - zap step:2

    2:
      chat trigger:
        1:
          trigger: "/Ja/ja/ gerne!"
          script:
          - chat "Ok! Zuerst ein bisschen information zu den GS'en."
          - wait 0.5s
          - chat "Tippe <&6>/gsbuy <&a> ein."
          - flag <player> intutorial:true
          - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Tippe /gsbuy ein<&7>]"
          - flag <player> nexttask:gsbuy

          trigger: "/Nein/ne/nope/nein/ danke!"
          script:
          - chat "Nagut, viel spass noch!"
          - zap step:1

EinfuehrungsEvent:
  type: world
  events:

    on tutorialcommands command:
    - if <player.is_op> {
      - flag global tutorialcommands:->:<c.args.get[1]>
      } else {
      - narrate "<&4>Du hast hierzu keine rechte!"
      }
    - if <c.args.get[1]> == null {
      - narrate "<&c>Benutzung<&co> /tutorialcommands befehl_1 befehl_2 befehl_3"
      }
    - determine fulfilled

    on command:
    - if !<server.flag[tutorialcommands].contains.[<c.command>]> && <player.flag[intutorial]> == true {
      - determine cancelled
      }

    on gsbuy command:
    - if <player.flag[intutorial]> == true && <player.flag[nexttask]> == gsbuy {
      - run s@GSBUYChatTask
      }

    on jobs command:
    - if <player.flag[intutorial]> == true && <player.flag[nexttask]> == joinjob1 {
      - run s@JOBSTask1 def:<c.args>
      } else if <player.flag[intutorial]> == true && <player.flag[nexttask]> == joinjob2 {
      - run s@JOBSTask2 def:<c.args>
      }

    on sethome command:
    - if <player.flag[intutorial]> == true && <player.flag[nexttask]> == sethome {
      - run s@SETHOMETask
      }

    on farmwelt command:
    - if <player.flag[intutorial]> == true && <player.flag[nexttask]> == farmwelt {
      - run s@FARMWELTTask
      }

    on home command:
    - if <player.flag[intutorial]> == true && <player.flag[nexttask]> == home {
      - run s@HOMETask
      }

    on server start:
    - note <cu@<n@HerrTutorial.location.add[7,7,7]>|<n@HerrTutorial.location.sub[7,7,7]> as:einfuehrungscuboid
    - if <server.flag[tutorialcommands]> == null {
      - flag global tutorialcommands:-\>\:gsbuy
      }

GSBUYChatTask:
  type: task
  script:
  - wait 1s
  - create player <&b><&l><player.name>-Tutorial <player.location> save:<player.name>_TUT
  - flag <player> TUTNPC:<entry[<player.name>_TUT].created_npc.id>
  - follow npc:<player.flag[TUTNPC]> target:<player>
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Sehr gut!"
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Jetzt kannst du mit /sethome hier dein Zuhause setzen."
  - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Tippe /sethome ein<&7>]"
  - flag <player> nexttask:sethome

SETHOMETask:
  type: task
  script:
  - adjust <player> show_boss_bar:
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Gut gemacht!"
  - wait 1s
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Jetzt fragst du dich vermutlich wo du ressourcen herkriegst."
  - wait 1s
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Benutze hierführ /farmwelt"
  - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Tippe /farmwelt ein<&7>]"
  - flag <player> nexttask:farmwelt

FARMWELTTask:
  type: task
  script:
  - adjust <player> show_boss_bar:
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Hier kannst du ein bisschen farmen."
  - wait 1s
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Schau dich etwas um."
  - wait 1s
  - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Laufe ein bisschen herum.<&7>]"
  - listen travel type:distance distance:25 script:DistanceTask

DistanceTask:
  type: task
  script:
  - adjust <player> show_boss_bar:
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Gut!"
  - wait 1s
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Wenn du soweit bist gehe wieder nach hause."
  - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Tippe /home ein<&7>]"
  - flag <player> nexttask:home

HOMETask:
  type: task
  script:
  - wait 1s
  - teleport <player.flag[TUTNPC]> <player.location.simple>
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Du kannst auch 2 jobs haben wenn du möchtest."
  - wait 1s
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Hier ist eine liste der 14 jobs."
  - execute as_server "sudo <player.name> jobs browse"
  - wait 1s
  - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name>: Beitreten kannst du mit /jobs join beruf"
  - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Trete mit /jobs join einem job bei<&7>]"
  - flag <player> nexttask:joinjob1

JOBSTask1:
  type: task
  script:
# %1% -> <c.args>
  - if <%1%.get[1]> != null adjust <player> show_boss_bar:
  - if <%1%.get[1]> != null {
    - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name><&co> Gut gemacht!"
    - wait 1s
    - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name><&co> Wähle jetzt einen zweiten Beruf aus."
    - adjust <player> "show_boss_bar:100|<&l><&7>[<&e>Wähle jetzt einen zweiten Beruf aus<&7>]"
    - flag <player> nexttask:joinjob2
    }

JOBSTask2:
  type: task
  script:
  - if <%1%.get[1]> != null adjust <player> show_boss_bar:
  - if <%1%.get[1]> != null {
    - execute as_server "spawn <player.name>"
    - wait 0.5s
    - teleport <player.flag[TUTNPC]> <player.location.simple>
    - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name><&co> Ok! Jetzt noch einen kleinen Rundgang durch die Stadt."
    - wait 1s
# Das was jetzt kommt musst du erweitern, die koordinaten einfügen und die zeit und den chat bestimmen usw.
    - walk <player.flag[TUTNPC]> l@X,Y,Z,WORLD
    - push <player> destination:l@X,Y,Z,WORLD
    - wait 1s
    - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name><&co> DEIN TEXT"
# Dieser teil muss bleiben und passiert wenn die führung fertig ist.
    - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name><&co> So ich glaube das wäre alles."
    - wait 1s
    - narrate "<&b><&l>HerrTutorial <&a>-\>\ <player.name><&co> Viel Spass noch auf unserem server!"
    - flag <player> nexttask:none
    - flag <player> intutorial:false
    - flag <player> TUTNPC:none
    }