FL
erro

Error no script de deletar player MYSQL

Por Flinkton, 27 de dez. de 2015 em Scripts

3
891
FlinktonF
27 de dezembro de 2015 às 14:26

olá galera, eu peguei um script aqui do xtibia "Overlord" o autor do script, so que ele so esta ajustado para sqlite. eu tentei usar a funçao "db.Query inves de db.executeQuery", porem o erro ainda persiste.

 

 

function onSay(cid, words, param, channel)
local p = string.explode(param, ',')
if(param == "") then
doPlayerSendCancel(cid, "Command requires param.")
return true
end
if(words == "/del") then
if(db.getResult("DELETE FROM `X`.`players` WHERE `players`.`name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then
return doPlayerSendCancel(cid, "You Have Deleted [" .. p[1] .. "] .")
end
return db.Query("UPDATE `players`" .. p[1] .. "' WHERE players = '" .. p[1] .. "';") and doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have Deleted " .. p[1] .. "'s name")
end
end

 

o error que aparece na distro é o seguinte.

 

mysql_real_query(): DELETE FROM `X`.`players` WHERE `players`.`name` = 'Vini'; - MYSQL ERROR: Table 'x.players' doesn't exist (1146)

 

eu uso TFS 0.4 r3884 versao 8.6.

 

Database: MYSQL

AkzsA
27 de dezembro de 2015 às 14:31

if(db.getResult("DELETE FROM `X`.`players` WHERE `players`.`name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then

o Erro é aí.

 

 

if(db.getResult("DELETE FROM `NomeDeSuaDatabase`.`players` WHERE `players`.`name` = " .. db.escapeString(p[1]) .. ";"):getID() == -1) then

Altere para o nome de sua database e teste novamente.

FlinktonF
27 de dezembro de 2015 às 19:39

agora aparece este erro.

 

 

mysql_store_result(): DELETE FROM `real`.`players` WHERE `players`.`name` = 'Testing'; - MYSQL ERROR:  (0)

 

o player é deletado, porem n pode criar 1 char com o mesmo nome dele.