Ir para conteúdo
  • 0

Script de npc função de "wait"


Zync

Pergunta

Eu tenho um script de um npc que luta contra o jogador, e tenho ele a dizer umas frases antes do duelo, só que da forma que tenho ele fala tudo de uma vez e solta logo o pokemon, o que não da tempo ao player der ler as mensagens, eu queria uma função que fizesse o npc esperar x segundos entre cada mensagem

Eu tentei usar esta função:

local function wait(seconds)  local start = os.time()  repeat until os.time() > start + secondsend(...)selfSay("O meu nome é X, eu quero duelar com vc!")wait(2)selfSay("Espero que esteja preparado mlk!")wait(2)selfSay("Vamos a isso!")(...)

Mas não teve o resultado que eu esperava, o npc fica calado durante algum tempo e depois fala as msgs e solta logo o pokemon tupo no mesmo instante, tem alguma forma que funcione de fazer isso?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Você pode usar addEvent nas funções de fala, separando-as por um intervalo em milissegundos. Por exemplo:

selfSay("O meu nome é X, eu quero duelar com vc!")addEvent(selfSay, 1500, "Espero que esteja preparado mlk!")addEvent(selfSay, 3000, "Vamos a isso!")

 

Link para o comentário
Compartilhar em outros sites

  • 0

O npc acaba por só usar a fala sem o addEvent...

1 hora atrás, zipter98 disse:

Você pode usar addEvent nas funções de fala, separando-as por um intervalo em milissegundos. Por exemplo:

selfSay("O meu nome é X, eu quero duelar com vc!")addEvent(selfSay, 1500, "Espero que esteja preparado mlk!")addEvent(selfSay, 3000, "Vamos a isso!")

 

Não tem outra forma de fazer wait em lua?

Link para o comentário
Compartilhar em outros sites

  • 0

Sinceramente, não estou muito a fim de procurar a razão do problema com o selfSay, então, se não se importar, use isso aqui (em efeitos práticos, dá na mesma):

selfSay("O meu nome é X, eu quero duelar com vc!")    addEvent(doCreatureSay, 1500, getNpcCid(), "Espero que esteja preparado mlk!")    addEvent(doCreatureSay, 3000, getNpcCid(), "Vamos a isso!")

Certamente deve haver outras formas de preparar ações para um momento futuro, mas minha disposição à programar não me incentiva muito a pensar nisso. addEvent é a maneira mais simples e sem complicações (logicamente, 'sem complicações' caso as condições adequadas sejam postas, o que não vejo necessidade no caso - a não ser que o NPC seja deletado aleatoriamente).

Link para o comentário
Compartilhar em outros sites

  • 0

Funcionou cara! Mil obrigados! Sim no sistema que implementei, após o duelo o npc torna-se um monster e o player "mata-o" e é inicializado outro script para fazer spawn do npc inicial de volta

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...