Zum Hauptinhalt springen

NPCs erstellen

webapp_banner.jpg

Konfigurationseinstellungen

isEnabled

Legt fest, ob ein NPC aktiviert ist.

KeyWerteStandard
isEnabledBooleantrue
Beispiel
isEnabled: true

name

Legt den Anzeigenamen eines NPCs fest. Unterstützt Color Codes und Übersetzungsschlüssel für mehrsprachige Server.

KeyWerteStandard
nameStringkeiner
Beispiel
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Legt die Skalierung (Größe) des NPCs fest.

KeyWerteStandard
scaleMultiplier1.0

Beim Skalieren stellt 1.0 die Standardgröße dar. Um die Entität größer zu machen, erhöhe den Wert (z. B. 1.2). Um die Entität kleiner zu machen, verringere den Wert (z. B. 0.8).

Beispiel
scale: 1.2

role

Legt die Rolle des NPCs unter dem Namen fest. Nur visuell. Unterstützt Color Codes und Übersetzungsschlüssel für mehrsprachige Server.

KeyWerteStandard
roleStringkeiner
Beispiel
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Legt den Beruf des NPCs fest, der sein Aussehen (Skin) bestimmt, wenn keine Verkleidung verwendet wird.

KeyWerteStandard
professionProfessionNITWIT
Beispiel
profession: NITWIT

create_npc_profession.jpg


greetings

Legt die Liste der Begrüßungen fest, die der NPC sagt, wenn sich ein Spieler nähert. Unterstützt Übersetzungsschlüssel für mehrsprachige Server.

KeyWerteStandard
greetingsString-Listekeiner
Beispiel
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Legt den Dialog fest, den der NPC sagt, während sich ein Spieler in der Nähe befindet (im Fall des interactionType DIALOG wäre dies der Dialog). Unterstützt Übersetzungsschlüssel für mehrsprachige Server.

KeyWerteStandard
dialogString-Listekeiner
Beispiel
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

Legt die Abschiedsnachricht des NPCs fest. Unterstützt Übersetzungsschlüssel für mehrsprachige Server.

KeyWerteStandard
farewellString-Listekeiner
Beispiel
farewell: 
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Legt fest, ob der NPC sprechen kann.

KeyWerteStandard
canTalkBooleantrue
Beispiel
canTalk: true

activationRadius

Legt den Radius fest, in dem ein NPC einen sich nähernden Spieler erkennen kann.

KeyWerteStandard
activationRadiusDouble3.0
Beispiel
activationRadius: 3.0

scripts

Legt die an diesen NPC angehängten Lua-Skripte fest. Skriptdateien werden aus plugins/EliteMobs/npc_scripts/ geladen, und die Dateinamen müssen exakt übereinstimmen, einschließlich der Endung .lua.

KeyWerteStandard
scriptsString-Listekeiner

NPC-Skripte können auf Lebenszyklus-, Interaktions- und Annäherungs-Hooks wie on_npc_proximity_enter reagieren. Siehe Lua-NPC-Skripte für die vollständige API und Beispiele.

Beispiel
scripts:
- wave.lua

interactionType

Legt die Art der Interaktion fest, die der NPC durchführt.

KeyWerteStandard
interactionTypeSpeziell [1]keiner
Beispiel
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Wenn ein Teleporter-NPC keinen vorherigen Ort hat, zu dem er einen Spieler teleportieren kann, zeigt er diese Nachricht an. Akzeptiert Color Codes und Übersetzungsschlüssel für mehrsprachige Server.

KeyWerteStandard
noPreviousLocationMessageStringkeiner
Beispiel
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

create_npc_noteleportlocation.jpg


timeout

Legt die Zeit in Minuten fest, bevor ein NPC dauerhaft verschwindet.

KeyWerteStandard
timeoutDouble0 (nie)
Beispiel
timeout: 0

questFileName

Legt die Quests fest, die der NPC vergibt.

KeyWerteStandard
questFileNameString-Listekeiner
Beispiel
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Legt die LibsDisguises-Verkleidung fest, die der NPC hat.

KeyWerteStandard
disguiseLibsDisguises-Formatkeiner
Beispiel
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Legt die Daten für eine benutzerdefinierte LibsDisguises-Verkleidung fest.

