Ir para conteúdo

Posts Recomendados

Galera da uma olhada nesse script ai para mim ele esta funcionando direitinho só que ele não mostra por quem o plyaer foi morto Só aparece quando morreu e em que level mais não aparece para quem e a data esta errada, ele estava em 1900 e alguma coisa, alguem concerta esse script para mim foi o unico que servio no meu server ele é 8.60

Exemplo: !deathlist Player

Aparece o seguinte:

31 Debember 1969 22:00:00 Died at Level 614 by a.

A data esta errada e não mostra para oq ele morreu.

Espero que alguem posso mim ajudar.

 

E da o seguinte erro no distro:

[27/08/2010 22:04:12] Error during getDataInt(time).

[27/08/2010 22:04:12] Error during getDataString(killed_by).

[27/08/2010 22:04:12] Error during getDataString(altkilled_by).

 

-- [( 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

 

Desculpa por esta postado novamente, não sei bem mais acho que é errado, mais é como forma de prostesto pois não tenho respostas, meu pedido esta aqui a alguns dias e até agora nada, se alguem estiver testando pelo menos deixe alguma coisa aqui para mim saber que tem alguem tentando fazer algo para mim ajudar, fiquei abismado, pois sempre que pedia ajuda aqui rapidamente a recebia oque esta acontecendo aqui? cade a qualidade que fez o Xtibia ser meu forum preferido? Sem mais.

Editado por TkSamer
Link para o comentário
https://xtibia.com/forum/topic/140253-script-simples/
Compartilhar em outros sites

TkSamer

 

Eu fiz uma coisa no meu Ot e resolvi esse mesmo problema que voce enfrenta, vamos la.

 

Troque o seu deathlist por esse a baixo ( Clique em Show, ao lado do Spoiler ):

 

 

 

local config = {

deathAssistCount = getConfigValue('deathAssistCount') + 1,

maxDeathRecords = getConfigValue('maxDeathRecords'),

limit = ""

}

 

if(config.deathAssistCount > 0) then

config.limit = " LIMIT 0, " .. config.deathAssistCount

end

 

function onSay(cid, words, param, channel)

local target = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";")

if(target:getID() == -1) then

doPlayerSendCancel(cid, "A player with that name does not exist.")

return true

end

 

local targetName, targetId = target:getDataString("name"), target:getDataInt("id")

target:free()

 

local str, deaths = "", db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. targetId .." ORDER BY `date` DESC LIMIT 0, " .. config.maxDeathRecords)

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

repeat

local killers = db.getResult("SELECT environment_killers.name AS monster_name, players.name AS player_name FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id WHERE killers.death_id = " .. deaths:getDataInt("id") .. " ORDER BY killers.final_hit DESC, killers.id ASC" .. config.limit)

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

if(str ~= "") then

str = str .. "\n" .. os.date("%d %B %Y %X ", deaths:getDataLong("date"))

else

str = os.date("%d %B %Y %X ", deaths:getDataLong("date"))

end

 

local count, i = killers:getRows(false), 0

repeat

local monster = killers:getDataString("monster_name")

if(i == 0 or i == (count - 1)) then

monster = string.gsub(monster:gsub("an ", ""), "a ", "")

end

 

if(killers:getDataString("player_name") ~= "") then

if(i == 0) then

str = str .. "Killed at level " .. deaths:getDataInt("level") .. " by:\n "

elseif(i == count) then

str = str .. " and by "

elseif(i % 4 == 0) then

str = str .. ",\n "

else

str = str .. ", "

end

 

if(monster ~= "") then

str = str .. monster .. " summoned by "

end

 

str = str .. killers:getDataString("player_name")

else

if(i == 0) then

str = str .. "Died at level " .. deaths:getDataInt("level") .. " by:\n "

elseif(i == count) then

str = str .. " and by "

elseif(i % 4 == 0) then

str = str .. ",\n "

else

str = str .. ", "

end

 

str = str .. monster

end

 

i = i + 1

if(i == count) then

str = str .. "."

end

until not(killers:next())

killers:free()

end

until not(deaths:next())

deaths:free()

else

str = "No deaths recorded."

end

 

doPlayerPopupFYI(cid, "Deathlist for player: " .. targetName .. ".\n\n" .. str)

return true

end

 

 

 

Salve, agora va no conf.lua e ache essa parte

 

Database
sqlType = "sqlite" < - Troque por "mysql"
sqlHost = "localhost"
sqlPort = 3306
sqlUser = "root"

 

Pelo menos resolveu o meu problema, tente e poste aqui. Prova que funcionou, OT We Do OTS 8.60 \/

post-78428-011727400 1283552060_thumb.jpg

Editado por Zorrado
Link para o comentário
https://xtibia.com/forum/topic/140253-script-simples/#findComment-928365
Compartilhar em outros sites

×
×
  • Criar Novo...