Pular para o conteúdo principal

Criar NPCs

webapp_banner.jpg

Definicoes de configuracao

isEnabled

Define se um NPC esta ativado.

ChaveValoresPadrao
isEnabledBooleantrue
Exemplo
isEnabled: true

name

Define o nome de exibicao de um NPC. Suporta codigos de cor e chaves de traducao para servidores multilinguisticos.

ChaveValoresPadrao
nameStringnone
Exemplo
name: "&aEnn Peecee"

create_npc_name.jpg


scale

Define a escala (tamanho) do NPC.

ChaveValoresPadrao
scaleMultiplier1.0

Ao escalar, 1.0 representa o tamanho padrao. Para tornar a entidade maior, aumente o valor (ex.: 1.2). Para torna-la menor, diminua o valor (ex.: 0.8).

Exemplo
scale: 1.2

role

Define o papel do NPC, exibido abaixo do nome. Apenas visual. Suporta codigos de cor e chaves de traducao para servidores multilinguisticos.

ChaveValoresPadrao
roleStringnone
Exemplo
role: "&c<Red Fellow>"

create_npc_role.jpg


profession

Define a profissao do NPC, que determina sua aparencia quando nao esta usando um disfarce.

ChaveValoresPadrao
professionProfessionNITWIT
Exemplo
profession: NITWIT

create_npc_profession.jpg


greetings

Define a lista de saudacoes que o NPC diz quando um jogador se aproxima. Suporta chaves de traducao para servidores multilinguisticos.

ChaveValoresPadrao
greetingsString Listnone
Exemplo
greetings:
- Hi there!
- Good day.

create_npc_greetings.jpg


dialog

Define o dialogo que o NPC dira enquanto um jogador estiver por perto (no caso do DIALOG interactionType, este seria o dialogo). Suporta chaves de traducao para servidores multilinguisticos.

ChaveValoresPadrao
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 traducao para servidores multilinguisticos.

ChaveValoresPadrao
farewellString Listnone
Exemplo
farewell:
- Until next time!
- Bye!

create_npc_farewell.jpg


canTalk

Define se o NPC pode falar.

ChaveValoresPadrao
canTalkBooleantrue
Exemplo
canTalk: true

activationRadius

Define o raio em que um NPC pode detectar um jogador se aproximando.

ChaveValoresPadrao
activationRadiusDouble3.0
Exemplo
activationRadius: 3.0

interactionType

Define o tipo de interacao que o NPC realizara.

ChaveValoresPadrao
interactionTypeSpecial [1]none
Exemplo
interactionType: TELEPORT_BACK

noPreviousLocationMessage

Quando um NPC Teletransportador nao tem uma localizacao anterior para a qual teletransportar um jogador, ele exibira esta mensagem. Aceita codigos de cor e chaves de traducao para servidores multilinguisticos.

ChaveValoresPadrao
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.

ChaveValoresPadrao
timeoutDouble0 (nunca)
Exemplo
timeout: 0

questFileName

Define as missoes que o NPC oferece.

ChaveValoresPadrao
questFileNameString Listnone
Exemplo
questFileName:
- my_quest_one.yml
- my_quest_two.yml

disguise

Define o disfarce LibsDisguises do NPC.

ChaveValoresPadrao
disguiseLibsDisguises formatnone
Exemplo
disguise: SKELETON

create_npc_disguise.jpg


customDisguiseData

Define os dados para um disfarce LibsDisguises personalizado.

ChaveValoresPadrao
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 do ModelEngine que o NPC usara.

ChaveValoresPadrao
customModelStringnone
Exemplo
customModel: MY_MODEL_ONE

arena

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

ChaveValoresPadrao
arenaFilenamenone
Exemplo
arena: my_arena.yml

command

Define o comando que o NPC executara (requer interactionType COMMAND). Os comandos sao executados como o jogador, nao como o console. Nao inclua a barra inicial (/).

ChaveValoresPadrao
commandStringnone
Exemplo
command: say Look at me running a command, how cool!

create_npc_command.jpg


spawnLocation

Define a localizacao de aparecimento dos NPCs. Deve ser configurado atraves do comando /em spawnnpc <npcfilename.yml>.

ChaveValoresPadrao
spawnLocationStringnone
Exemplo
spawnLocation: my_world,10,50,10,0,0

spawnLocations

Define as localizacoes de aparecimento dos NPCs. Deve ser configurado atraves do comando /em spawnnpc <npcfilename.yml>.

ChaveValoresPadrao
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 masmorras instanciadas). Quando definido como true, o NPC e automaticamente clonado para cada instancia de masmorra, com cada clone existindo no mundo de instancia correspondente.

ChaveValoresPadrao
instancedBooleanfalse
Exemplo
instanced: false

syncMovement

Define se o NPC deve ter seu movimento sincronizado. Usado para controlar se as atualizacoes de posicao do NPC sao sincronizadas.

ChaveValoresPadrao
syncMovementBooleanfalse
Exemplo
syncMovement: false

Exemplo de configuracao 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 esta a lista de tipos de interacao de NPC validos:

TipoDescricao
GUILD_GREETERAbre o menu de selecao de bonus de habilidade de arma
CHATClique direito percorre o dialog
CUSTOM_SHOPAbre o menu da loja personalizada
PROCEDURALLY_GENERATED_SHOPAbre a loja gerada proceduralmente
BARAbre o menu do bar
ARENANao faz nada. Use ARENA_MASTER em vez disso.
QUEST_GIVERAbre o menu de missoes geradas proceduralmente
CUSTOM_QUEST_GIVERAbre o menu de missoes para um conjunto especifico em questFileName
NONESem interacoes
SELLAbre o menu de venda
TELEPORT_BACKTeletransporta jogadores para a ultima localizacao em mundo nao-elitemobs
SCRAPPERAbre o menu de sucata
REPAIRMANAbre o menu de reparo
ENCHANTERAbre o menu de encantamento
REFINEROBSOLETO - Funcionalidade removida, nao usar
SMELTEROBSOLETO - Funcionalidade removida, nao usar
ENHANCEROBSOLETO - Funcionalidade removida, nao usar
UNBINDERAbre o menu de desvinculacao
ARENA_MASTERAbre o menu da arena para a arena definida em arenaFilename
COMMANDExecuta o comando definido em command
SCROLL_APPLIERAplica pergaminhos de itens elite a itens
ARROW_SHOPAbre o menu da loja de flechas
GAMBLING_BLACKJACKAbre o jogo de aposta de blackjack
GAMBLING_COINFLIPAbre o jogo de aposta de cara ou coroa
GAMBLING_SLOTSAbre o jogo de aposta de caca-niqueis
GAMBLING_HIGHERLOWERAbre o jogo de aposta de maior/menor

Para mais informacoes sobre o que SCRAPPER e tipos de interacao similares fazem, clique aqui.

Notas sobre o comportamento dos NPCs

Os NPCs possuem varios comportamentos codificados que nao podem ser configurados:

  • IA desativada: Os NPCs nao podem se mover autonomamente. Eles permanecem em sua localizacao de aparecimento.
  • Exibicao de papel: O texto do papel e exibido em um suporte de armadura invisivel acima do NPC em uma altura fixa.
  • Tempo de espera do dialogo: Os NPCs esperam 3 segundos entre eventos de fala para evitar mensagens sobrepostas.
  • Ciclo de vida do chunk: Os NPCs desaparecem quando seu chunk e descarregado e reaparecem quando e recarregado.