Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''loop''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • Projetos Open Source
    • Canary
    • OTServBR-Global
    • Mehah OTClient
    • MyAAC
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
  • Outros
    • Design

Encontrado 1 registro

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

    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: 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) 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
×