Aller au contenu principal

Creer des NPCs

webapp_banner.jpg

Parametres de configuration

isEnabled

Definit si un NPC est active.

CleValeursPar defaut
isEnabledBooleantrue
Exemple
isEnabled: true

name

Definit le nom d'affichage d'un NPC. Supporte les codes de couleur et les cles de traduction pour les serveurs multilingues.

CleValeursPar defaut
nameStringnone
Exemple
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Definit l'echelle (taille) du NPC.

CleValeursPar defaut
scaleMultiplier1.0

Lors de la mise a l'echelle, 1.0 represente la taille par defaut. Pour agrandir l'entite, augmentez la valeur (par ex., 1.2). Pour la reduire, diminuez la valeur (par ex., 0.8).

Exemple
scale: 1.2

role

Definit le role du NPC, affiche sous le nom. Purement visuel. Supporte les codes de couleur et les cles de traduction pour les serveurs multilingues.

CleValeursPar defaut
roleStringnone
Exemple
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Definit la profession du NPC, qui determine son apparence lorsqu'aucun deguisement n'est utilise.

CleValeursPar defaut
professionProfessionNITWIT
Exemple
profession: NITWIT

create_npc_profession.jpg


greetings

Definit la liste des salutations que le NPC dit lorsqu'un joueur s'approche. Supporte les cles de traduction pour les serveurs multilingues.

CleValeursPar defaut
greetingsString Listnone
Exemple
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Definit le dialogue que le NPC dira pendant qu'un joueur est a proximite (dans le cas du DIALOG interactionType, ce serait le dialogue). Supporte les cles de traduction pour les serveurs multilingues.

CleValeursPar defaut
dialogString Listnone
Exemple
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

Definit le message d'adieu du NPC. Supporte les cles de traduction pour les serveurs multilingues.

CleValeursPar defaut
farewellString Listnone
Exemple
farewell:
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Definit si le NPC peut parler.

CleValeursPar defaut
canTalkBooleantrue
Exemple
canTalk: true

activationRadius

Definit le rayon dans lequel un NPC peut detecter un joueur qui s'approche.

CleValeursPar defaut
activationRadiusDouble3.0
Exemple
activationRadius: 3.0

interactionType

Definit le type d'interaction que le NPC effectuera.

CleValeursPar defaut
interactionTypeSpecial [1]none
Exemple
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Lorsqu'un NPC Teleporteur n'a pas d'emplacement precedent vers lequel teleporter un joueur, il affichera ce message. Accepte les codes de couleur et les cles de traduction pour les serveurs multilingues.

CleValeursPar defaut
noPreviousLocationMessageStringnone
Exemple
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

create_npc_noteleportlocation.jpg


timeout

Definit le temps, en minutes, avant qu'un NPC ne disparaisse definitivement.

CleValeursPar defaut
timeoutDouble0 (jamais)
Exemple
timeout: 0

questFileName

Definit les quetes que le NPC donne.

CleValeursPar defaut
questFileNameString Listnone
Exemple
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Definit le deguisement LibsDisguises du NPC.

CleValeursPar defaut
disguiseLibsDisguises formatnone
Exemple
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Definit les donnees pour un deguisement LibsDisguises personnalise.

CleValeursPar defaut
customDisguiseDataLibsDisguises formatnone
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

Definit le modele personnalise ModelEngine que le NPC utilisera.

CleValeursPar defaut
customModelStringnone
Exemple
customModel: MY_MODEL_ONE

arena

Definit le nom de fichier de l'arene pour laquelle le NPC ouvrira un menu (necessite le interactionType ARENA_MASTER).

CleValeursPar defaut
arenaFilenamenone
Exemple
arena: my_arena.yml

command

Definit la commande que le NPC executera (necessite le interactionType COMMAND). Les commandes sont executees en tant que joueur, pas en tant que console. Ne pas inclure la barre oblique (/) au debut.

CleValeursPar defaut
commandStringnone
Exemple
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Definit l'emplacement d'apparition des NPCs. Vous devriez le configurer via la commande /em spawnnpc <npcfilename.yml>.

CleValeursPar defaut
spawnLocationStringnone
Exemple
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Definit les emplacements d'apparition des NPCs. Vous devriez les configurer via la commande /em spawnnpc <npcfilename.yml>.

CleValeursPar defaut
spawnLocationsString Listnone
Exemple
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

Definit si le NPC doit etre instance (pour une utilisation dans des donjons instances). Lorsque defini sur true, le NPC est automatiquement clone pour chaque instance de donjon, chaque clone existant dans le monde d'instance correspondant.

CleValeursPar defaut
instancedBooleanfalse
Exemple
instanced: false

syncMovement

Definit si le mouvement du NPC doit etre synchronise. Utilise pour controler si les mises a jour de position du NPC sont synchronisees.

CleValeursPar defaut
syncMovementBooleanfalse
Exemple
syncMovement: false

Exemple de configuration de 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 selection de bonus de competence d'arme
CHATUn clic droit fait defiler le dialog
CUSTOM_SHOPOuvre le menu de la boutique personnalisee
PROCEDURALLY_GENERATED_SHOPOuvre la boutique generee proceduralement
BAROuvre le menu du bar
ARENANe fait rien. Utilisez ARENA_MASTER a la place.
QUEST_GIVEROuvre le menu des quetes generees proceduralement
CUSTOM_QUEST_GIVEROuvre le menu de quetes pour un ensemble specifique dans questFileName
NONEAucune interaction
SELLOuvre le menu de vente
TELEPORT_BACKTeleporte les joueurs a leur dernier emplacement dans un monde non-elitemobs
SCRAPPEROuvre le menu de mise au rebut
REPAIRMANOuvre le menu de reparation
ENCHANTEROuvre le menu d'enchantement
REFINEROBSOLETE - Fonctionnalite supprimee, ne pas utiliser
SMELTEROBSOLETE - Fonctionnalite supprimee, ne pas utiliser
ENHANCEROBSOLETE - Fonctionnalite supprimee, ne pas utiliser
UNBINDEROuvre le menu de deliaison
ARENA_MASTEROuvre le menu d'arene pour l'arene definie dans arenaFilename
COMMANDExecute la commande definie dans command
SCROLL_APPLIERApplique des parchemins d'objets elite aux objets
ARROW_SHOPOuvre le menu de la boutique de fleches
GAMBLING_BLACKJACKOuvre le jeu de hasard blackjack
GAMBLING_COINFLIPOuvre le jeu de hasard pile ou face
GAMBLING_SLOTSOuvre le jeu de hasard machine a sous
GAMBLING_HIGHERLOWEROuvre le jeu de hasard plus haut/plus bas

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 codes en dur qui ne peuvent pas etre configures :

  • IA desactivee : Les NPCs ne peuvent pas se deplacer de maniere autonome. Ils restent a leur point d'apparition.
  • Affichage du role : Le texte du role est affiche sur un support d'armure invisible au-dessus du NPC a une hauteur fixe.
  • Temps de recharge du dialogue : Les NPCs attendent 3 secondes entre les evenements de parole pour eviter les messages superposes.
  • Cycle de vie du chunk : Les NPCs disparaissent lorsque leur chunk est decharge et reapparaissent lorsqu'il est recharge.