0

I really don't know what is wrong here. This is the error I am getting:

s_interior_admin.lua:944: attempt to index local 'interiors'

And here is my code:

local interiors = exports["official-interiors"].getInteriorsList() --/MAXIME
            interior = interiors[tonumber(interiorId)]
            if interior then
                local ix = interior[2]
                local iy = interior[3]
                local iz = interior[4]
                local optAngle = interior[5]
                local interiorw = interior[1]

                local rot = getPedRotation(thePlayer)
                local id = SmallestID()
                local query = mysql:query_free("INSERT INTO interiors SET creator='"..getElementData( thePlayer, "account:username" ).."', id=" .. id .. ",x='" .. x .. "', y='" .. y .."', z='" .. z .."', type='" .. inttype .. "', owner='" .. owner .. "', locked='" .. locked .. "', cost='" .. cost .. "', name='" .. mysql:escape_string( name) .. "', interior='" .. interiorw .. "', interiorx='" .. ix .. "', interiory='" .. iy .. "', interiorz='" .. iz .. "', dimensionwithin='" .. dimension .. "', interiorwithin='" .. interiorwithin .. "', angle='" .. optAngle .. "', angleexit='" .. rot .. "', createdDate=NOW()")

                if (query) then
                    if tonumber(inttype) == 1 then
                        mysql:query_free("INSERT INTO `interior_business` SET `intID`='"..id.."' ")
                    end

                    outputChatBox("Created Interior with ID " .. id .. ".", thePlayer, 255, 194, 14)
                    exports.logs:dbLog(thePlayer, 4, { "in"..tostring(id) } , "ADDINTERIOR T:".. inttype .." I:"..interiorId.." C:"..cost)
                    reloadOneInterior(id, false, false) 
                    local adminUsername = getElementData(thePlayer, "account:username")
                    local hiddenAdmin = getElementData(thePlayer, "hiddenadmin")
                    local adminTitle = exports.global:getPlayerAdminTitle(thePlayer)

                    if hiddenAdmin == 0 then
                        exports.global:sendMessageToAdmins("[INTERIOR]: "..adminTitle.." ".. getPlayerName(thePlayer):gsub("_", " ").. " ("..adminUsername..") has created Interior #"..id.." with name '"..name.."', type "..inttype..", price: $"..cost..").")
                    else
                        exports.global:sendMessageToAdmins("[INTERIOR]: A hidden admin has created Interior #"..id.." with name '"..name.."', type "..inttype..", price: $"..cost..").")
                    end

                    exports["interior-manager"]:addInteriorLogs(id, commandName.." - id "..interiorId.." - price $"..cost.." - name "..name, thePlayer)

                    return true
                else
                    outputChatBox("Failed to create interior - Invalid characters used in name of the interior.", thePlayer, 255, 0, 0)
                end
            else
                outputChatBox("Failed to create interior - There is no such interior (" .. ( interiorID or "??" ) .. ").", thePlayer, 255, 0, 0)
            end
        end
    end
end
Taazar
  • 1,545
  • 18
  • 27

1 Answers1

0
exports["official-interiors"].getInteriorsList() --/MAXIME

returns nil

hence

local interiors = exports["official-interiors"].getInteriorsList() --/MAXIME
interior = interiors[tonumber(interiorId)]

causes an error because you are not allowed to index a nil value.

Piglet
  • 27,501
  • 3
  • 20
  • 43