Ir para conteúdo

(Resolvido)attempt to perform arithmetic on a boolean value SQL

Featured Replies

Postado

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 por Suckie (veja o histórico de edições)

  • Respostas 12
  • Visualizações 951
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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? ma

  • Você editou a função doAccountAddPoints e doAccountRemovePoints   Volte para: function doAccountAddPoints(cid, count) return db.query("UPDATE `znote_accounts` SET `points` = '".. get

  • 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

Postado
  • 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 por Gabrieldsadaxas (veja o histórico de edições)

Postado

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 por Suckie
erro de português (veja o histórico de edições)

Postado
  • 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 por Gabrieldsadaxas (veja o histórico de edições)

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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo