Ir para conteúdo

Death List


rodrygosos

Posts Recomendados

Seguinte Galera to com problema grave no meu server, ele é versão 8.60, acontece o seguinte problema, tipo quando eu dou !deathlist em um player que nunca morreu aparece direitinho, mais se eu der !deathlist em um player que já morreu o serve fecha. Já tentei mudar o Distro, Database, e o Script no talktions mais até agora nada. Aguardo resposta mais rapido possivel.

Link para o comentário
Compartilhar em outros sites

Aparece alguma mensagem de erro na janela do servidor ao aplicar o comando, ou até mesmo na abertura do servidor? E precisamos de mais dados. Qual o core que você usa? E qual o script usado pro comando !deathlist no seu servidor?

Link para o comentário
Compartilhar em outros sites

Cara Antigamente quando nao sabia mecher muinto em Scripting meu Otserv dava Varios Debugs com o DeathList ate que tentei Trocar por este e nunca mais deu Problema.. Tente usar Este

 

Data>Talkactions.xml Adicione isso:

 

<talkaction words="!deathlist" event="script" value="deathlist.lua"/>

 

Agora em Data>Talkactions>Scripts crie uma pasta.lua chamada deathlist e coloque isso:

 

-- [( Created by: GT Thionix, edited by: DoidinMapper for XTibia.com )] --

function onSay(cid, words, param, channel)
local config = {displayLimit = 10}
local target = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";")
if(target:getID() == -1) then
doPlayerSendCancel(cid, "Esse Player nao Existe.")
return TRUE
end
local targetName = target:getDataString("name")
local targetGUID = target:getDataInt("id")
target:free()
local str = ""
local deaths = db.getResult("SELECT `time`, `level`, `killed_by`, `altkilled_by` FROM `player_deaths` WHERE `player_id` = " .. targetGUID .. " ORDER BY `time` DESC;")
if(deaths:getID() ~= -1) then
local n = 0
local breakline = ""
repeat
n = n + 1
if(str ~= "") then
breakline = "\n"
end
local time = os.date("%d %B %Y %X ", deaths:getDataInt("time"))
local level = deaths:getDataInt("level")
local lastHitKiller = deaths:getDataString("killed_by")
local mostDamageKiller = deaths:getDataString("altkilled_by")
local killed = ""
if(tonumber(lastHitKiller)) then
killed = getPlayerNameByGUID(tonumber(lastHitKiller))
else
killed = getArticle(lastHitKiller) .. " " .. string.lower(lastHitKiller)
end
if(mostDamageKiller ~= "") then
if(tonumber(mostDamageKiller)) then
killed = killed .. " and by " .. getPlayerNameByGUID(tonumber(mostDamageKiller))
else
killed = killed .. " and by " .. getArticle(mostDamageKiller) .. " " .. string.lower(mostDamageKiller)
end
end
str = str .. breakline .. " " .. time .. " Died at Level " .. level .. " by " .. killed .. "."
until not(deaths:next()) or n > config.displayLimit
deaths:free()
else
str = "No deaths recorded."
end
doPlayerPopupFYI(cid, "Deathlist for player: " .. targetName .. ".\n\n" .. str)
return TRUE
end

 

Obs> Delete Tudo, de DeathList antigos que tu tenha na pasta do seu otserv para nao dar debug..

 

Abraços..

Link para o comentário
Compartilhar em outros sites

DevilMoon você quase resolveu meu problema agora o serve não fecha mais e a death list funciona só que não fala por quem o player foi morto so fala quando e em que level, e tem um erro no distro assim:

[26/08/2010 17:58:23] Error during getDataInt(time).

[26/08/2010 17:58:23] Error during getDataString(killed_by).

[26/08/2010 17:58:23] Error during getDataString(altkilled_by).

Aparece isso sempre que eu dou deathlist.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...