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.
Por DenerAlc98, 13 de jun. de 2012 em Scripts
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.
Editado Junho 13 por Vilden
info
Grupo: Campones
Registrado: 28/04/12
Posts: 17
Reputação: 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
Grupo: Campones
Registrado: 28/04/12
Posts: 17
Reputação: 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!
Editado Junho 13 por Deneer
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: 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
Editado Junho 13 por caotic
info
Grupo: Campones
Registrado: 28/04/12
Posts: 17
Reputação: 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.
Editado Junho 13 por Deneer
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

info
Grupo: Campones
Registrado: 28/04/12
Posts: 17
Reputação: 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.