Jump to content
Close
Killua

Como usar addEvent

Recommended Posts

Ótimo tutorial, muito bem explicado e organizado. ;p



PORTAL | FÓRUNS | CLASSIFICADOS | REGRAS | EQUIPE | ANUNCIE

 

gdt0DxF.png Email: matheus@tibiaking.com

XiCm81o.png Discord: Matk#0641


CKvOtmS.png

 

Você gosta do Tibia King? O TK ajuda e fortalece o seu OTServ?

Se sim, faça uma doação (qualquer valor) que estará nos ajudando bastante! :tongue:

 

205x30-doar-azul.gif

Share this post


Link to post
Share on other sites

Tenho uma dúvida, não sei se vou reviver, mas...

e se eu quiser que ele repita uma quantidade de vezes e depois pare?

por exemplo, como ele falou, aquele script vai ficar em um ciclo infinito, (até que alguem de reload)

e se eu quiser que ele execute apenas 5 vezes (faça 5 summons) e depois pare?


Share this post


Link to post
Share on other sites
Em 08/02/2016 at 07:58, sertthoon disse:

Tenho uma dúvida, não sei se vou reviver, mas...

e se eu quiser que ele repita uma quantidade de vezes e depois pare?

por exemplo, como ele falou, aquele script vai ficar em um ciclo infinito, (até que alguem de reload)

e se eu quiser que ele execute apenas 5 vezes (faça 5 summons) e depois pare?

Também possuo a mesma dúvida, e também peço desculpa caso revivi o POST...

Mas li que antes de criar um tópico era pra ver se já existia então aqui estou haha!

Se alguém puder nos ajudar 

Desde já grato!!


Share this post


Link to post
Share on other sites
Em 08/02/2016 em 07:58, sertthoon disse:

Tenho uma dúvida, não sei se vou reviver, mas...

e se eu quiser que ele repita uma quantidade de vezes e depois pare?

por exemplo, como ele falou, aquele script vai ficar em um ciclo infinito, (até que alguem de reload)

e se eu quiser que ele execute apenas 5 vezes (faça 5 summons) e depois pare?

Use a recursividade pra isso, exemplo:

function doSomething (cid, times)
	if times == 0 then -- CRITÉRIO DE PARADA
		return true
	else
		addEvent (doSomething,     1000,      cid, times - 1) -- AO CHAMAR A FUNÇÃO NOVAMENTE TENHA CERTEZA Q SEU CRITERIO DE PARADA SERA ATINGIDO
		--         funcao        intervalo       parametros
	end
end

O que vai acontecer se eu chamar a função com doSomething (cid, 5)?

 

1) Vai para doSomething, times é diferente de 0 então vamos para o else. Else adiciona um evento para executar doSomething (cid, 4)

Passa um segundo do addEvent.

2) Vai para doSomething, times é diferente de 0 então vamos para o else. Else adiciona um evento para executar doSomething (cid, 3)

Passa um segundo do addEvent.

3) Vai para doSomething, times é diferente de 0 então vamos para o else. Else adiciona um evento para executar doSomething (cid, 2)

Passa um segundo do addEvent.

4) Vai para doSomething, times é diferente de 0, então vamos para o else. Else adiciona um evento para executar doSomething (cid, 1)

Passa um segundo do addEvent.

5) Vai para doSomething, times é IGUAL a zero, então encerramos a execução.

 

Nos slides desse site da federal de ouro preto: http://www.decom.ufop.br/romildo/2012-1/bcc222/slides/06-recursividade.pdf você tem a explicação com a linguagem de prog Haskell, a única coisa que você precisa saber pra não ficar perdido é que

pot2 n
		| n == 0 = 1
		| n > 0 = 2 * pot2 (n-1)

É equivalente ao que tem abaixo, em LUA:

function pot2(n)
	if n == 0 then
		return 1
	elseif n > 0 then
		return 2 * pot2 (n - 1)
	end
end

 


Edited by marcot (see edit history)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...