Lua attempt to perform arithmetic on global 'amount' (a nil value)
when I try to use script function this error appears:
attempt to perform arithmetic on global 'amount' (a nil value)
this is the function:
<>
function openAdvertisements( player, command )
local advertisements = { } --These will hold our advertisements to send to the client and populate our advertisement tables.
if not player then player = source end
--Fetch all of the advertisements from the database --mysql:query("SELECT * FROM 'advertisements' WHERE 1")
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
if tonumber( ad.expiry ) >= tonumber( getRealTime().timestamp ) then --Check if the advertisement has expired, delete it if so.
ad.author = exports.mysql:select_one( "characters", { id = ad.created_by } ).charactername
table.insert( advertisements, ad )
else
deleteAdvertisement( ad.id )
end
end
triggerClientEvent( player, resourceName .. ":display_all", root, advertisements, exports.integration:isPlayerAdmin( player ) ) --Send the advertisements to the client to create the GUI.
end
ERROR concerns this line:
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
lua
add a comment |
when I try to use script function this error appears:
attempt to perform arithmetic on global 'amount' (a nil value)
this is the function:
<>
function openAdvertisements( player, command )
local advertisements = { } --These will hold our advertisements to send to the client and populate our advertisement tables.
if not player then player = source end
--Fetch all of the advertisements from the database --mysql:query("SELECT * FROM 'advertisements' WHERE 1")
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
if tonumber( ad.expiry ) >= tonumber( getRealTime().timestamp ) then --Check if the advertisement has expired, delete it if so.
ad.author = exports.mysql:select_one( "characters", { id = ad.created_by } ).charactername
table.insert( advertisements, ad )
else
deleteAdvertisement( ad.id )
end
end
triggerClientEvent( player, resourceName .. ":display_all", root, advertisements, exports.integration:isPlayerAdmin( player ) ) --Send the advertisements to the client to create the GUI.
end
ERROR concerns this line:
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
lua
3
The variableamount
does not have a value, so it isnil
, and trying to calculatenil*2000
results in an error becausenil
is not a number and not a string convertible to a number.
– cyclaminist
Nov 14 '18 at 18:54
add a comment |
when I try to use script function this error appears:
attempt to perform arithmetic on global 'amount' (a nil value)
this is the function:
<>
function openAdvertisements( player, command )
local advertisements = { } --These will hold our advertisements to send to the client and populate our advertisement tables.
if not player then player = source end
--Fetch all of the advertisements from the database --mysql:query("SELECT * FROM 'advertisements' WHERE 1")
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
if tonumber( ad.expiry ) >= tonumber( getRealTime().timestamp ) then --Check if the advertisement has expired, delete it if so.
ad.author = exports.mysql:select_one( "characters", { id = ad.created_by } ).charactername
table.insert( advertisements, ad )
else
deleteAdvertisement( ad.id )
end
end
triggerClientEvent( player, resourceName .. ":display_all", root, advertisements, exports.integration:isPlayerAdmin( player ) ) --Send the advertisements to the client to create the GUI.
end
ERROR concerns this line:
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
lua
when I try to use script function this error appears:
attempt to perform arithmetic on global 'amount' (a nil value)
this is the function:
<>
function openAdvertisements( player, command )
local advertisements = { } --These will hold our advertisements to send to the client and populate our advertisement tables.
if not player then player = source end
--Fetch all of the advertisements from the database --mysql:query("SELECT * FROM 'advertisements' WHERE 1")
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
if tonumber( ad.expiry ) >= tonumber( getRealTime().timestamp ) then --Check if the advertisement has expired, delete it if so.
ad.author = exports.mysql:select_one( "characters", { id = ad.created_by } ).charactername
table.insert( advertisements, ad )
else
deleteAdvertisement( ad.id )
end
end
triggerClientEvent( player, resourceName .. ":display_all", root, advertisements, exports.integration:isPlayerAdmin( player ) ) --Send the advertisements to the client to create the GUI.
end
ERROR concerns this line:
for _, ad in ipairs( call(getResourceFromName("mysql"), "query_free", "UPDATE `accounts` SET `dm`=`dm`-".. amount*2000 .." WHERE `id`=".. tostring(gameAccountID) .."") ) do
lua
lua
edited Nov 14 '18 at 16:43
pushkin
4,045112752
4,045112752
asked Nov 14 '18 at 16:39
ZiemoZiemo
62
62
3
The variableamount
does not have a value, so it isnil
, and trying to calculatenil*2000
results in an error becausenil
is not a number and not a string convertible to a number.
– cyclaminist
Nov 14 '18 at 18:54
add a comment |
3
The variableamount
does not have a value, so it isnil
, and trying to calculatenil*2000
results in an error becausenil
is not a number and not a string convertible to a number.
– cyclaminist
Nov 14 '18 at 18:54
3
3
The variable
amount
does not have a value, so it is nil
, and trying to calculate nil*2000
results in an error because nil
is not a number and not a string convertible to a number.– cyclaminist
Nov 14 '18 at 18:54
The variable
amount
does not have a value, so it is nil
, and trying to calculate nil*2000
results in an error because nil
is not a number and not a string convertible to a number.– cyclaminist
Nov 14 '18 at 18:54
add a comment |
1 Answer
1
active
oldest
votes
You haven't defined local amount
variable, so lua looks for it in global table (_ENV
or _G
, depending on lua version), where it doesn't exsist too (nil
for non-existing key).
Lua tries to exectue nil*2000
, which leads to that error.
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATEaccounts
SETdm
=dm
-".. amount*2000 .." WHEREid
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)
– Ziemo
Nov 15 '18 at 15:06
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53304933%2flua-attempt-to-perform-arithmetic-on-global-amount-a-nil-value%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You haven't defined local amount
variable, so lua looks for it in global table (_ENV
or _G
, depending on lua version), where it doesn't exsist too (nil
for non-existing key).
Lua tries to exectue nil*2000
, which leads to that error.
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATEaccounts
SETdm
=dm
-".. amount*2000 .." WHEREid
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)
– Ziemo
Nov 15 '18 at 15:06
add a comment |
You haven't defined local amount
variable, so lua looks for it in global table (_ENV
or _G
, depending on lua version), where it doesn't exsist too (nil
for non-existing key).
Lua tries to exectue nil*2000
, which leads to that error.
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATEaccounts
SETdm
=dm
-".. amount*2000 .." WHEREid
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)
– Ziemo
Nov 15 '18 at 15:06
add a comment |
You haven't defined local amount
variable, so lua looks for it in global table (_ENV
or _G
, depending on lua version), where it doesn't exsist too (nil
for non-existing key).
Lua tries to exectue nil*2000
, which leads to that error.
You haven't defined local amount
variable, so lua looks for it in global table (_ENV
or _G
, depending on lua version), where it doesn't exsist too (nil
for non-existing key).
Lua tries to exectue nil*2000
, which leads to that error.
answered Nov 15 '18 at 9:06
valval
374619
374619
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATEaccounts
SETdm
=dm
-".. amount*2000 .." WHEREid
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)
– Ziemo
Nov 15 '18 at 15:06
add a comment |
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATEaccounts
SETdm
=dm
-".. amount*2000 .." WHEREid
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)
– Ziemo
Nov 15 '18 at 15:06
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATE
accounts
SET dm
=dm
-".. amount*2000 .." WHERE id
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)– Ziemo
Nov 15 '18 at 15:06
I found a similar topic and they say, that I have to change this call(getResourceFromName("mysql"), "query_free", "UPDATE
accounts
SET dm
=dm
-".. amount*2000 .." WHERE id
=".. tostring(gameAccountID) .."") to this mysql:query("SELECT * FROM 'advertisements' WHERE 1") but now i have another error attempt to index global 'mysql' (a nil value)– Ziemo
Nov 15 '18 at 15:06
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53304933%2flua-attempt-to-perform-arithmetic-on-global-amount-a-nil-value%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
3
The variable
amount
does not have a value, so it isnil
, and trying to calculatenil*2000
results in an error becausenil
is not a number and not a string convertible to a number.– cyclaminist
Nov 14 '18 at 18:54