Postado Dezembro 22, 2015 9 anos Olá! Estou fazendo um OT, e encontrei alguns problemas sem resposta. Pelo menos não vi nenhum tópico relacionado, então resolvi perguntar. Um dos problemas é no Dead Human. No pvp, quando um player mata o outro, ele simplesmente desaparece, e não cai o Dead Human. Ou seja, se dropar algum loot dele eu não vou saber. Como não encontrei ajuda, tentei trocar a distro e o problema persistiu. Uso um TSF 0.4 , OTserv 8.60. Espero que alguém possa me ajudar!!
Postado Dezembro 22, 2015 9 anos @Henrique Rezende Verificou se não há nenhum arquivo do creaturescript bugando as mortes? Muitos dos erros relacionados à isso são corrigidos trocando por um creaturescript limpo ou verificando qual é o script que está causando esse problema. Na maioria das vezes é uma quest.
Postado Dezembro 22, 2015 9 anos Autor 2 horas atrás, Azhaurn disse: @Henrique Rezende Verificou se não há nenhum arquivo do creaturescript bugando as mortes? Muitos dos erros relacionados à isso são corrigidos trocando por um creaturescript limpo ou verificando qual é o script que está causando esse problema. Na maioria das vezes é uma quest. @Azhaurn Eu tirei todos os creaturescripts relacionados a quests e não resolveu. Tem um creaturescript chamado Playerdeath.lua. Será q pode ser nele o problema? Citar 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 Editado Dezembro 22, 2015 9 anos por Henrique Rezende (veja o histórico de edições)
Postado Dezembro 22, 2015 9 anos Autor 17 horas atrás, Azhaurn disse: @Henrique Rezende Verificou se não há nenhum arquivo do creaturescript bugando as mortes? Muitos dos erros relacionados à isso são corrigidos trocando por um creaturescript limpo ou verificando qual é o script que está causando esse problema. Na maioria das vezes é uma quest. @Azhaurn Consegui! Troquei o Creaturescripts inteiro pelo creaturescripts de um outro OT, e agora está aparecendo o dead normalmente. Valeu pela ajuda! Rep +
Postado Dezembro 22, 2015 9 anos 15 minutos atrás, Henrique Rezende disse: @Azhaurn Consegui! Troquei o Creaturescripts inteiro pelo creaturescripts de um outro OT, e agora está aparecendo o dead normalmente. Valeu pela ajuda! Rep + Disponha! Mas evite double post pra não levar bronca, ok?
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.