Postado Junho 21, 2020 4 anos ué, aqui ta pegando, verifica se os nomes das tabelas estão corretas. você colocou essa função abaixo da função doAccountAddPoints?? pq tem que ser EM CIMA você substitiu a função corretamente? manda outro print Editado Junho 21, 2020 4 anos por Suckie (veja o histórico de edições)
Postado Junho 21, 2020 4 anos Autor meu código ta assim @Suckie function getAccountPoints(cid) local res = db.getResult("SELECT `points` FROM `znote_accounts` WHERE id = " .. getAccountNumberByPlayerName(getCreatureName(cid))..";") if(res:getID() ~= -1) then repeat return res:getDataInt("points") until not(res:next()) res:free() end end function doAccountAddPoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. getAccountPoints(cid) + count .."' WHERE id = " ..getPlayerAccountId(cid)..";") end function doAccountRemovePoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. getAccountPoints(cid) - count .."' WHERE id = " ..getPlayerAccountId(cid)..";") end e aqui o schema da tabela, os nomes tão certinho CREATE TABLE IF NOT EXISTS `znote_accounts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `account_id` int(11) NOT NULL, `ip` bigint(20) UNSIGNED NOT NULL, `created` int(10) NOT NULL, `points` int(10) DEFAULT 0, `cooldown` int(10) DEFAULT 0, `active` tinyint(4) NOT NULL DEFAULT '0', `active_email` tinyint(4) NOT NULL DEFAULT '0', `activekey` int(11) NOT NULL DEFAULT '0', `flag` varchar(20) NOT NULL, `secret` char(16) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB; Editado Junho 21, 2020 4 anos por Gabrieldsadaxas (veja o histórico de edições) Se eu te ajudei e você também quer me ajudar, faça uma doação Tfs 0.4 - Click up Tfs 0.4 - Countdown horário dos próximos eventos Tfs 0.4 - Spell que cancela o target do inimigo
Postado Junho 21, 2020 4 anos Você editou a função doAccountAddPoints e doAccountRemovePoints Volte para: function doAccountAddPoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. getAccountPoints(cid) + count .."' WHERE id = " .. getAccountNumberByPlayerName(getCreatureName(cid))..";") end function doAccountRemovePoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. getAccountPoints(cid) - count .."' WHERE id = " .. getAccountNumberByPlayerName(getCreatureName(cid))..";") end Editado Junho 21, 2020 4 anos por Suckie erro de português (veja o histórico de edições)
Postado Junho 21, 2020 4 anos Autor @Suckie [3:53:28.614] [Error - Action Interface] [3:53:28.619] data/actions/scripts/points.lua:onUse [3:53:28.622] Description: [3:53:28.623] data/lib/048-ppoints.lua:12: attempt to perform arithmetic on a nil value [3:53:28.627] stack traceback: [3:53:28.629] data/lib/048-ppoints.lua:12: in function 'doAccountAddPoints' [3:53:28.634] data/actions/scripts/points.lua:8: in function <data/actions/scripts/points.lua:5> usando esse function getAccountPoints(cid) local res = db.getResult("SELECT `points` FROM `znote_accounts` WHERE id = " .. getAccountNumberByPlayerName(getCreatureName(cid))..";") if(res:getID() ~= -1) then repeat return res:getDataInt("points") until not(res:next()) res:free() end end function doAccountAddPoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. getAccountPoints(cid) + count .."' WHERE id = " .. getAccountNumberByPlayerName(getCreatureName(cid))..";") end function doAccountRemovePoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. getAccountPoints(cid) - count .."' WHERE id = " .. getAccountNumberByPlayerName(getCreatureName(cid))..";") end Editado Junho 21, 2020 4 anos por Gabrieldsadaxas (veja o histórico de edições) Se eu te ajudei e você também quer me ajudar, faça uma doação Tfs 0.4 - Click up Tfs 0.4 - Countdown horário dos próximos eventos Tfs 0.4 - Spell que cancela o target do inimigo
Postado Junho 21, 2020 4 anos Hmm, eu ja testei aqui mais de 5x e pegou Faz o seguinte, pega essas 3 funções, tira de 048-ppoints.lua e coloca em 050-function.lua e vê se pega
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.