- Joined
- Aug 5, 2008
- Messages
- 1,581
- Reaction score
- 79
Code:
<event type="kill" name="DeathBroadcast" script="deathBroadcast.lua"/>
Code:
registerCreatureEvent(cid, "DeathBroadcast")
Code:
local config = {
killStorageValue = 39434,
deathStorageValue = 39444,
-- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME
rewardItem = {
use = false,
itemid = 8698,
minLevel = 8, -- false if you don't want any level req
minLevelDiff = 2, -- false if you don't want any level diff req (negative numbers allowed).
text = "This is a gift to |KILLERNAME| [|KILLERLEVEL|] for killing |TARGETNAME| [|TARGETLEVEL|]"
},
killMessage = {
use = true,
text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!",
messageClass = MESSAGE_STATUS_CONSOLE_BLUE
},
broadcastMessage = {
use = false,
minLevel = 8, -- false if you don't want any level req
minLevelDiff = 0, -- false if you don't want any level diff req (negative numbers allowed).
text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!",
messageClass = MESSAGE_STATUS_WARNING
},
killerAnimation = {
use = true,
text = "Frag!", -- Only 9 letters! No "commands" here.
color = 215
},
targetAnimation = {
use = true,
text = "Owned!", -- Only 9 letters! No "commands" here.
color = 215
}
}
function onKill(cid, corpse, killer)
if(isPlayer(killer) == TRUE) then
local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1
local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1
local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1
local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1
setPlayerStorageValue(killer, config.killStorageValue, targetKills)
setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths)
local killerLevel = getPlayerLevel(killer)
local targetLevel = getPlayerLevel(cid)
local levelDiff = targetLevel - killerLevel
local values = {
["KILLERKILLS"] = killerKills,
["KILLERDEATHS"] = killerDeaths,
["KILLERNAME"] = getCreatureName(killer),
["KILLERLEVEL"] = killerLevel,
["TARGETKILLS"] = targetKills,
["TARGETDEATHS"] = targetDeaths,
["TARGETNAME"] = getCreatureName(cid),
["TARGETLEVEL"] = targetLevel
}
function formateString(str)
return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end)))
end
if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then
local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 1)
doSetItemSpecialDescription(uid, formateString(config.rewardItem.text))
end
if(config.killMessage.use) then
doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text))
end
if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then
broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass)
end
if(config.killerAnimation.use) then
doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color)
end
if(config.targetAnimation.use) then
doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color)
end
end
return TRUE
end
Nothing broadcasts, nothing happends..
WHY?