Ir para conteúdo
  • Cadastre-se

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


Ir para solução Resolvido por matsantos,

Posts Recomendados

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)
Link para o post
Compartilhar em outros sites
  • Respostas 12
  • Created
  • Última resposta

Top Posters In This Topic

Popular Days

Top Posters In This Topic

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? manda outro print

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(ge

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

 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)
Link para o post
Compartilhar em outros sites

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)
Link para o post
Compartilhar em outros sites

@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)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96842
    Tópicos
    519603
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo