GTA Közösség - A magyar GTA fórum

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Archívum => A témát indította: M1A1 - 2015. Július 26. - 07:58:39

Cím: Miért nil ez a változó?...
Írta: M1A1 - 2015. Július 26. - 07:58:39
Hellosztok!
Nemrég elkezdtem tanulni a Lua-t. Gyakorlásképpen egy info pickup készítőt írok. Valamiért hideGUI-nál a
mainWindow változó mindig nil, holott a GUI a képernyőn van, és a változóba elvileg eltároltam a főablak
elementjét... Előre is köszi a segítséget!

local mainWindow
function showGUI()
if(mainWindow == nil) then
mainWindow = guiCreateWindow(606, 321, 194, 246, \"InfoPickups\", false)
guiWindowSetSizable(mainWindow, false)
guiSetVisible(mainWindow, true)
setElementData(mainWindow, \"buttonCreate\", guiCreateButton(10, 215, 66, 21, \"Create\", false, mainWindow), false)
setElementData(mainWindow, \"buttonDelete\", guiCreateButton(86, 215, 98, 21, \"Delete selected\", false, mainWindow), false)
local gridlist = guiCreateGridList(9, 29, 175, 176, false, mainWindow)
guiGridListAddColumn(gridlist, \"Name\", 0.5)
guiGridListAddColumn(gridlist, \"Position (X, Y, Z)\", 0.5)
setElementData(mainWindow, \"gridList\", gridlist, false)
bindKey(\"1\", \"down\", hideGUI)
end
end
function hideGUI()
if(not mainWindow == nil) then
guiSetVisible(mainWindow, false)
destroyElement(mainWindow)
unbindKey(\"1\", \"down\", hideGUI)
end
end
addCommandHandler(\"infopickups\", showGUI)
Cím: Miért nil ez a változó?...
Írta: Live - 2015. Július 26. - 12:22:29

local mainWindow = nil
function showGUI()
        if(mainWindow == nil) then
                mainWindow = guiCreateWindow(606, 321, 194, 246, \"InfoPickups\", false)
                guiWindowSetSizable(mainWindow, false)
                guiSetVisible(mainWindow, true)
                setElementData(mainWindow, \"buttonCreate\", guiCreateButton(10, 215, 66, 21, \"Create\", false, mainWindow), false)
                setElementData(mainWindow, \"buttonDelete\", guiCreateButton(86, 215, 98, 21, \"Delete selected\", false, mainWindow), false)
                local gridlist = guiCreateGridList(9, 29, 175, 176, false, mainWindow)
                guiGridListAddColumn(gridlist, \"Name\", 0.5)
                guiGridListAddColumn(gridlist, \"Position (X, Y, Z)\", 0.5)
                setElementData(mainWindow, \"gridList\", gridlist, false)
               
                bindKey(\"1\", \"down\", hideGUI)
        end
end
function hideGUI()
        if mainWindow then
                destroyElement(mainWindow)
               
                unbindKey(\"1\", \"down\", hideGUI)
        end
end
addCommandHandler(\"infopickups\", showGUI)
Cím: Miért nil ez a változó?...
Írta: M1A1 - 2015. Július 26. - 13:12:45
OK, így már működik, viszont még mindig nem értem, hogy a \"nem egyenlő a semmivel\" kifejezés miért nem működött... Plusz a destroyElement után is nullázni kell a változót. Kösz a segítséget! Zárok.