Ir para conteúdo

Playerdeath Não Funciona


GodBz

Posts Recomendados

Eu achei esse scrpit:

local config = {

deathListEnabled = getBooleanFromString(getConfigInfo('deathListEnabled')),

sqlType = getConfigInfo('sqlType'),

maxDeathRecords = getConfigInfo('maxDeathRecords')

}

 

config.sqlType = config.sqlType == "sqlite" and DATABASE_ENGINE_SQLITE or DATABASE_ENGINE_MYSQL

 

function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)

if(config.deathListEnabled ~= TRUE) then

return

end

 

local hitKillerName = "field item"

local damageKillerName = ""

if(lastHitKiller ~= FALSE) then

if(isPlayer(lastHitKiller) == TRUE) then

hitKillerName = getCreatureName(lastHitKiller)

else

hitKillerName = getCreatureName(lastHitKiller)

end

 

doBroadcastMessage(""..getPlayerName(cid).." Foi Morto Pelo(a) "..hitKillerName..".")

 

if(mostDamageKiller ~= FALSE and mostDamageKiller ~= lastHitKiller and getCreatureName(mostDamageKiller) ~= getCreatureName(lastHitKiller)) then

if(isPlayer(mostDamageKiller) == TRUE) then

damageKillerName = getPlayerGUID(mostDamageKiller)

else

damageKillerName = getCreatureName(mostDamageKiller)

end

end

end

 

db.executeQuery(" INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `altkilled_by`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", " .. db.escapeString(hitKillerName) .. ", " .. db.escapeString(damageKillerName) .. ");")

local rows = db.getResult("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";")

if(rows:getID() ~= -1) then

local amount = rows:getRows(true) - config.maxDeathRecords

if(amount > 0) then

if(config.sqlType == DATABASE_ENGINE_SQLITE) then

for i = 1, amount do

db.executeQuery("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);")

end

else

db.executeQuery("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT " .. amount .. ";")

end

end

end

end

 

Mais ele não funciona em meu server 8.40 tfs sqlite

Apresente esse erro:

Atempt to call global 'getBoobleanFormString' <a nil value>

Pelo que eu entendi meu server não conta com a função 'getBoobleanFormString'

Eu ja retirei essa parte do script:

deathListEnabled = getBooleanFromString(getConfigInfo('deathListEnabled')),

Dai ele roda mais não tem utilidade, ou seja os anuncios de mortes não acontecem...

Alguem sabe alguma forma de fazer ele rodar??

Ou algum outro script que rode??

Editado por GodBz
Link para o comentário
Compartilhar em outros sites

No config.lua ?? La esta assim:

deathListEnabled = "yes"

É a mesma coisa não é??

Eu uso 8.40 fica yes no lugar do thue...

mesmo assim o erro perciste...

Link para o comentário
Compartilhar em outros sites

Ae brow sua dica deu certo, paro de aparece o erro

Atempt to call global 'getBoobleanFormString' <a nil value>
só que infeslismente apareceu esse outro erro:
attempt to callglobal 'doBroadcastMassage' <a nil value>stack traceback: data/creaturescripts/scripts/playerdeath.lua:23: in function <data/creaturescripts/scripts/playerdeath.lua:9>

Sabe como arruma esse tb?? se souber fico mt grato...

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...