Pular para o conteúdo principal

Criando NPCs

webapp_banner.jpg

Configurações

isEnabled

Define se um NPC está ativado.

ChaveValoresPadrão
isEnabledBooleantrue
Exemplo
isEnabled: true

name

Define o nome de exibição de um NPC. Suporta Códigos de Cor e chaves de tradução para servidores multi-idioma.

ChaveValoresPadrão
nameStringnone
Exemplo
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Define a escala (tamanho) do NPC.

ChaveValoresPadrão
scaleMultiplier1.0

Ao escalar, 1.0 representa o tamanho padrão. Para tornar a entidade maior, aumente o valor (ex: 1.2). Para tornar a entidade menor, diminua o valor (ex: 0.8).

Exemplo
scale: 1.2

role

Define a função do NPC, abaixo do nome. Apenas visual. Suporta Códigos de Cor e chaves de tradução para servidores multi-idioma.

ChaveValoresPadrão
roleStringnone
Exemplo
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Define a profissão do NPC, que define sua aparência quando não está usando um disfarce.

ChaveValoresPadrão
professionProfessionNITWIT
Exemplo
profession: NITWIT

create_npc_profession.jpg


greetings

Define a lista de saudações que o NPC diz quando um jogador se aproxima. Suporta chaves de tradução para servidores multi-idioma.

ChaveValoresPadrão
greetingsString Listnone
Exemplo
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Define o diálogo que o NPC dirá enquanto um jogador estiver por perto (No caso do DIALOG interactionType, este seria o diálogo). Suporta chaves de tradução para servidores multi-idioma.

ChaveValoresPadrão
dialogString Listnone
Exemplo
dialog:
- I like apples!
- Sure is hot.

create_npc_dialog.jpg


farewell

Define a mensagem de despedida do NPC. Suporta chaves de tradução para servidores multi-idioma.

ChaveValoresPadrão
farewellString Listnone
Exemplo
farewell:
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Define se o NPC pode falar.

ChaveValoresPadrão
canTalkBooleantrue
Exemplo
canTalk: true

activationRadius

Define o raio no qual um NPC pode detectar um jogador se aproximando.

ChaveValoresPadrão
activationRadiusDouble3.0
Exemplo
activationRadius: 3.0

interactionType

Define o tipo de interação que o NPC fará.

ChaveValoresPadrão
interactionTypeSpecial [1]none
Exemplo
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Quando um NPC Teleportador não tem uma localização anterior para a qual possa teletransportar um jogador, ele exibirá esta mensagem. Aceita Códigos de Cor e chaves de tradução para servidores multi-idioma.

ChaveValoresPadrão
noPreviousLocationMessageStringnone
Exemplo
noPreviousLocationMessage: '&8[EliteMobs] &cCouldn''t send you back to your previous location - no previous location found!'

create_npc_noteleportlocation.jpg


timeout

Define a quantidade de tempo, em minutos, antes de um NPC desaparecer permanentemente.

ChaveValoresPadrão
timeoutInteger0 (nunca)
Exemplo
timeout: 0

questFileName

Define as missões que o NPC oferece.

ChaveValoresPadrão
questFileNameString Listnone
Exemplo
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Define o disfarce LibsDisguises que o NPC possui.

ChaveValoresPadrão
disguiseLibsDisguises formatnone
Exemplo
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Define os dados para um disfarce LibsDisguises personalizado.

ChaveValoresPadrão
customDisguiseDataLibsDisguises formatnone
Exemplo
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

Define o modelo personalizado ModelEngine que o NPC usará.

ChaveValoresPadrão
customModelStringnone
Exemplo
customModel: MY_MODEL_ONE

arena

Define o nome do arquivo da arena para a qual o NPC abrirá um menu (requer o ARENA_MASTER interactionType).

ChaveValoresPadrão
arenaFilenamenone
Exemplo
arena: my_arena.yml

command

Define o comando que o NPC executará (requer COMMAND interactionType). Os comandos são executados como comandos de console, não como o jogador. Não inclua a barra inicial (/).

ChaveValoresPadrão
commandStringnone
Exemplo
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Define a localização de spawn dos NPCs. Você deve configurar isso através do comando /em spawnnpc <npcfilename.yml>.

ChaveValoresPadrão
spawnLocationStringnone
Exemplo
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Define as localizações de spawn dos NPCs. Você deve configurar isso através do comando /em spawnnpc <npcfilename.yml>.

ChaveValoresPadrão
spawnLocationsString Listnone
Exemplo
spawnLocations:
- my_world,10,50,10,0,0
- my_world,-10,50,-10,0,0

instanced

Define se o NPC deve ser instanciado (para uso em dungeons instanciadas). Quando definido como true, o NPC é automaticamente clonado para cada instância de dungeon, com cada clone existindo no mundo de instância correspondente.

ChaveValoresPadrão
instancedBooleanfalse
Exemplo
instanced: false

Exemplo de Configuração 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]

A seguir está a lista de tipos de interação de NPC válidos:

TipoDescrição
GUILD_GREETERAbre o menu da guilda de aventureiros
CHATClicar com o botão direito percorre o dialog
CUSTOM_SHOPAbre o menu de loja personalizada
PROCEDURALLY_GENERATED_SHOPAbre a loja gerada proceduralmente
BARAbre o menu do bar
ARENAAbre o menu da arena
QUEST_GIVERAbre o menu de missões geradas proceduralmente
CUSTOM_QUEST_GIVERAbre o menu de missão para uma missão específica definida em questFileName
NONESem interações
SELLAbre o menu de venda
TELEPORT_BACKTeletransporta jogadores de volta para a última localização de mundo não-elitemobs em que estavam
SCRAPPERAbre o menu de sucata
REPAIRMANAbre o menu de reparo
ENCHANTERAbre o menu de encantamento
REFINERDESCONTINUADO - Recurso removido, não use
UNBINDERAbre o menu de desvincular
ARENA_MASTERAbre o menu de arena para a arena definida em arenaFilename
COMMANDExecuta o comando definido em command
SCROLL_APPLIERAplica pergaminhos de itens elite aos itens

Para mais informações sobre o que os tipos de interação SCRAPPER e similares fazem, clique aqui.

Notas sobre Comportamento de NPCs

Os NPCs têm vários comportamentos codificados que não podem ser configurados:

  • IA Desabilitada: Os NPCs não podem se mover autonomamente. Eles permanecem na localização de spawn.
  • Exibição de Função: O texto da função é exibido em um suporte de armadura invisível acima do NPC em uma altura fixa.
  • Tempo de Recarga de Diálogo: Os NPCs esperam 3 segundos entre eventos de fala para evitar mensagens sobrepostas.
  • Ciclo de Vida do Chunk: Os NPCs desaparecem quando seu chunk é descarregado e reaparecem quando é recarregado.