Jump to content

Bad args


Baseplate

Recommended Posts

function saveThings(thePreviousAccount) 
x, y, z = getElementPosition(source) 
setTimer(function(source) 
    dbExec(connection, "UPDATE players SET skin=?, x=?, y=?, z=?, int=?, dim=?, wanted=?, money=?, occupation=?, team=?, nick=?, wp=? WHERE account=?", tostring(getElementModel(source)), tostring(x), tostring(y), tostring(z), tostring(getElementInterior(source)), tostring(getElementDimension(source)), tostring(getPlayerWantedLevel(source)), tostring(getPlayerMoney(source)), tostring(getElementData(source, "Occupation")), tostring(getTeamName(getPlayerTeam(source))), tostring(getPlayerName(source)), tostring(getElementData(source, "wantedPoints")), thePreviousAccount) 
    dbExec(connection, "UPDATE weapons SET playerWeaponAmmo0=?, playerWeaponAmmo1=?, playerWeaponAmmo2=?, playerWeaponAmmo3=?, playerWeaponAmmo4=?, playerWeaponAmmo5=?, playerWeaponAmmo6=?, playerWeaponAmmo7=?, playerWeaponAmmo8=?, playerWeaponAmmo9=?, playerWeaponAmmo10=?, playerWeaponAmmo11=?, playerWeaponAmmo10=?, pistolstat=?, silencedstat=?, desertstat=?, shotgunstat=?, sawnoffstat=?, spazstat=?, microstat=?, mp5stat=?, akstat=?, m4stat=?, sniperstat=? WHERE account=?", getPedTotalAmmo(source, 0), getPedTotalAmmo(source, 1), getPedTotalAmmo(source, 2), getPedTotalAmmo(source, 3), getPedTotalAmmo(source, 4), getPedTotalAmmo(source, 5), getPedTotalAmmo(source, 6), getPedTotalAmmo(source, 7), getPedTotalAmmo(source, 8) , getPedTotalAmmo(source, 9), getPedTotalAmmo(source, 10), getPedTotalAmmo(source, 11), getPedTotalAmmo(source, 12), getPedStat(source,69), getPedStat(source,70), getPedStat(source,71), getPedStat(source,72), getPedStat(source,73), getPedStat(source,74), getPedStat(source,75), getPedStat(source,76), getPedStat(source,77), getPedStat(source,78), getPedStat(source,79), thePreviousAccount) 
    end, 2000, 1) 
end 
addEventHandler("onPlayerLogout", root, saveThings) 

Returns bad arguements when I use dbExec.

Link to comment

connection is already defined at the start of the script, and I didn't copy the whole script.

Debug errors.

[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getElementModel' [Expected element at argument 1, got nil] 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getElementInterior' [Expected element at argument 1, got nil] 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getElementDimension' [Expected element at argument 1, got nil] 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getPlayerWantedLevel' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getPlayerMoney' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getElementData' [Expected element at argument 1, got nil] 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getPlayerTeam' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getTeamName' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getPlayerName' [Expected element at argument 1, got nil] 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:93: Bad argument @ 'getElementData' [Expected element at argument 1, got nil] 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedTotalAmmo' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 
[2013-11-05 10:31:43] WARNING: SANGsave\s.lua:94: Bad argument @ 'getPedStat' 

Link to comment

On the end of the timer add ", source" so it goes like:

" end, 2000, 1, source)" to pass the source to the timer function.

But, there might be another problem.

The logout event is mostly triggerd when player quits, right?

If you delay that for a few seconds, I think that the player element will already be destroyed and it would probably say something like "bad pointer".

Link to comment

You should do this without the timer, or if you cant do it like that, then you should collect all the data about the player before the timer and pass them to the timer function.

BTW, you are doing the UPDATE statement, is there some data already in the table with the account or not?

Link to comment
Cause on logout, it doesn't update, tried to use a timer so probably it gets some time to save.

Why he even need a timer, it does not save because it was wrong.

function saveThings(thePreviousAccount) 
    local x, y, z = getElementPosition(source) 
    local accountName = getAccountName(thePreviousAccount) 
    dbExec(connection, "UPDATE players SET skin=?, x=?, y=?, z=?, int=?, dim=?, wanted=?, money=?, occupation=?, team=?, nick=?, wp=? WHERE account=?", tostring(getElementModel(source)), tostring(x), tostring(y), tostring(z), tostring(getElementInterior(source)), tostring(getElementDimension(source)), tostring(getPlayerWantedLevel(source)), tostring(getPlayerMoney(source)), tostring(getElementData(source, "Occupation")), tostring(getTeamName(getPlayerTeam(source))), tostring(getPlayerName(source)), tostring(getElementData(source, "wantedPoints")), accountName) 
    dbExec(connection, "UPDATE weapons SET playerWeaponAmmo0=?, playerWeaponAmmo1=?, playerWeaponAmmo2=?, playerWeaponAmmo3=?, playerWeaponAmmo4=?, playerWeaponAmmo5=?, playerWeaponAmmo6=?, playerWeaponAmmo7=?, playerWeaponAmmo8=?, playerWeaponAmmo9=?, playerWeaponAmmo10=?, playerWeaponAmmo11=?, playerWeaponAmmo10=?, pistolstat=?, silencedstat=?, desertstat=?, shotgunstat=?, sawnoffstat=?, spazstat=?, microstat=?, mp5stat=?, akstat=?, m4stat=?, sniperstat=? WHERE account=?", getPedTotalAmmo(source, 0), getPedTotalAmmo(source, 1), getPedTotalAmmo(source, 2), getPedTotalAmmo(source, 3), getPedTotalAmmo(source, 4), getPedTotalAmmo(source, 5), getPedTotalAmmo(source, 6), getPedTotalAmmo(source, 7), getPedTotalAmmo(source, 8 ) , getPedTotalAmmo(source, 9), getPedTotalAmmo(source, 10), getPedTotalAmmo(source, 11), getPedTotalAmmo(source, 12), getPedStat(source,69), getPedStat(source,70), getPedStat(source,71), getPedStat(source,72), getPedStat(source,73), getPedStat(source,74), getPedStat(source,75), getPedStat(source,76), getPedStat(source,77), getPedStat(source,78), getPedStat(source,79), accountName) 
end 
addEventHandler("onPlayerLogout", root, saveThings) 

Link to comment

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.
×
×
  • Create New...