Date: 2018/11/25 06:46:53 UTC-08:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Erstellt von: YMarshall
# Weihnachten-2018
# Projekt: Tuerchen/Weihnachtsmarkt/Quest/Sonstiges
# Koordinaten:
#-----------------------------------------------------------------------------------------
# Der folgende Name wird später auch Ingame für die Vergabe an den NPC und für den Dateinamen genutzt.
# Für eine gute Übersicht sollte der Name deshalb möglichst Präzise sein.
# Passe dafür im folgenden Bitte das Projekt und den NPC-Namen an.
'WeihnachtsScript_2018_Weihnachtsmarkt_Bernard':
# Im nächsten Schritt erhält dein NPC alle wichtigen Grundeinstellungen. Dazu gehören der Name, der Skin
# aber auch allgemeine Einstellungen.
# Assignment bedeutet im folgenden, dass man dieses Skript später einem NPC zuweisen kann.
type: assignment
interact scripts:
# Der folgende Name ist später unsere Grundlage für die Interaktion mit dem NPC.
# Wie bereits zuvor solltest du also auch hier den Projekt- und den NPC-Namen anpassen.
- WeihnachtsScript_2018_Origo_Weihnachtsmarkt_Bernard_Interaction
# Ehe wir uns der Interaktion widmen, stellen wir in dem folgenden Bereich
# ersteinmal einige grundlegende Einstellungen ein.
actions:
on assignment:
# Die folgenden Befehle aktivieren Ingame überprüfungen, wenn man mit einem NPC interagiert und werden
# in den folgenden Zeilen näher beschrieben.
#
# Der "Click" Trigger: Aktiviert die Interaktion per Klick
# Der "Chat" Trigger: Aktiviert die Interaktion über den Chat
# Der "proximity" Trigger: Aktiviert die Interaktion in einem Bestimmten ingame Radius.
#
# Später werden wir diese Interaktionsmöglichkeiten nutzen, um beispielsweise bei einem Klick
# eine bestimmte Chatnachricht zu versenden.
- trigger name:click toggle:true
- trigger name:chat toggle:true
- trigger name:proximity toggle:true radius:5
# ****Hier wird nun der spätere NPC von außen Gestaltet.****
# Dafür wird er zuerst selektiert.
- ^execute as_op "npc select <npc.id>"
# Im nächsten Schritt wird über den "lookclose" Befehl eingestellt, dass er sich zu dem Spieler dreht,
# der ihm am nächsten steht.
- ^execute as_op "npc lookclose"
# Hier hast du nun die Möglichkeit deinem NPC einen Namen zu geben.
- ^execute as_op "npc rename Bernard"
# Als nächstes kannst du deinem NPC einen Skin zuweisen.
# Dafür kannst du entweder direkt einen Spielernamen auswählen, dessen Skin dir gefällt,
# oder du schaust dich nach einem alternativen Skin um.
# Weihnachtliche Skins findest du hier: https://de.namemc.com/minecraft-skins/tagged/christmas
# Sobald du dort einen Skin gefunden hast kannst du ihn anklicken und dort unter "Profile" einen
# Spielernamen auswählen, den du dann hier einträgst.
- ^execute as_op "npc skin -p 069p"
# Nachdem nun alle grundlegenden Einstellungen vorgenommen wurden, wenden wir uns nun der eigentlichen Interaktion zu.
# Dabei habt ihr im folgenden viele Möglichkeiten euren NPC zu gestalten. Es gibt dabei erst einmal kein richtig oder
# falsch.
#
# Zuvor sollten auch hier noch einmal der Projekt- und der NPC-Name genauso wie zuvor angepasst werden.
# Achtung! Hier muss der gleiche Name wie in Zeile 18 stehen.
'WeihnachtsScript_2018_Origo_Weihnachtsmarkt_Bernard_Interaction':
type: interact
steps:
# Der folgende Bereich ist in die zuvor aktivierten Interaktionen (Click, Chat, Proximity) unterteilt.
# Du kannst dich entweder für einzelne von ihnen entscheiden oder alle nutzen.
default:
# Den proximity Trigger kannst du nutzen, um einem Spieler bei dem Betreten (entry)/ Verlassen (exit)
# des zuvor gesetzten Radius eine Nachricht auszugeben.
proximity trigger:
entry:
script:
- chat "<&7>Komm näher <player.name>, kauf dir eine heiße Bratwurst!"
- random:
- chat "<&7>Heiße Bratwürste!"
- chat "<&7>Soll ich dir mal eine richtige Bratwurst zeigen?"
- chat "<&7>Nur eine Bratwurst gibt dir die nötige Kraft!"
exit:
script:
- chat "<&7>Tschüss!"
# Der Click-Trigger ist der meistgenutzte Trigger. Mit ihm könnt ihr einfache Chatnachrichten per Klick
# versenden.
#
# Das eigentliche Skript besteht hierbei in der Regel aus zwei Bestandteilen.
# Den eigentlichen Chatnachrichten und den dazwischen liegenden Wartezeiten.
# In den Chatnachrichten hast du die Möglichkeit Farbcodes in dem folgenden Format zu verwenden:
# <Farbcode> also z.B. <&1>
#
# Die allgemeine Textfarbe sollte dennoch stets: <&7> sein.
click trigger:
script:
- chat "<&7>Hast du auch so einen Bärenhunger? (Ja/Nein)"
- narrate "<&7>Antworte im Chat mit Ja oder Nein."
# Der Chat Trigger ermöglicht nun die wirkliche Interaktion. Hier könnt ihr Fragebeantwortungen oder auch
# zusätzliche Konversationen definieren.
chat trigger:
# Die 1 steht hier für die erste Antwortoption. Es können beliebig weitere Antwortoptionen hinzugefügt
# werden.
'1':
# In den einzelnen Optionen finden sich nun erneut die Trigger und die Skript Komponente.
#
# Das "script" kann hier genauso wie bei dem click trigger ergänzt werden.
# Durch den Trigger wird festgelegt, welches Wort du dem NPC schreiben musst, damit dieser das
# folgende script ausgibt.
#
# Beispiel:
# trigger: "/Ja/, ich möchte gerne eine Zuckerstange kaufen."
# Hier wird das Wort "Ja" abgefragt.
trigger: "/Ja/, ich möchte eine Bratwurst."
script:
- chat "Dann kauf dir doch eine heiße Bratwurst!"
'2':
trigger: "/Nein/, ich habe mich schon mit Waffeln voll gestopft."
script:
- chat "Dann noch einen schönen Tag, komm gerne wieder wenn du wieder hunger hast!"
# Diese Antwortoption fängt abschließend alle Antworten ab. Wenn man sich also vertippt kann man hier
# eine zusätzliche Antwort beschreiben.
'CatchAll':
trigger: /REGEX:\w+/
script:
- chat "Tut mir leid, ich habe dich nicht verstanden. Antworte bitte mit den Antwortmöglichkeiten, die ich dir gegeben habe."