Jump to content

[Ayuda] Sentencia for


Kingbroth

Recommended Posts

Hola chicos, estoy haciendo un sistema de loteria, soy nuevo en esto del lua he aprendido poco a poco, mi problema es que todo funciona bien pero no se como almacenar los numeros en una tabla y luego verificar si este ya fue comprado, aqui les dejo mi codigo.

PD: todo esta bien, el error empieza desde la sentencia for y no puedo verificar si ya esta dicho numero.

function comprar_ticket(Jugador,Comando,Numerop) 
    Numero = tonumber(Numerop) 
    if Numerop then 
        if Numero >= 1 and Numero <= Numeros_Totales then 
            if Loteria == "Si" then 
                if not getElementData(Jugador,"Loteria_Numero") then 
                    for i, v in ipairs (Tabla_Loteria) do 
                        if v == Numero then 
                            outputChatBox("Este numero ya fue comprado "..Numero) 
                        else 
                            table.insert(Tabla_Loteria,Numero) 
                            setElementData(Jugador,"Loteria_Numero",Numero) 
                            outputChatBox("Has comprado el numero "..Numero) 
                        end 
                    end 
                else 
                    outputChatBox("ya compraste un numero") 
                end 
            end 
        else 
            outputDebugString("El numero debe ser mayor a 0 y menor o igual a 9") 
        end 
    end 
end 
addCommandHandler("loteria",comprar_ticket) 

PD2: Luego acomodo la funcion del outputChatBox para que solo le salga al Jugador.

Link to comment
function wasLotteryNumberBought ( number ) 
    local bought = false 
    for i, v in ipairs ( Tabla_Loteria ) do 
        if ( v == number ) then 
            bought = true 
            break 
        end 
    end 
  
    return bought 
end 

Usa esa funcion.

Link to comment

Usando la función que te dejó Solid;

  
function comprar_ticket(Jugador,Comando,Numerop) 
    Numero = tonumber(Numerop) 
    if Numerop then 
        if Numero >= 1 and Numero <= Numeros_Totales then 
            if Loteria == "Si" then 
                if not getElementData(Jugador,"Loteria_Numero") then 
                        if not wasLotteryNumberBought(Numero) then 
                            table.insert(Tabla_Loteria,Numero) 
                            setElementData(Jugador,"Loteria_Numero",Numero) 
                            outputChatBox("Has comprado el numero "..Numero) 
                        else 
                            outputChatBox("El numero "..Numero.." ya fue comprado") 
                        end 
                else 
                    outputChatBox("ya compraste un numero") 
                end 
            end 
        else 
            outputDebugString("El numero debe ser mayor a 0 y menor o igual a 9") 
        end 
    end 
end 
addCommandHandler("loteria",comprar_ticket) 
  
function wasLotteryNumberBought ( number ) 
    local bought = false 
    for i, v in ipairs ( Tabla_Loteria ) do 
        if ( v == number ) then 
            bought = true 
            break 
        end 
    end 
  
    return bought 
end 
  

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...