Kingbroth Posted December 26, 2014 Share Posted December 26, 2014 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
Castillo Posted December 26, 2014 Share Posted December 26, 2014 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
Tomas Posted December 26, 2014 Share Posted December 26, 2014 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
Kingbroth Posted December 26, 2014 Author Share Posted December 26, 2014 Gracias nuevamente, me funcionó a la perfeccion Link to comment
Recommended Posts