No topo do fórum existe um botão chamado, pesquisa, ele adora ser usado.
http://www.xtibia.co...a-e-quem-morre/
Realmente não li, momento tem mais scripts desse tipo.
No topo do fórum existe um botão chamado, pesquisa, ele adora ser usado.
http://www.xtibia.co...a-e-quem-morre/
Realmente não li, momento tem mais scripts desse tipo.
Edited Junho 13 by Vilden
info
Group: Campones
Joined: 28/04/12
Posts: 17
Reputation: 0

Ai cara, ja falei que eu achei o script e não deu certo ! ler é bom sabia ?
Posta o erro que da usando a script.
info
Group: Campones
Joined: 28/04/12
Posts: 17
Reputation: 0

Só um minuto .
Bom , eu fiz um teste com meu amigo , deixei ele me matar pra ver se dava certo, ele não aparece erro nenhum,mais também não funciona o script!
Edited Junho 13 by Deneer
info
Group: Infante
Joined: 04/03/11
Posts: 1.6k
Reputation: +393
Tibia Character: No Have

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 = getCreatureName(lastHitKiller)
hitKillerLevel = getCreatureLevel(lastHitKiller)
else
hitKillerName = getCreatureName(lastHitKiller)
hitKillerLevel = NoHaveLevel
end
doBroadcastMessage(""..getPlayerName(cid).." level "..getPlayerLevel(cid).."has been killed by "..hitKillerName.." level "..hitKillerLevel
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
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 = getCreatureName(lastHitKiller)
hitKillerLevel = getCreatureLevel(lastHitKiller)
else
hitKillerName = getCreatureName(lastHitKiller)
hitKillerLevel = NoHaveLevel
end
doBroadcastMessage(""..getPlayerName(cid).." level "..getPlayerLevel(cid).."has been killed by "..hitKillerName.." level "..hitKillerLevel
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
Edited Junho 13 by caotic
info
Group: Campones
Joined: 28/04/12
Posts: 17
Reputation: 0

Po cara não deu certo,e também ia pedir só pra fazer esse script pra PVP, e não pra PVM
Queria que só falasse quando jogador matasse jogador.
Edited Junho 13 by Deneer
info
Group: Herói
Joined: 20/05/10
Posts: 3.4k
Reputation: +1.5k
Gender: Masculino

info
Group: Campones
Joined: 28/04/12
Posts: 17
Reputation: 0
Bom , eu sei que ja tem topico aqui no XTIBIA sobre isso mais eu não consegui fazê-lo pegar no meu ot.
É Assim , eu quero que esse script funcione para level 300+ apenas por favor.
Vamos Supor que eu sou o Dener e eu mato um outro char chamado Pedro.
Quero que apareça uma mensagem no Defaut em roxo escrito
Dener [357] (<~MEU LEVEL) Matou Pedro [320] (<~Level do Pedro)
E se um time for matar um cara só , que apareça o nome de quem pegou frag
Me ajudem por favor , acho que fui claro
Obrigado ! =]
Deneer.