KeyWerteStandard
customDisguiseDataLibsDisguises-Formatkeiner
Beispiel
disguise: custom:my_cool_disguise_name
customDisguiseData: player my_cool_disguise_name setskin {"id":"364acb6d-9050-46f7-b5fb-f8c3fd83a6fc","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTYxMTk4ODA4Nzc1NSwKICAicHJvZmlsZUlkIiA6ICJkZGVkNTZlMWVmOGI0MGZlOGFkMTYyOTIwZjdhZWNkYSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEaXNjb3JkQXBwIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzliYmVkODQzNWY4YmYyNzhhZmUyNmU2NGZkOTI2YjhiMzc3MzJkODhlMzM0ODk3ZGJkNTI3ZDU2ZmY5MTk5MGUiCiAgICB9CiAgfQp9","signature":"ujLq1joYVktuQAp1xpFKlxQFUVinSePiDBiVCAxxix/mA5vP86i/eAOfb1mtGjaAZ6sO0l2olbzvycnGXNBtbAxgqprguROXY4tpWiePVTDmy3iD4GdOCxHAkYLoyMV5qTT4SNsldUFFuND8GSEgbNMltKDLmhNKwzm08iCigPfpeuYpwljgJPxu6ka54PKNaQu4doI0ZDZXKqq4hPhR3Bs2Sz9MI0SmdmQWwcCzUz3DFdVno27fmQ6LwqmT+eSoOv0EttVG/XMaTYQ5lhBY61mqf6WlJyYVUSfjJk1AbYsctu7dWM+sbY8jFq5ljvXJGGr5TyKi+fs8vHy06Z2go20QgTYOw+caFxFijAS6fgm3oY57VEO/+/9OLHdD+Z9BrWqQWcIIrVeIfxjue/yt4pyeVv9jX59hjNFjhcPEwotkxJ+vZ96WlTLWDG4BiqauDr2VeGyLlVaygO9ZU0wwsN65iSh91GI3tMIA5wbDR0Hts/9ABvt9eafHbowS+4SZXN0i9mYnKg7op1eiB8nMEAGsPJg3DwsmUrh3ACAapQ6eYHiJpo59RXDqKlRcXwo7wsEFp//5LgQWbPj0NP3nxnywdpozqSAeq6236qlhE9BT9eiyJ41V9sMelYFEWMlUAltR40NdbIrHB0J3nmfuLJz44/sTwWf6P1khOy//XX0="}],"legacy":false}

create_npc_custom_disguise.jpg


customModel

Legt das ModelEngine-Modell fest, das der NPC verwendet.

KeyWerteStandard
customModelStringkeiner
Beispiel
customModel: MY_MODEL_ONE

arena

Legt den Dateinamen der Arena fest, für die der NPC ein Menü öffnet (erfordert den interactionType ARENA_MASTER).

KeyWerteStandard
arenaFilenamekeiner
Beispiel
arena: my_arena.yml

command

Legt den Befehl fest, den der NPC ausführt (erfordert den interactionType COMMAND). Befehle werden als der Spieler ausgeführt, nicht als die Konsole. Füge den führenden Schrägstrich (/) nicht hinzu.

KeyWerteStandard
commandStringkeiner
Beispiel
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Legt den Spawn-Ort der NPCs fest. Du solltest dies über den Befehl /em place npc <npcfilename.yml> festlegen.

KeyWerteStandard
spawnLocationStringkeiner
Beispiel
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Legt die Spawn-Orte der NPCs fest. Du solltest dies über den Befehl /em place npc <npcfilename.yml> festlegen.

KeyWerteStandard
spawnLocationsString-Listekeiner
Beispiel
spawnLocations: 
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

Legt fest, ob der NPC instanziert werden soll (zur Verwendung in instanzierten Dungeons). Wenn auf true gesetzt, wird der NPC automatisch für jede Dungeon-Instanz geklont, wobei jeder Klon in der entsprechenden Instanz-Welt existiert.

KeyWerteStandard
instancedBooleanfalse
Beispiel
instanced: false

syncMovement

Legt fest, ob die Bewegung des NPCs synchronisiert werden soll. Wird verwendet, um zu steuern, ob die Positionsaktualisierungen des NPCs synchronisiert werden.

KeyWerteStandard
syncMovementBooleantrue
Beispiel
syncMovement: true

