Results 1 to 8 of 8

Thread: Usando For em lua

  1. #1
    Normal User Healer Dark's Avatar
    Join Date
    Jul 2012
    Posts
    141
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    15
    Rep Power
    5

    Usando For em lua

    alguem poderia por favor me explicar como usa o for em lua... n consigo entender de forma alguma, olhem esse exemplo de uma action que fiz:
    PHP Code:
    -- [[ START ]] --
      
    local MONSTERS = {
      
    Frigo = {"Banshee","Dark Torturer","Demon","Lost Soul","Betrayed Wraith","Hand of Cursed Fate","Fury"},
      
    Vis = {"Defiler","Plaguesmith","Son of Verminor","Blightwalker","Phantasm","Juguernout"}
            }
        -- [[ 
    END ]] --

        if 
    target.name == MONSTERS.Frigo[1] or
        
    target.name == MONSTERS.Frigo[2] or
        
    target.name == MONSTERS.Frigo[3] or
        
    target.name == MONSTERS.Frigo[4] or
        
    target.name == MONSTERS.Frigo[5] or
        
    target.name == MONSTERS.Frigo[6] or
        
    target.name == MONSTERS.Frigo[7] or
        
    target.name == MONSTERS.Frigo[8] or      
        
    target.name == MONSTERS.Frigo[9then
        usehotkey
    ("f12")
        
    wait(200)
        elseif 
    follow.name == MONSTERS.Vis[1] or
        
    target.name == MONSTERS.Vis[2] or
        
    target.name == MONSTERS.Vis[3] or
        
    target.name == MONSTERS.Vis[4] or
        
    target.name == MONSTERS.Vis[5] or    
        
    target.name == MONSTERS.Vis[6then
        usehotkey
    ("f11")
        
    wait(200)
        else
        
    usehotkey("f12")
        
    wait(200)
        
    end 
    muito feia né? sem contar o trabalho que da atualizar, ter que add as pos, novamente, um saco

    queria arrumar ela, para correr toda a array, ao invez de eu fazer manualmente, + n consigo entender o for do lua =\
    ~~~~~~~~~~~~~~~~~~~~~~~~
    Healer Dark
    ~~~~~~~~~~~~~~~~~~~~~~~~

  2. #2
    Banned
    Join Date
    Jun 2012
    Location
    Ceará
    Posts
    2,114
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    81
    Rep Power
    0
    Da uma estudada primeiramente: http://www.lua.org/manual/5.1/manual.html#2.4.5

  3. #3
    Normal User Healer Dark's Avatar
    Join Date
    Jul 2012
    Posts
    141
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    15
    Rep Power
    5
    ty, então, ja tinha visto isso kkkkk, até conseguir entender +/- ja, minha duvidaagora é como usar o in pairs, e acho que tem outro tbm, q n me recordo agora. alguem tem 1 exemplo legal que dê pra eu dar uma entendida plz? kkk
    ~~~~~~~~~~~~~~~~~~~~~~~~
    Healer Dark
    ~~~~~~~~~~~~~~~~~~~~~~~~

  4. #4
    Normal User Healer Dark's Avatar
    Join Date
    Jul 2012
    Posts
    141
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    15
    Rep Power
    5
    me ajudou muito aquele site pra entender o for padrão rsrs, vlw msm gabriel xd
    PHP Code:
    -- [[ START ]] --
      
    local MONSTERS = {
      
    Frigo = {"Banshee","Dark Torturer","Demon","Lost Soul","Betrayed Wraith","Hand of Cursed Fate","Fury"},
      
    Vis = {"Defiler","Plaguesmith","Son of Verminor","Blightwalker","Phantasm","Juguernout"}
            }
      
    local max #MONSTERS.Frigo-1 + #MONSTERS.Vis-1
            
    -- [[ END ]] --

    for 
    1max do
      if 
    follow.name == MONSTERS.Frigo[ithen
      usehotkey
    ("f12")
      
    wait(200)
      break
      elseif 
    follow.name == MONSTERS.Vis[ithen
      usehotkey
    ("f11")
      
    wait(200)
      break
      elseif 
    == max then
      usehotkey
    ("f12")
      
    wait(200)
      break
      
    end
    end 
    qual a diferença do for pairs pro in pairs?
    ~~~~~~~~~~~~~~~~~~~~~~~~
    Healer Dark
    ~~~~~~~~~~~~~~~~~~~~~~~~

  5. #5
    Banned
    Join Date
    Jun 2012
    Location
    Ceará
    Posts
    2,114
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    81
    Rep Power
    0
    Tem que ver o que é mais pratico em cada script você não precisa usa for.

    Code:
    -- [[ START ]] -- 
    local MONSTERS = {
        Frigo = {"Banshee","Dark Torturer","Demon","Lost Soul","Betrayed Wraith","Hand of Cursed Fate","Fury"},
        Vis = {"Defiler","Plaguesmith","Son of Verminor","Blightwalker","Phantasm","Juguernout"}
    }
    -- [[ END ]] -- 
    
    if table.find(MONSTERS.Frigo, target.name) then
        usehotkey("F12") wait(200)
    elseif table.find(MONSTERS.Vis, follow.name) then
        usehotkey("f11") wait(200)
    else
        usehotkey("f12") wait(200)
    end
    Por padrão a função table é assim: (não precisa por no seu script é só explicativo)

    Code:
    function table.find(tbl, valor, argumento)
        for sequencia, val in pairs(tbl) do
            if val == valor or argumento ~= nil and val[argumento] == valor then
                return sequencia
            end
        end
        return nil
    end
    Você pode brincar com essa função pra entender como funciona, basta usar o table.find e usar o print, pra mandar o que sair no debug.

    EDIT

    sobre o pairs tem o ipairs e o pairs, os dois ficam "in pairs" quando usados. A diferença é que o pairs retorna como primeiro valor o argumento que foi usado na table, enquanto o ipairs é quando as tables só tem uma sequencia de valores normais.

    examplo de table com argumentos

    Code:
    local tbl = {item = {name = "gold coin", id = 3031}}
    ai vc pode acessar ela

    tbl.item.name

    mas não pode acessar ela

    tbl[1][1]

    --

    ja nesse outro

    Code:
    tbl = {"A", "B", "C"}
    tbl[1] é A
    tbl[2] [e B
    tbl[A] não existe

    a menos que fosse

    tbl = {A = "A", B = "B"}

    entendeu ?
    Last edited by GabrielTOTS; 09-21-2013 at 06:07 PM.

  6. #6
    Normal User Healer Dark's Avatar
    Join Date
    Jul 2012
    Posts
    141
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    15
    Rep Power
    5
    n sabia dessa table.find =O ty
    ~~~~~~~~~~~~~~~~~~~~~~~~
    Healer Dark
    ~~~~~~~~~~~~~~~~~~~~~~~~

  7. #7
    Normal User Healer Dark's Avatar
    Join Date
    Jul 2012
    Posts
    141
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Reputation
    15
    Rep Power
    5
    tendi, vlw msm, kkkkk to conseguindo entender, quebrei a cabeça com esses for no começo, kkk to acostumado ao foreach e o for normal, ficava adaptando algumas hk e actions com while, + nem gostava disso vlw zxd
    Last edited by Healer Dark; 09-21-2013 at 06:26 PM.
    ~~~~~~~~~~~~~~~~~~~~~~~~
    Healer Dark
    ~~~~~~~~~~~~~~~~~~~~~~~~

  8. #8
    Focus Group Samuel's Avatar
    Join Date
    Feb 2012
    Location
    Teresina - PI - Brasil
    Posts
    922
    Mentioned
    16 Post(s)
    Tagged
    1 Thread(s)
    Quoted
    7 Post(s)
    Reputation
    82
    Rep Power
    6
    Tópico resolvido, logo será trancado, qualquer coisa envie privado, abraço
    Marketing
    and Public Relations

    Atenciosamente,
    Samuel Torres


    █ iBot updates and news [ AQUI/HERE ]
    █ É iniciante? Consulte nosso Suporte de Perguntas Frequentes [ AQUI/HERE ]
    █ Tutorial Básico com video aula / Basic Tutorial with video lessons [ AQUI/HERE ]
    Tibia Itens - Sale of Keys iBot/Tibia Cash/Itens/Other services [ AQUI/HERE ]

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •