Otimo script vodkart, parabéns reputado
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- [Talk] Deathlist [Fixed/no Crash]
Bacana o script Vodkart, com certeza vou usa-lo, +REP
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Tava na hra de alguem postar um deathlist que funcione. ![]()
Rep+
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ATUALIZADO PARA V.1
- Mostra agora se o player morreu [blessed] ou com [Aol]
- Mostra últimas mortes do servidor
Agora com os bang de [Aol] e [bless] fico melhor ainda
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

obrigado pelos comentários
qualquer dúvida só postar
Rep+, não existe um deathlist que funcione, e agora além de ter
esta com funções extras.
Parabéns.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

obrigado pelos comentários
Bring
Up
My
Post
info
Grupo: Campones
Registrado: 26/11/08
Posts: 1
Reputação: 0

Mano sou muito noob nessa parada de script mas gostei muito do seu script e estava querendo colocar no servidor que estou criando. No início da escrito: in your db execute this query <- onde tenho que colocar o que está escrito no retângulo, o que eu tenho que fazer ?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

Mano sou muito noob nessa parada de script mas gostei muito do seu script e estava querendo colocar no servidor que estou criando. No início da escrito: in your db execute this query <- onde tenho que colocar o que está escrito no retângulo, o que eu tenho que fazer ?
1° Abra o programa Sqlite
2° Selecione a database do seu server, o arquivo é esse ".s3db", por exemplo o "forgottenserver.s3db"
3° na parte superior do programa tem a aba "Tools",clica nela e seleciona "Open SQL query editor" ou (ALT + E) se preferir
4° Vai abrir uma janela branca,nela você coloca 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 )
);
5° Depois clica no ícone do raio ali na parte de cima ou aperta o botão F9 que vai fazer com que a query seja executada.
info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: Kimera DebochadoOo

Aqui no meu server só esta mostrando na lista de mortes quem deu o ultimo hit, i não como mostra na imagem morto por warlock, stone golem.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

então olha se você colocou o script direito do onDeath, porque ta funcionando normal aqui, outra coisa... qual versão do seu ot?
info
Grupo: Artesão
Registrado: 25/03/12
Posts: 109
Reputação: +4
Char no Tibia: Kimera DebochadoOo

fiz tudo igual ta la em cima, 8.60
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

tenta usar assim então:
function onDeath(cid, corpse, deathList)
local str = ""
for _, pid in ipairs(deathList) do
if isCreature(pid) == true then
str = str.."".. (str == "" and "" or ",") ..""..getCreatureName(pid)
else
str = str.."".. (str == "" and "" or ",") .." a field item"
end
end
str = str.."."
death = str .. " ".. (getPlayerBlessing(cid, 5) and "[blessed]" or getPlayerSlotItem(cid, 2).itemid == 2173 and "[AOL]" or "")
db.executeQuery("INSERT INTO `death_list` (`player_id`, `date`, `level`, `killer_name`) VALUES ('".. getPlayerGUID(cid).."', '".. os.time() .."', '".. getPlayerLevel(cid) .."', '".. death .."');")
return true
end
Editado Junho 22 por Vodkart








info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino
Atualizado V1.0:


Mostra últimas mortes do servidor:
você pode usar o comando !deathlist NOME
ex: !deathlist Carlin:
in your db execute this query:
creaturescript
death_list.lua
function onDeath(cid, corpse, deathList) local str = "" for _, pid in ipairs(deathList) do if isCreature(pid) == true then str = str.."".. (str == "" and "" or ",") ..""..getCreatureName(pid) else str = str.."".. (str == "" and "" or ",") .." a field item" end end str = str.."." death = str .. " ".. (getPlayerBlessing(cid, 5) and "[Blessed]" or getPlayerSlotItem(cid, 2).itemid == 2173 and "[AOL]" or "") db.executeQuery("INSERT INTO `death_list` (`player_id`, `date`, `level`, `killer_name`) VALUES ('".. getPlayerGUID(cid).."', '".. os.time() .."', '".. getPlayerLevel(cid) .."', '".. death .."');") return true endcreaturescript.xml
creaturescript/script/login.lua
talkactions
deathlist.lua
limit = 5 function onSay(cid, words, param, channel) str = "" if param == "" then local qry = db.getResult("SELECT `player_id`, `date`, `level`, `killer_name` FROM `death_list` 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")).." "..getPlayerNameByGUID(qry:getDataString("player_id")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes no servidor." end doPlayerPopupFYI(cid, "Last Deaths:\n\n" .. str) return true end local getGuid = getPlayerGUIDByName(param:lower()) if not getGuid then doPlayerSendCancel(cid, "Este Player não existe.") return true end 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")).." died at level "..qry:getDataInt("level").." by:\n"..qry:getDataString("killer_name") until not(qry:next()) qry:free() else str = "Não há mortes." end doPlayerPopupFYI(cid, "Last Deaths of: " .. param .. ".\n\n" .. str) return true endtalkactions.xml
Editado Julho 28 por Vodkart