NPC-Konfigurationsbeispiel
isEnabled: true
name: "&cRed Rubin"
role: "&a<Generic NPC>"
profession: NITWIT
greetings:
- Hiya!
- Hello!
dialog:
- Great conversation!
- Pleasure talking with you!
farewell:
- Goodbye!
- Laters!
canTalk: true
activationRadius: 4
interactionType: CHAT
timeout: 0
questFileName:
- my_quest.yml #npc interactionType must be set to CUSTOM_QUEST_GIVER
disguise: SKELETON
customDisguiseData: #used when a custom libsdisguise is being set
customModel: MODEL_ONE
arena: my_arena.yml #npc interactionType must be set to ARENA_MASTER
command: say Hello World! #npc interactionType must be set to COMMAND (do not include the leading slash)
spawnLocation: my_world,584,55,127,90,10 #remember that NPCs use pitch and yaw to set where they are looking at. this is also automatically set when running the /em place npc <npcfilename.yml> command, so make sure you pose where you want the NPC to be facing when running the command.

create_npc_npc.jpg


Speziell [1]

Im Folgenden findest du die Liste der gültigen NPC-Interaktionstypen:

TypBeschreibung
GUILD_GREETERÖffnet das Auswahlmenü für den Waffen-Skill-Bonus
CHATRechtsklick wechselt durch den dialog
CUSTOM_SHOPÖffnet das benutzerdefinierte Shop-Menü
PROCEDURALLY_GENERATED_SHOPÖffnet den prozedural generierten Shop
BARNicht implementiert. Teilt dem Spieler mit, dass das Feature bald verfügbar ist.
ARENATut nichts. Verwende stattdessen ARENA_MASTER.
QUEST_GIVERÖffnet das Menü der prozedural generierten Quests
CUSTOM_QUEST_GIVERÖffnet das Quest-Menü für eine bestimmte Quest, die in questFileName festgelegt ist
NONEKeine Interaktionen
SELLÖffnet das Verkaufsmenü
TELEPORT_BACKTeleportiert Spieler zurück zum letzten Nicht-EliteMobs-Welt-Standort, an dem sie waren
SCRAPPERÖffnet das Verschrottungsmenü
REPAIRMANÖffnet das Reparaturmenü
ENCHANTERÖffnet das Verzauberungsmenü
REFINERERSETZT - Teilt dem Spieler mit, dass das Feature ersetzt wurde; Administratoren wird geraten, den NPC zu entfernen
SMELTERERSETZT - Teilt dem Spieler mit, dass das Feature ersetzt wurde; Administratoren wird geraten, den NPC zu entfernen
ENHANCERERSETZT - Teilt dem Spieler mit, dass das Feature ersetzt wurde; Administratoren wird geraten, den NPC zu entfernen
UNBINDERÖffnet das Entbindungsmenü
ARENA_MASTERÖffnet das Arena-Menü für die in arena festgelegte Arena
COMMANDFührt den in command festgelegten Befehl aus
SCROLL_APPLIERWendet Elite-Gegenstands-Schriftrollen auf Gegenstände an
ARROW_SHOPÖffnet das Pfeil-Shop-Menü
GAMBLING_BLACKJACKÖffnet das Blackjack-Glücksspiel
GAMBLING_COINFLIPÖffnet das Münzwurf-Glücksspiel
GAMBLING_SLOTSÖffnet das Slots-Glücksspiel
GAMBLING_HIGHERLOWERÖffnet das Höher/Tiefer-Glücksspiel

Weitere Informationen darüber, was die Interaktionstypen SCRAPPER und ähnliche bewirken, findest du hier.

Hinweise zum NPC-Verhalten

NPCs haben mehrere fest codierte Verhaltensweisen, die nicht konfiguriert werden können:

  • KI deaktiviert: NPCs können sich nicht autonom bewegen. Sie bleiben an ihrem Spawn-Ort.
  • Rollenanzeige: Der Rollentext wird auf einem unsichtbaren Rüstungsständer in einer festen Höhe über dem NPC angezeigt.
  • Dialog-Cooldown: NPCs warten 3 Sekunden zwischen Sprechereignissen, um sich überschneidende Nachrichten zu verhindern.
  • Chunk-Lebenszyklus: NPCs despawnen, wenn ihr Chunk entladen wird, und respawnen, wenn er neu geladen wird.