não funcionou
info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: Kimera DebochadoOo

info
Grupo: Visconde
Registrado: 11/04/12
Posts: 328
Reputação: +7
Char no Tibia: ADM MiHawk

ahhhhh se funcioar é rep+ to de olho ein ![]()
info
Grupo: Campones
Registrado: 24/10/11
Posts: 65
Reputação: 0
Char no Tibia: Fleps Drunou

eae funfou?
@jean...
voce usa mysql né? então é esse aqui para voce...
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, "Este jogador não existe.")
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") .. " por:\n "
elseif(i == count) then
str = str .. " e por "
elseif(i % 4 == 0) then
str = str .. ",\n "
else
str = str .. ", "
end
if(monster ~= "") then
str = str .. monster .. " sumonado por "
end
str = str .. killers:getDataString("player_name")
else
if(i == 0) then
str = str .. "Morto no level " .. deaths:getDataInt("level") .. " por:\n "
elseif(i == count) then
str = str .. " e por "
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 = "Não tem mortes."
end
doPlayerPopupFYI(cid, "Deathlist do player: " .. targetName .. ".\n\n" .. str)
return true
end
Se não for mysql, vai dar erro '-' eu nao sei mudar para sqlite...
Se algum scripter souber, posta ai.
info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: Kimera DebochadoOo

sqlite plz
info
Grupo: Campones
Registrado: 24/10/11
Posts: 65
Reputação: 0
Char no Tibia: Fleps Drunou

Pow, eu conheço alguns scripters, mais nem um deles me respondem '-'
vodkart vc mesmo disse > existe sim, eu estou vendo algumas querys aqui, para mysql existe vários comandos death list:
mysql para sql sem ser saite sempre da debug olha que ja testei varios scrips.
allisson nao existe o deathlist de la da debug,deathlist do stylle e um poko diferente ele funciona mais nao aparace pra quem ele morreu e ainda da uns erro na tabela do ot =/
info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: Kimera DebochadoOo

Pelo visto ninguém consegue, topico morto '-'
info
Grupo: Conde
Registrado: 21/03/12
Posts: 651
Reputação: +89
Char no Tibia: Pussycat !

SIM AJUDENOSSSSSSSSSSS
velho para de flood tu encheu o topico de flood reportado
ate
se saiu completamente de acordo do pedido
ate
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

vodkart vc mesmo disse > existe sim, eu estou vendo algumas querys aqui, para mysql existe vários comandos death list:
mysql para sql sem ser saite sempre da debug olha que ja testei varios scrips.
allisson nao existe o deathlist de la da debug,deathlist do stylle e um poko diferente ele funciona mais nao aparace pra quem ele morreu e ainda da uns erro na tabela do ot =/
pois é, para qslite é diferente, desse jeito funciona, porém não aparece para quem morreu:
limit = 5
function onSay(cid, words, param, channel)
local getPlayer = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";")
if(getPlayer:getID() == -1) then doPlayerSendCancel(cid, "Este Player não existe.") return true end
local getGuid = getPlayer:getDataInt("id")
getPlayer:free()
local str = ""
local qry = db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit)
if(qry:getID() ~= -1) then
repeat
str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." Morto no level "..qry:getDataInt("level")..""
until not(qry:next())
qry:free()
else
str = "Não há mortes."
end
doPlayerPopupFYI(cid, "Lista de Mortes de: " .. param .. ".\n\n" .. str)
return true
end
Galera vamos esperar a ajuda, ficar pedindo toda hora não vai faze com que
ela se resolva, além do mais, pode até chegar a ser um flood.
Cuidado.
info
Grupo: Marquês
Registrado: 18/05/11
Posts: 1.1k
Reputação: +150
Gênero: Masculino

Vodkart abre uma exceção pra mim velho por favor?
Faz o script pra mim la?
http://www.xtibia.com/forum/topic/184816-script-reino/page__fromsearch__1
Tu disse q é facil.
E se puder fazer algo por mim nesse, não tem nada a ver com pokemon,
é só o nome do sistema:
http://www.xtibia.com/forum/topic/185060-duvida-script-mkalo/page__fromsearch__1
Obrigado.
Até+
Abraços!!
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

consegui (:

acho que funfa em sqlite e mysql '-'
Vodkart, se você não for postar a script e ajudar os caras não é necessário
esse comentário a cima, certo?
abç
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

mas eu vou postar sim, só estou vendo se eles vão querer '-'
-------------------------------------
está ai para quem quiser:
na sua db executa isso:
CREATE TABLE death_list ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, date INTEGER NOT NULL, level INTEGER NOT NULL, killer_name INTEGER NOT NULL, PRIMARY KEY ( id ) );
creaturescript
death_list.lua
function onDeath(cid, corpse, deathList)
local death = "field item"
if isPlayer(deathList[1]) or isMonster(deathList[1]) then
death = getCreatureName(deathList[1])
end
db.executeQuery("INSERT INTO `death_list` (`player_id`, `date`, `level`, `killer_name`) VALUES ('".. getPlayerGUID(cid).."', '".. os.time() .."', '".. getPlayerLevel(cid) .."', '".. death .."');")
return true
end
creaturescript.xml
<event type="death" name="DeathList" event="script" value="death_list.lua"/>
creaturescript/script/login.lua
registerCreatureEvent(cid, "DeathList")
talkactions
deathlist.lua
limit = 5
function onSay(cid, words, param, channel)
local getPlayer = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";")
if(getPlayer:getID() == -1) then doPlayerSendCancel(cid, "Este Player não existe.") return true end
local getGuid = getPlayer:getDataInt("id")
getPlayer:free()
local str = ""
local qry = db.getResult("SELECT `id`, `date`, `level`, `killer_name` FROM `death_list` WHERE `player_id` = " .. getGuid .." ORDER BY `date` DESC LIMIT 0, " .. limit)
if(qry:getID() ~= -1) then
repeat
str = str .."\n "..os.date("%d %B %Y %X ", qry:getDataInt("date")).." Morto no level "..qry:getDataInt("level").." Por: "..qry:getDataString("killer_name").."."
until not(qry:next())
qry:free()
else
str = "Não há mortes."
end
doPlayerPopupFYI(cid, "Lista de Mortes de: " .. param .. ".\n\n" .. str)
return true
end
talkactions.xml
<talkaction words="!deathlist" script="deathlist.lua"/>
Editado Maio 1 por Vodkart









info
Grupo: Campones
Registrado: 24/10/11
Posts: 65
Reputação: 0
Char no Tibia: Fleps Drunou
Voce usa sqlite não é?
pera ae.
Tenta isso.
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 query = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";") if(target:getID() == -1) then doPlayerSendCancel(cid, "Este jogador não existe.") return true end local targetName, targetId = target:getDataString("name"), target:getDataInt("id") target:free() local str, deaths = "", db.executeQuery("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") .. " por:\n " elseif(i == count) then str = str .. " e por " elseif(i % 4 == 0) then str = str .. ",\n " else str = str .. ", " end if(monster ~= "") then str = str .. monster .. " sumonado por " end str = str .. killers:getDataString("player_name") else if(i == 0) then str = str .. "Morto no level " .. deaths:getDataInt("level") .. " por:\n " elseif(i == count) then str = str .. " e por " 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 = "Não tem mortes." end doPlayerPopupFYI(cid, "Deathlist do player: " .. targetName .. ".\n\n" .. str) return true endSe pá... vai dar tudo errado, mais vou ver como é que vai ficar esse script para Sqlite.