KE

[Dúvida]"for I=1,20 Do"

Por kenji1996xD, 31 de jul. de 2010 em Scripts

script
5
1.4k
kenji1996xDK
31 de julho de 2010 às 23:03

Bom, estava dando uma olhada nos scripts, para poder aprender alguma coisa, quando me deparo com essa linha que fica me atormentando x.x :

 

for i=1,20 do

 

Alguém saberia me dizer o que ela significa?

 

Aqui está o script inteiro, caso precise dele..

 

spr_id = 8472 -- Item a ser vendido
       backpackspr_id = 7342 -- Backpack
	custospr_id = 2000 -- Valor
	cargasspr_id = 1 -- Cargas

local name = getItemNameById(spr_id)
----- End Config -----
function onUse(cid, item, fromPosition, itemEx, toPosition)
       if doPlayerRemoveMoney(cid, custospr_id) == TRUE then
               local bag = doPlayerAddItem(cid, backpackspr_id, 1)
                       doSendAnimatedText(fromPosition, "", TEXTCOLOR_YELLOW)
                       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have purchased a backpack of ".. name .."s for ".. custospr_id .." gold.")
					for i=1,20 do
                       doAddContainerItem(bag, spr_id, cargasspr_id)
               end
               else
                       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You need ".. custospr_id .." gold coins for a backpack of ".. name .."s.")
               end
       return FALSE
end

 

Obrigado.

VodkartV
01 de agosto de 2010 às 11:10

Preste atenção,o script também poderia ser assim:

 

Analise 1

 

doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)
doAddContainerItem(bag, spr_id, cargasspr_id)

 

agora se você usa o

 

for i=1,20 do -- indica que a instrução será executada de 1 até 20
doAddContainerItem(bag, spr_id, cargasspr_id) --20x a mesma linha 

 

repete um bloco das instruções quando uma condição for verdadeira ou até que uma condição se torne verdadeira

executara 20x e depois irá parar(em vez da analise 1 de adicionar 20 linhas),no caso do exemplo acima, a estrutura de repetição será executada enquanto i < 20.

kenji1996xDK
01 de agosto de 2010 às 15:42

Obrigado Vodkart.

Já podem fechar meu tópico.

Henrique MouraH
01 de agosto de 2010 às 16:18

Tópico movido - Sanado.

LorDzL
01 de agosto de 2010 às 16:18

Dúvida sanada,

Tópico movido.

 

Abraços