[Consulta] Operador OR para operaciones lógicas de bits en Lua 5.1.5

Iniciado por BloodSharp, 25 Junio 2020, 18:17 PM

0 Miembros y 1 Visitante están viendo este tema.

BloodSharp

Buenas gente del foro, ¿Cómo están?

Mi duda es como operar a nivel de bits con el operador OR en Lua dado en que en C++ se puede operar de la siguiente manera:

Código (cpp) [Seleccionar]
flags = ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse

en lugar de eso en este caso puedo sumar los flags dado a que son desplazamientos de bits a la izquierda:

Código (cpp) [Seleccionar]
enum ImGuiWindowFlags
{
   // ...
   ImGuiWindowFlags_NoCollapse = 1 << 5
   ImGuiWindowFlags_AlwaysAutoResize = 1 << 6
   // ...
}


pero para código que luego voy a necesitar tendría que operar con el operando OR si o si...

Dejo el código completo mío de ejemplo y el error que marca por el símbolo |


Código (lua) [Seleccionar]
MessageBox("Hola Mundo")

aCheckbox=true
aComboBox=0

function OnRenderBackground()
ImGui:Text("Hello background!")
end

function OnRenderInterface()
if ImGui:Begin("Fake menu", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse) then
if ImGui:BeginTabBar("CH5_FAKE_MENU") then
if ImGui:BeginTabItem("Fake legit") then
ImGui:Text("Fake text legit")
ImGui:EndTabItem()
end
if ImGui:BeginTabItem("Fake Rage") then
ImGui:Text("Fake text rage")
ImGui:EndTabItem()
end
if ImGui:BeginTabItem("Visuals") then
aComboBox=ImGui:Combo("Wallhack fake",aComboBox,"None\0XQZ\0ASUS\0Wireframe\0\0")
ImGui:EndTabItem()
end
ImGui:EndTabBar()
end
end
ImGui:End()

if ImGui:Begin("Example", ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoCollapse) then
v = Vector2D(5,20)
v2 = Vector2D(10,30)
ImGui:Text("Hello world! "..(v.x).." "..(v.y))
v = v + v2
ImGui:Text("Hello world! "..(v.x).." "..(v.y))
ImGui:SameLine()
ImGui:Text("Misma y nueva línea")
ImGui:NewLine()
if ImGui:TreeNode("Colapso",true) then
ImGui:Text("Texto colapsado")
ImGui:TreePop()
end
ImGui:NewLine()
ImGui:NewLine()
ImGui:BeginGroup()
if ImGui:SmallButton("Cambiar Valor") then
aCheckbox=not aCheckbox
end
aCheckbox=ImGui:Checkbox("Checkbox",aCheckbox)
ImGui:EndGroup()
ImGui:SameLine()
ImGui:BeginGroup()
ImGui:Text("Checkbox value: "..(aCheckbox and 'true' or 'false'))
ImGui:Text("Combo value: "..(aComboBox))
ImGui:EndGroup()
ImGui:NewLine()
aComboBox=ImGui:Combo("Wallhack test",aComboBox,"None\0XQZ\0ASUS\0Wireframe\0\0")
end
ImGui:End()
end

Hooks:RegisterCallback(CH5_CALLBACK_AT_RENDERING_BACKGROUND,OnRenderBackground)
Hooks:RegisterCallback(CH5_CALLBACK_AT_RENDERING_INTERFACE,OnRenderInterface)



B#