i still don't think im doing this right. Please forgive me this is my first time coding in Lua. Now the player see's the Debug message in that they died but its just got getting back to the raid leader so they can tell the raid someone died while updating how many people have died so far if you'd like to review the entire code
https://github.com/kajuvra/GnomeRunner/
Code:
C_ChatInfo.RegisterAddonMessagePrefix(GnomeRunner.addonPrefix)
Code:
function GnomeRunner.OnUnitHealth(unit)
if unit == "player" and UnitHealth("player") == 0 then
-- Player has died, trigger death announcement
print("DEBUG: Player has died!")
GnomeRunner.OnPlayerDead()
end
end
Code:
-- Part of the code to receive the message and play the sound
function GnomeRunner.OnChatMsgAddon(prefix, message, channel, sender)
if prefix == GnomeRunner.addonPrefix then
print("Addon message received:", message)
if message == "START_RACE" then
print("Received START_RACE. Playing sound.")
PlaySoundFile(GnomeRunner.soundFile)
elseif message == "START_RACE_SOUND" then
PlaySoundFile(GnomeRunner.soundFile)
elseif strmatch(message, "PLAYER_DEAD:") then
-- Add debug message for receiving PLAYER_DEAD message
print("Received PLAYER_DEAD message.")
local _, deadPlayer = strsplit(":", message)
GnomeRunner.AnnouncePlayerDeath(deadPlayer)
end
end
end
function GnomeRunner.OnPlayerDead()
if GnomeRunner.raceInProgress then
if not GnomeRunner.lastDeadPlayer or not GnomeRunner.lastDeadPlayerHealth then
print("Error: Unable to retrieve player name or health for death announcement.")
return
end
if UnitIsGroupLeader("player") then
GnomeRunner.AnnouncePlayerDeath(GnomeRunner.lastDeadPlayer)
-- Add debug message for sending PLAYER_DEAD message
print("Sending PLAYER_DEAD message.")
C_ChatInfo.SendAddonMessage(GnomeRunner.addonPrefix, "PLAYER_DEAD:" .. GnomeRunner.lastDeadPlayer, "RAID") -- Add this line to broadcast the death to the raid
else
C_ChatInfo.SendAddonMessage(GnomeRunner.addonPrefix, "PLAYER_DEAD:" .. GnomeRunner.lastDeadPlayer, "WHISPER", GnomeRunner.raidLeader)
-- Add debug message for sending PLAYER_DEAD message
print("Sending PLAYER_DEAD message to raid leader.")
end
GnomeRunner.totalDeaths = GnomeRunner.totalDeaths + 1
end
end
-- New function to announce player deaths in raid chat
function GnomeRunner.AnnouncePlayerDeath(playerName)
SendChatMessage(playerName .. " has died!", "RAID")
end