Tipo do script: addItem
Protocolo (versão do Tibia): 8.4
Servidor utilizado: TFS 0.3.1.1231
Nível de experiência: 20x
Adicionais/Informações:
È o seguinte eu queria uma script, se possivel introduzida no playerdeath.lua
que quando um tal player matasse o outro, o player que matasse, ganhasse um item ou dinheiro
e só, eu ja tentei doPlayerAddItem(cid,param,1) usando todas as variaveis do playerdeath.lua, mas nao consegui.
Vou mandar aqui meu playerdeath.lua:
local config = {deathListEnabled = getBooleanFromString(getConfigInfo('deathListEnabled')),
sqlType = getConfigInfo('sqlType'),
maxDeathRecords = getConfigInfo('maxDeathRecords')
}
function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)
if(config.deathListEnabled == TRUE) then
local hitKillerName = "field item"
local damageKillerName = ""
if(lastHitKiller ~= FALSE) then
if(isPlayer(lastHitKiller) == TRUE) then
hitKillerName = getPlayerGUID(lastHitKiller)
else
hitKillerName = getCreatureName(lastHitKiller)
end
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:numRows(true) - config.maxDeathRecords)
if(amount > 0) then
if(config.sqlType == "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
end
function onDeath(cid, corpse, killer)
local player = getCreatureName(cid)
local killername = getCreatureName(killer)
local level = getPlayerLevel(cid)
local levelkiller = getPlayerLevel(killer)
if getPlayerLevel(cid) >= 0 then
broadcastMessage(""..player.." ["..level.."] acabou de ser morto(a) por "..killername.." ["..levelkiller.."].",19)
else
return TRUE
end
end
Obrigado