[HELP] setElementData warning ...

Recommended Posts

Hello so i just watched a tutorial and tried to re-write exactly the same code as on the video it seemed to work throughout the tutorial but then at the end the error's started to pop up ,

BAD ARGUMENT @ 'setElementData' [Expected element at argument 1 got boolean]

I have no idea what to do i tried to solve it for a long time now without effects.


function createVehicleForPlayer(player, command, model)
    local db = exports.db:getConnection()
    local x,y,z = getElementPosition(player)
    y = y+5
    dbExec(db,"INSERT INTO vehicles(model, x, y, z) VALUES (?,?,?,?)",model, x , y , z)
    local vehicleObject = createVehicle(model,x, y, z)
    setElementData(vehicleObject, "id",,true)
        local results = dbPoll(queryHandle, 0)
        local vehicle = results[1]
    end, db,"SELECT id FROM vehicles ORDER BY id DESC LIMIT 1")
function loadAllVehicles(queryHandle, player)
    local results = dbPoll(queryHandle, 0)
    for index, vehicle in pairs(results) do
    local vehicleObject = createVehicle(vehicle.model, vehicle.x, vehicle.y, vehicle.z)
addEventHandler("onResourceStart",resourceRoot,function ()
    local db = exports.db:getConnection()
    dbQuery(loadAllVehicles, db,"SELECT*FROM vehicles")
addEventHandler("onResourceStop", resourceRoot,function ()
    local db = exports.db:getConnection()
    local vehicles = getElementsByType("vehicle")
    for index, vehicle in pairs(vehicles) do
        local id = getElementData(vehicle, "id")
        local x,y,z = getElementPosition(vehicle)
        dbExec(db,"UPDATE vehicles SET x = ?, y = ?, z = ? WHERE id = ?",x,y,z,model)


Share this post

Link to post

It happens in loadAllVehicles or in createVehicleForPlayer?

Share this post

Link to post

Are you sure you have the car in the database?

Add something like that to check whether the databse is empty or not:

if #results > 0 then -- #results means how many rows are in the table, if rows are more then 0 then...
	-- code if the database IS NOT empty
	outputDebugString("Vehicles database is EMPTY") -- outputs warning in debugmode (/debugscript 3)


Share this post

Link to post


On my opinion the problem is right here:

local results = dbPoll(queryHandle, 0)

change result timeout from 0 to -1:

local results = dbPoll(queryHandle, -1)


Use 0 for an instant response (which may return nil)

Edited by JeViCo

Share this post

Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.