Aller au contenu principal

Créer des NPCs

webapp_banner.jpg

Paramètres de configuration

isEnabled

Définit si un NPC est activé.

CléValeursDéfaut
isEnabledBooleantrue
Exemple
isEnabled: true

name

Définit le nom d'affichage d'un NPC. Supporte les Color Codes et les clés de traduction pour les serveurs multilingues.

CléValeursDéfaut
nameStringaucune
Exemple
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Définit l'échelle (taille) du NPC.

CléValeursDéfaut
scaleMultiplier1.0

Lors de la mise à l'échelle, 1.0 représente la taille par défaut. Pour agrandir l'entité, augmentez la valeur (par exemple, 1.2). Pour réduire l'entité, diminuez la valeur (par exemple, 0.8).

Exemple
scale: 1.2

role

Définit le rôle du NPC, sous le nom. Visuel uniquement. Supporte les Color Codes et les clés de traduction pour les serveurs multilingues.

CléValeursDéfaut
roleStringaucune
Exemple
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Définit la profession du NPC, qui détermine son apparence lorsqu'il n'utilise pas de déguisement.

CléValeursDéfaut
professionProfessionNITWIT
Exemple
profession: NITWIT

create_npc_profession.jpg


greetings

Définit la liste des salutations que le NPC prononce lorsqu'un joueur s'approche. Supporte les clés de traduction pour les serveurs multilingues.

CléValeursDéfaut
greetingsString Listaucune
Exemple
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Définit le dialogue que le NPC dira lorsqu'un joueur est à proximité (Dans le cas du DIALOG interactionType, ce serait le dialogue). Supporte les clés de traduction pour les serveurs multilingues.

CléValeursDéfaut
dialogString Listaucune
Exemple
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

Définit le message d'adieu du NPC. Supporte les clés de traduction pour les serveurs multilingues.

CléValeursDéfaut
farewellString Listaucune
Exemple
farewell:
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Définit si le NPC peut parler.

CléValeursDéfaut
canTalkBooleantrue
Exemple
canTalk: true

activationRadius

Définit le rayon dans lequel un NPC peut détecter l'approche d'un joueur.

CléValeursDéfaut
activationRadiusDouble3.0
Exemple
activationRadius: 3.0

interactionType

Définit le type d'interaction que le NPC effectuera.

CléValeursDéfaut
interactionTypeSpecial [1]aucune
Exemple
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Lorsqu'un NPC Téléporteur n'a pas d'emplacement précédent vers lequel il peut téléporter un joueur, il affichera ce message. Accepte les Color Codes et les clés de traduction pour les serveurs multilingues

CléValeursDéfaut
noPreviousLocationMessageStringaucune
Exemple
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

create_npc_noteleportlocation.jpg


timeout

Définit le temps, en minutes, avant qu'un NPC ne disparaisse définitivement.

CléValeursDéfaut
timeoutInteger0 (jamais)
Exemple
timeout: 0

questFileName

Définit les quêtes que le NPC donne.

CléValeursDéfaut
questFileNameString Listaucune
Exemple
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Définit le déguisement LibsDisguises du NPC.

CléValeursDéfaut
disguiseLibsDisguises formataucune
Exemple
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Définit les données d'un déguisement LibsDisguises personnalisé.

CléValeursDéfaut
customDisguiseDataLibsDisguises formataucune
Exemple
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

Définit le modèle personnalisé ModelEngine que le NPC utilisera.

CléValeursDéfaut
customModelStringaucune
Exemple
customModel: MY_MODEL_ONE

arena

Définit le nom de fichier de l'arène pour laquelle le NPC ouvrira un menu (nécessite le ARENA_MASTER interactionType).

CléValeursDéfaut
arenaFilenameaucune
Exemple
arena: my_arena.yml

command

Définit la commande que le NPC exécutera (nécessite le COMMAND interactionType). Les commandes sont exécutées en tant que commandes console, et non en tant que joueur. N'incluez pas la barre oblique (/) au début.

CléValeursDéfaut
commandStringaucune
Exemple
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Définit l'emplacement d'apparition des NPCs. Vous devez définir cela via la commande /em spawnnpc <npcfilename.yml>.

CléValeursDéfaut
spawnLocationStringaucune
Exemple
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Définit les emplacements d'apparition des NPCs. Vous devez définir cela via la commande /em spawnnpc <npcfilename.yml>.

CléValeursDéfaut
spawnLocationsString Listaucune
Exemple
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

Définit si le NPC doit être instancié (pour une utilisation dans des donjons instanciés). Lorsque défini sur true, le NPC est automatiquement cloné pour chaque instance de donjon, chaque clone existant dans le monde d'instance correspondant.

CléValeursDéfaut
instancedBooleanfalse
Exemple
instanced: false

Exemple de configuration NPC
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
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 spawnnpc <npcfilename.yml> command, so make sure you pose where you want the NPC to be facing when running the command.

create_npc_npc.jpg


Special [1]

Voici la liste des types d'interaction NPC valides :

TypeDescription
GUILD_GREETEROuvre le menu de la guilde des aventuriers
CHATLe clic droit parcourt le dialog
CUSTOM_SHOPOuvre le menu de la boutique personnalisée
PROCEDURALLY_GENERATED_SHOPOuvre la boutique générée de manière procédurale
BAROuvre le menu du bar
ARENAOuvre le menu de l'arène
QUEST_GIVEROuvre le menu des quêtes générées de manière procédurale
CUSTOM_QUEST_GIVEROuvre le menu de quête pour une quête spécifique définie dans questFileName
NONEAucune interaction
SELLOuvre le menu de vente
TELEPORT_BACKTéléporte les joueurs à leur dernier emplacement dans un monde non-elitemobs
SCRAPPEROuvre le menu de récupération
REPAIRMANOuvre le menu de réparation
ENCHANTEROuvre le menu d'enchantement
REFINEROBSOLÈTE - Fonctionnalité supprimée, ne pas utiliser
UNBINDEROuvre le menu de déliaison
ARENA_MASTEROuvre le menu de l'arène pour l'arène définie dans arenaFilename
COMMANDExécute la commande définie dans command
SCROLL_APPLIERApplique les parchemins d'objets élite aux objets

Pour plus d'informations sur ce que font SCRAPPER et les types d'interaction similaires, cliquez ici.

Notes sur le comportement des NPCs

Les NPCs ont plusieurs comportements codés en dur qui ne peuvent pas être configurés :

  • IA désactivée : Les NPCs ne peuvent pas se déplacer de manière autonome. Ils restent à leur emplacement d'apparition.
  • Affichage du rôle : Le texte du rôle est affiché sur un support d'armure invisible au-dessus du NPC à une hauteur fixe.
  • Délai de dialogue : Les NPCs attendent 3 secondes entre les événements de parole pour éviter les messages qui se chevauchent.
  • Cycle de vie des chunks : Les NPCs disparaissent lorsque leur chunk se décharge et réapparaissent lorsqu'il se recharge.