Ir para conteúdo

Bug Quando O Player Morre! O_O'


TheGODMaX

Posts Recomendados

Bem, o nome do topic ja diz, quando o player morre da um bug no console, esse é o bug que aparece:

otbug.jpg

 

:/

 

Oque acontece é o seguinte:

Quando o player morre, seu corpo NAO APARECE NO CHAO, e o player NAO PERDE LOOT...

Porém perde lvl e skills...

 

SCRIPT: PLAYERDEATH.LUA DA PASTA CREATURESCRIPTS:

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 = getPlayerGUID(lastHitKiller)

else

hitKillerName = getCreatureName(lastHitKiller)

end

 

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

 

OT SERVER VERSÃO 8.54 !!!!! :3

è isso...

Acho que postei na seçao errada mais aki foi o lugar que mais me pareceu correto...

 

Se alguem puder me ajudar ficarei muito grato, thanks

 

(sorry por estragar o layout)

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

poderia pegar o script da pasta data/creaturescript/playerdeath pra eu dar uma olhada? fikaria grato xD

 

@EDIT

OMG SORRY QUANDO TAVA ESCREVENDO N TINHA MAIS AGORA JA TEM LEU MINHA MENTE XD

@EDIT

tem como voce fazer o upload do seu arquivo s3db?

acho que o erro esta la =/

voce deve ter mechido sem querer sei la

ou se nao quizer passar para eu nao ter acesso as senhas do ot escolha eh sua

o script do playerdeath n achei nada de errado mais se alguem achar xD

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

×
×
  • Criar Novo...