• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

HELP ! Broadcast at Kill and Death

CollapserMemory

New Member
Joined
Dec 4, 2014
Messages
66
Reaction score
1
[30/07/2015 21:41:56] [Error - CreatureScript Interface]
[30/07/2015 21:41:57] data/creaturescripts/scripts/playerdeath.lua:eek:nDeath
[30/07/2015 21:41:57] Description:
[30/07/2015 21:41:57] (internalGetPlayerInfo) Player not found when requesting player info #3

[30/07/2015 21:41:57] [Error - CreatureScript Interface]
[30/07/2015 21:41:57] data/creaturescripts/scripts/playerdeath.lua:eek:nDeath
[30/07/2015 21:41:57] Description:
[30/07/2015 21:41:57] data/creaturescripts/scripts/playerdeath.lua:21: attempt to concatenate a boolean value
[30/07/2015 21:41:57] stack traceback:
[30/07/2015 21:41:57] data/creaturescripts/scripts/playerdeath.lua:21: in function <data/creaturescripts/scripts/playerdeath.lua:9>

--- The CreatureScript --
Code:
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)
else
hitKillerName = getCreatureName(lastHitKiller)
end
end
doBroadcastMessage(""..getPlayerName(cid).." ["..getPlayerLevel(cid).."] Foi Morto Pelo(a) "..hitKillerName.." ["..getPlayerLevel(lastHitKiller).."].")
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
 
Last edited:
Back
Top