Saltar al contenido principal

Crear NPCs

webapp_banner.jpg

Ajustes de configuracion

isEnabled

Establece si un NPC esta habilitado.

ClaveValoresPredeterminado
isEnabledBooleantrue
Ejemplo
isEnabled: true

name

Establece el nombre visible de un NPC. Soporta codigos de color y claves de traduccion para servidores multilingues.

ClaveValoresPredeterminado
nameStringnone
Ejemplo
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Establece la escala (tamano) del NPC.

ClaveValoresPredeterminado
scaleMultiplier1.0

Al escalar, 1.0 representa el tamano predeterminado. Para hacer la entidad mas grande, aumente el valor (p. ej., 1.2). Para hacerla mas pequena, disminuya el valor (p. ej., 0.8).

Ejemplo
scale: 1.2

role

Establece el rol del NPC, mostrado debajo del nombre. Solo visual. Soporta codigos de color y claves de traduccion para servidores multilingues.

ClaveValoresPredeterminado
roleStringnone
Ejemplo
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Establece la profesion del NPC, que determina su apariencia cuando no se usa un disfraz.

ClaveValoresPredeterminado
professionProfessionNITWIT
Ejemplo
profession: NITWIT

create_npc_profession.jpg


greetings

Establece la lista de saludos que dice el NPC cuando un jugador se acerca. Soporta claves de traduccion para servidores multilingues.

ClaveValoresPredeterminado
greetingsString Listnone
Ejemplo
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Establece el dialogo que el NPC dira mientras un jugador esta cerca (en el caso del DIALOG interactionType, este seria el dialogo). Soporta claves de traduccion para servidores multilingues.

ClaveValoresPredeterminado
dialogString Listnone
Ejemplo
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

Establece el mensaje de despedida del NPC. Soporta claves de traduccion para servidores multilingues.

ClaveValoresPredeterminado
farewellString Listnone
Ejemplo
farewell:
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Establece si el NPC puede hablar.

ClaveValoresPredeterminado
canTalkBooleantrue
Ejemplo
canTalk: true

activationRadius

Establece el radio en el que un NPC puede detectar a un jugador que se acerca.

ClaveValoresPredeterminado
activationRadiusDouble3.0
Ejemplo
activationRadius: 3.0

interactionType

Establece el tipo de interaccion que realizara el NPC.

ClaveValoresPredeterminado
interactionTypeSpecial [1]none
Ejemplo
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Cuando un NPC Teletransportador no tiene una ubicacion anterior a la que teletransportar a un jugador, mostrara este mensaje. Acepta codigos de color y claves de traduccion para servidores multilingues.

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

create_npc_noteleportlocation.jpg


timeout

Establece la cantidad de tiempo, en minutos, antes de que un NPC desaparezca permanentemente.

ClaveValoresPredeterminado
timeoutDouble0 (nunca)
Ejemplo
timeout: 0

questFileName

Establece las misiones que otorga el NPC.

ClaveValoresPredeterminado
questFileNameString Listnone
Ejemplo
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Establece el disfraz de LibsDisguises del NPC.

ClaveValoresPredeterminado
disguiseLibsDisguises formatnone
Ejemplo
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Establece los datos para un disfraz personalizado de LibsDisguises.

ClaveValoresPredeterminado
customDisguiseDataLibsDisguises formatnone
Ejemplo
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

Establece el modelo personalizado de ModelEngine que usara el NPC.

ClaveValoresPredeterminado
customModelStringnone
Ejemplo
customModel: MY_MODEL_ONE

arena

Establece el nombre de archivo de la arena para la que el NPC abrira un menu (requiere el interactionType ARENA_MASTER).

ClaveValoresPredeterminado
arenaFilenamenone
Ejemplo
arena: my_arena.yml

command

Establece el comando que ejecutara el NPC (requiere interactionType COMMAND). Los comandos se ejecutan como el jugador, no como la consola. No incluir la barra diagonal inicial (/).

ClaveValoresPredeterminado
commandStringnone
Ejemplo
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Establece la ubicacion de aparicion de los NPCs. Debe configurarse mediante el comando /em spawnnpc <npcfilename.yml>.

ClaveValoresPredeterminado
spawnLocationStringnone
Ejemplo
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Establece las ubicaciones de aparicion de los NPCs. Debe configurarse mediante el comando /em spawnnpc <npcfilename.yml>.

ClaveValoresPredeterminado
spawnLocationsString Listnone
Ejemplo
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

Establece si el NPC debe ser instanciado (para uso en mazmorras instanciadas). Cuando se establece en true, el NPC se clona automaticamente para cada instancia de mazmorra, existiendo cada clon en el mundo de instancia correspondiente.

ClaveValoresPredeterminado
instancedBooleanfalse
Ejemplo
instanced: false

syncMovement

Establece si el NPC debe tener su movimiento sincronizado. Se usa para controlar si las actualizaciones de posicion del NPC estan sincronizadas.

ClaveValoresPredeterminado
syncMovementBooleanfalse
Ejemplo
syncMovement: false

Ejemplo de configuracion 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]

La siguiente es la lista de tipos de interaccion de NPC validos:

TipoDescripcion
GUILD_GREETERAbre el menu de seleccion de bonificacion de habilidad de arma
CHATClic derecho recorre el dialog
CUSTOM_SHOPAbre el menu de la tienda personalizada
PROCEDURALLY_GENERATED_SHOPAbre la tienda generada proceduralmente
BARAbre el menu del bar
ARENANo hace nada. Use ARENA_MASTER en su lugar.
QUEST_GIVERAbre el menu de misiones generadas proceduralmente
CUSTOM_QUEST_GIVERAbre el menu de misiones para un conjunto especifico en questFileName
NONESin interacciones
SELLAbre el menu de venta
TELEPORT_BACKTeletransporta a los jugadores a la ultima ubicacion de mundo no-elitemobs
SCRAPPERAbre el menu de desguace
REPAIRMANAbre el menu de reparacion
ENCHANTERAbre el menu de encantamiento
REFINEROBSOLETO - Funcion eliminada, no usar
SMELTEROBSOLETO - Funcion eliminada, no usar
ENHANCEROBSOLETO - Funcion eliminada, no usar
UNBINDERAbre el menu de desvinculacion
ARENA_MASTERAbre el menu de arena para la arena establecida en arenaFilename
COMMANDEjecuta el comando establecido en command
SCROLL_APPLIERAplica pergaminos de objetos elite a objetos
ARROW_SHOPAbre el menu de la tienda de flechas
GAMBLING_BLACKJACKAbre el juego de apuestas de blackjack
GAMBLING_COINFLIPAbre el juego de lanzamiento de moneda
GAMBLING_SLOTSAbre el juego de tragamonedas
GAMBLING_HIGHERLOWERAbre el juego de mayor/menor

Para mas informacion sobre lo que hacen SCRAPPER y tipos de interaccion similares, haga clic aqui.

Notas sobre el comportamiento de los NPCs

Los NPCs tienen varios comportamientos codificados que no se pueden configurar:

  • IA desactivada: Los NPCs no pueden moverse autonomamente. Permanecen en su ubicacion de aparicion.
  • Visualizacion de rol: El texto del rol se muestra en un soporte de armadura invisible sobre el NPC a una altura fija.
  • Tiempo de espera de dialogo: Los NPCs esperan 3 segundos entre eventos de habla para evitar mensajes superpuestos.
  • Ciclo de vida del chunk: Los NPCs desaparecen cuando su chunk se descarga y reaparecen cuando se recarga.