Ir para conteúdo
Entre para seguir isso  
Nord

[N:Médio] Usando o "For"

Recommended Posts

Nord    2
Nord

Usando "For"

 

Eu já vi muito tipo de aula: aula sobre If, While, Repeat e tantas outras que me ajudaram bastante, então um dia desses eu tava conversando com o Fadi e ele me ensinou a usar essa função, então hoje venho ensinar a vocês, por isso créditos a ele(Fadi, e eu Nord por fazer o tutorial/aula).

 

O que o for faz?

 

Ele repete um determinado número de vezes a cada um milésimo de segundo algo, mas trocando um valor que é uma espécie de variável.

 

Tá, mas você não entendeu nada então vamos a prática.

Quando usarmos o for será assim:

 

for i = 1,3 do

função aqui

end

Ok, até agora podemos entender que começaremos com for e depois colocaremos qualquer letra, no caso eu usei i e depois = um número, outro número (de preferência maior) e para finalizar o do.

 

O que acontecerá, ele vai repetir o i, então na primeira vez ele vai ser 1, depois ele vai repetir de novo, dai vai ser 2, então repetira outra vez, e vai ser 3.

 

E talvez você diga: "Mas eu não to vendo utilidade nenhuma."

 

Então você vai ver, olhe abaixo e depois eu explico:

 

[b]for[/b] [color=blue]i[/color] = [i]1[/i],[u]3[/u] [color=Red]do[/color]
   doSendMagicEffect(qualquer_posição, [color=blue]i[/color])
[color=navy]end[/color]

Agora explicação: Acontecerá um efeito na "qualquer_posição", como for começa com 1 ele enviara o efeito de número 1, depois ele vai repetir e vai enviar outro efeito, mas dessa vez vai ser o 2, e depois novamente enviará um efeito, mas um efeito de número 3.

 

Acredito que vocês entenderam, mas lembrando de nunca se esquecer do end para terminar o for.

 

Ou seja, o for i será um valor, eu posso fazer então o player falar 1, depois 2, depois 3, se eu fizer for i = 1,6 do e dentro da função doPlayerSay(cid,"'..i..'",1) olhe o que vai acontecer:

 

Nord says: 1

<Se passa um milésimo...>

Nord says: 2

<Outro milésimo depois...>

Nord says: 3

 

E isso acontecerá até chegar ao 6.

Conforme sua criatividade, inteligência e esforço você conseguirá fazer scripts para annihilator, arenas e muito mais(inclusive funções).

 

Lembre-se, entre uma ação e outra dentro do for terá um espaço de 1 milésimo de segundo, isso você não pode alterar a não ser que use um addEvent, mas isso é outro tutorial.

 

Até agora vocês aprenderam a usar o for, mas há mais alguma coisa faltando sobre isso, e é o break.

 

O break serve para parar um loop(coisas como for, while e repeat)

 

Então abaixo um exemplo nada prático mas útil para aprender como usar o break:

for [color=orange]i[/color] = 1, 100 do
   doPlayerSendTextMessage(cid, 22, "[color=Orange]"..i.."[/color]")
   if i == 50 then
       [color=Blue]break[/color]
   end
end

Tutorial/Aula fica por aqui, espero ter ajudado e gostaria que me fizessem doações de OT$ ou então pelo menos postem uma crítica, sugestão ou o que achou do tópico. (Mas com respeito) :bye:

 

Aula eu acho que é coisa de moderador fazer, mas não há mal algum em aprender com um usuário não?!

 

-------------------------------------------- Script de Exemplo --------------------------------------------

Créditos: Feito por Fadi e postado por Haxy

function onUse(cid, item, frompos, item2, topos)

local conf = {bagId = 1987, storage = 15975}

local itens = {"2120", "2554"}


-- Script:

if getPlayerStorageValue(cid,conf.storage) ~= 9 then -- Verifica se o player ja fez a quest, se não tiver feito:
	local bagUid = doPlayerAddItem(cid,conf.bagId,1) -- Adiciona bag ao player
	setPlayerStorageValue(cid,conf.storage,9)
	for i = 1,#itens do
			doAddContainerItem(bagUid, itens[i], 1)
	end
else -- Caso já tenha feito a quest
	doPlayerSendTextMessage(cid,22,'It\'s empty.') -- Manda mensagem falando que esta vazio
end
return 1
end

Editado por Nord
Estava escrito "brake", o certo é "break".

Compartilhar este post


Link para o post
Fadi    0
Fadi

Aulas são feitas por moderadores, como você mesmo disse, mas vou aceitá-la, como tutorial apenas.

 

Procure remover as alusões à palavra "aula", possuimos um padrão para estas.

 

Obrigado pela contribuição.

APROVADO

Compartilhar este post


Link para o post
Cinkuenta    0
Cinkuenta

gostei di mais só que naum entendi muito bem + já to com uma noção :)

por mim ta APROVADO.

Compartilhar este post


Link para o post
Kaotar    5
Kaotar

Cara ficou realmente bom... boa aula (apesar do Fadi chamar de tutorial) xD

 

Kaotar, Flws

Compartilhar este post


Link para o post
Asould Acalaylaa    5
Asould Acalaylaa

Nossa, que legal.

Não conhecia essa função for. Como voce disse, ela é bem útil para variar os efeitos! :)

 

Muito bom, parabens pelo tutorial bem explicado e formatado! :D

Compartilhar este post


Link para o post
Haxy    0
Haxy

Gostei do tutorial, apesar de ter aprendido antes com o Fadi, já até fiz um script pra um cara pedindo ajuda no suporte, ele cria uma bag com itens dentros, fiz pra ele montar a quest dele(estilo a cooper shield de rook).

function onUse(cid, item, frompos, item2, topos)

local conf = {bagId = 1987, storage = 15975}

local itens = {"2120", "2554"}


-- Script:

if getPlayerStorageValue(cid,conf.storage) ~= 9 then -- Verifica se o player ja fez a quest, se não tiver feito:
	local bagUid = doPlayerAddItem(cid,conf.bagId,1) -- Adiciona bag ao player
	setPlayerStorageValue(cid,conf.storage,9)
	for i = 1,#itens do
			doAddContainerItem(bagUid, itens[i], 1)
	end
else -- Caso já tenha feito a quest
	doPlayerSendTextMessage(cid,22,'It\'s empty.') -- Manda mensagem falando que esta vazio
end
return 1
end

 

Cya~

 

N0 M0r£,

Haxy~f/doM^

Compartilhar este post


Link para o post
toninho_xd    0
toninho_xd

Muito Bom...

Mas não entendi a utilidade dessa função!

=/

Compartilhar este post


Link para o post
Nord    2
Nord

Vlw pelo elogio que todos deram, isso me levanta a moral e me motiva a fazer mais coisas.

Haxy, vou fixar no meu tópico esse seu script aí.

Compartilhar este post


Link para o post
GabrielZ    0
GabrielZ

Muito bom, ja to inventando mil maneiras de usa :P

Compartilhar este post


Link para o post
f@bio    0
f@bio

interessante, obrigado por contribuir conosco.... parabens...

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×