#include <amxmodx>

#define PLUGIN  "Duyuru ve Ses"
#define VERSION "1.1"
#define AUTHOR  "Bhaxx"

// Çalınacak ses dosyasının yolu (cstrike/sound/misc)
new const g_szKnifeSound[] = "misc/calicaksesiburayakoy.wav"

new bool:g_bKnifeSoundReady
new g_iMsgSayText

public plugin_precache()
{
    new szSoundPath[128]
    formatex(szSoundPath, charsmax(szSoundPath), "sound/%s", g_szKnifeSound)

    if (file_exists(szSoundPath))
    {
        precache_sound(g_szKnifeSound)
        g_bKnifeSoundReady = true
    }
    else
    {
        g_bKnifeSoundReady = false
        log_amx("Ses dosyasi bulunamadi: %s", szSoundPath)
    }
}

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    register_event("DeathMsg", "Event_DeathMsg", "a")

    g_iMsgSayText = get_user_msgid("SayText")
}

public Event_DeathMsg()
{
    new attacker = read_data(1)
    new victim   = read_data(2)

    if (attacker < 1 || attacker > 32 || victim < 1 || victim > 32)
        return

    if (attacker == victim || !is_user_connected(attacker) || !is_user_connected(victim))
        return

    new szWeapon[24]
    read_data(4, szWeapon, charsmax(szWeapon))

    if (!equal(szWeapon, "knife"))
        return

    new szAttackerName[32], szVictimName[32]
    get_user_name(attacker, szAttackerName, charsmax(szAttackerName))
    get_user_name(victim, szVictimName, charsmax(szVictimName))

    if (g_bKnifeSoundReady)
    {
        client_cmd(0, "spk %s", g_szKnifeSound)
    }

    new szMessage[192]
    formatex(
        szMessage,
        charsmax(szMessage),
        "^4(SylnexClan)ABOOOOOOOOOO ^3%s ^1adli oyuncu ^3%s ^1adli oyuncuya bicak atti",
        szAttackerName,
        szVictimName
    )

    for (new i = 0; i < 2; i++)
    {
        SendSayText(attacker, szMessage)
    }
}

stock SendSayText(colorPlayer, const szMessage[])
{
    for (new id = 1; id <= 32; id++)
    {
        if (!is_user_connected(id))
            continue

        message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, id)
        write_byte(colorPlayer)
        write_string(szMessage)
        message_end()
    }
}
