аудиофайл не передается голосом

Сообщения
23
Реакции
11
Плагин не передает аудиофайл голосом

Я думал, это не сработает, потому что это бот

client_print
я использовал
Я перекомпилировал свой код
Когда я убил бота, плагин заработал. Аудиофайл находится в правильном месте.
но нет звука

a4cee37c.png


вот мой код плагина
Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "alp"
#define VERSION "1.0"
#define AUTHOR "Sen"

#define MAX_KILLS 5

new g_iKills[MAX_PLAYERS + 1]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "newkill", "a")
}

public newkill()
{
    new killer = read_data(1)
    new victim = read_data(2)

    if (killer == victim) return

    g_iKills[killer]++

    new soundfile[64]
    format(soundfile, charsmax(soundfile), "kill%d.wav", min(g_iKills[killer], MAX_KILLS))

    // Ses dosyasının adını konsola yazdır
    client_print(0, print_chat, "Playing sound: %s", soundfile)

    client_cmd(0, "play ^"%s^"", soundfile)
}

public client_disconnect(id)
{
    g_iKills[id] = 0
}
 
Сообщения
274
Реакции
133
Помог
13 раз(а)
Аудиофайл находится в правильном месте
Можно поподробнее, в правильном месте на клиенте или на сервере ?
Потому что для того что бы аудиофайл скачивался с сервера клиенту его нужно добавлять в прекеш
Если на клиенте прописать в консоль play kill3.wav то звук воспроизводит ?
 
Сообщения
23
Реакции
11
Можно поподробнее, в правильном месте на клиенте или на сервере ?
Потому что для того что бы аудиофайл скачивался с сервера клиенту его нужно добавлять в прекеш
Если на клиенте прописать в консоль play kill3.wav то звук воспроизводит ?
Нет, консоль на процессоре вообще не отвечает. Я создал другой каталог, перекомпилировал его и отправил на сервер, но он все равно не воспроизводится.
 
Сообщения
1,097
Реакции
61
Помог
11 раз(а)
Нет, консоль на процессоре вообще не отвечает. Я создал другой каталог, перекомпилировал его и отправил на сервер, но он все равно не воспроизводится.
Не достаточно, что звук лежит на сервере, его требуется кешировать клиенту, как указали выше
 
Сообщения
23
Реакции
11
Можно поподробнее, в правильном месте на клиенте или на сервере ?
Потому что для того что бы аудиофайл скачивался с сервера клиенту его нужно добавлять в прекеш
Если на клиенте прописать в консоль play kill3.wav то звук воспроизводит ?
Не достаточно, что звук лежит на сервере, его требуется кешировать клиенту, как указали выше
да, я кэшировал аудиофайл

При конвертации wav файла из mp3 я увеличил уровень частоты и все работает без проблем, вот обновленный код.


Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "alp"
#define VERSION "1.0"
#define AUTHOR "Sen"

#define MAX_KILLS 5

new g_iKills[MAX_PLAYERS + 1]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "newkill", "a")

    // Ses dosyalarını önbelleğe al
    for (new i = 1; i <= MAX_KILLS; i++)
    {
        new soundfile[64]
        format(soundfile, charsmax(soundfile), "valo/kill%d.wav", i)
        precache_sound(soundfile)
    }
}

public newkill()
{
    new killer = read_data(1)
    new victim = read_data(2)

    if (killer == victim) return

    g_iKills[killer]++

    new soundfile[64]
    format(soundfile, charsmax(soundfile), "valo/kill%d.wav", min(g_iKills[killer], MAX_KILLS))

    // Ses dosyasının adını konsola yazdır
    client_print(0, print_chat, "Playing sound: %s", soundfile)

    client_cmd(0, "play ^"%s^"", soundfile)
}

public client_disconnect(id)
{
    g_iKills[id] = 0
}
 
Сообщения
674
Реакции
242
Помог
11 раз(а)
Функция plugin_precache, фактически первый вызываемый форвард при старте плагина, по этому целесообразно именно в нем кешировать все необходимые файлы.
 
Сообщения
23
Реакции
11
Функция plugin_precache, фактически первый вызываемый форвард при старте плагина, по этому целесообразно именно в нем кешировать все необходимые файлы.
Код:
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "newkill", "a")
    register_event("HLTV", "round_start", "a", "1=0")

    // Ses dosyalarını önbelleğe al
    precache_sound("alazul/kill1.wav")
    precache_sound("alazul/kill2.wav")
    precache_sound("alazul/kill3.wav")
    precache_sound("alazul/kill4.wav")
    precache_sound("alazul/kill5.wav")
}
Да, я изменил его таким образом, и он работает лучше.
 
Сообщения
1,097
Реакции
61
Помог
11 раз(а)
Код:
public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "newkill", "a")
    register_event("HLTV", "round_start", "a", "1=0")

    // Ses dosyalarını önbelleğe al
    precache_sound("alazul/kill1.wav")
    precache_sound("alazul/kill2.wav")
    precache_sound("alazul/kill3.wav")
    precache_sound("alazul/kill4.wav")
    precache_sound("alazul/kill5.wav")
}
Да, я изменил его таким образом, и он работает лучше.
Код:
public plugin_precache()
{
    //........
}
 
Сообщения
218
Реакции
22
Помог
6 раз(а)
чтобы воспроизвести wav, это вызывается с помощью spk

Код:
public newkill()
{
    //..
    format(soundfile, charsmax(soundfile), "kill%d.wav", min(g_iKills[killer], MAX_KILLS))

-    client_cmd(0, "play ^"%s^"", soundfile)
+    client_cmd(0, "spk ^"%s^"", soundfile)
}
Если это mp3, то оно меняется

Код:
-    client_cmd(0, "play ^"%s^"", soundfile)
+    client_cmd(0, "mp3 play ^"%s^"", soundfile)
 
Сообщения
290
Реакции
251
Помог
7 раз(а)
Diff:
- format(soundfile, charsmax(soundfile), "kill%d.wav", min(g_iKills[killer], MAX_KILLS))
+ format(soundfile, charsmax(soundfile), "alazul/kill%d, min(g_iKills[killer]))


- client_cmd(0, "play ^"%s^"", soundfile)
+ client_cmd(0, "spk %s", soundfile)
 
Последнее редактирование:
Сообщения
23
Реакции
11
Код:
public plugin_precache()
{
    //........
}
чтобы воспроизвести wav, это вызывается с помощью spk



Код:
-    client_cmd(0, "play ^"%s^"", soundfile)
+    client_cmd(0, "mp3 play ^"%s^"", soundfile)
Если это mp3, то оно меняется
Diff:
- format(soundfile, charsmax(soundfile), "kill%d.wav", min(g_iKills[killer], MAX_KILLS))
+ format(soundfile, charsmax(soundfile), "alazul/kill%d, min(g_iKills[killer]))


- client_cmd(0, "play ^"%s^"", soundfile)
+ client_cmd(0, "spk %s", soundfile)


Does it read mp3 format? I haven't tried this



Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Valorant Kill Sounds"
#define VERSION "1.0"
#define AUTHOR "Alazul"

#define MAX_KILLS 5

new g_iKills[MAX_PLAYERS + 1]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "newkill", "a")
    register_event("HLTV", "round_start", "a", "1=0")

    // Ses dosyalarını önbelleğe al
    precache_sound("alazul/kill1.wav")
    precache_sound("alazul/kill2.wav")
    precache_sound("alazul/kill3.wav")
    precache_sound("alazul/kill4.wav")
    precache_sound("alazul/kill5.wav")
}

public newkill()
{
    new killer = read_data(1)
    new victim = read_data(2)

    // Geçerli oyuncu olup olmadığını kontrol et
    if (!is_user_connected(killer) || !is_user_connected(victim)) return

    if (killer == victim) return

    g_iKills[killer]++

    new soundfile[64]
    format(soundfile, charsmax(soundfile), "alazul/kill%d.wav", (g_iKills[killer] - 1) % MAX_KILLS + 1)

    client_cmd(killer, "play %s", soundfile)
}

public round_start()
{
    // Her oyuncunun öldürme sayacını sıfırla
    for (new id = 1; id <= MAX_PLAYERS; id++)
    {
        g_iKills[id] = 0
    }
}

public client_disconnect(id)
{
    g_iKills[id] = 0
}
 
Сообщения
23
Реакции
11
Код:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "Valorant Kill Sounds"
#define VERSION "1.0"
#define AUTHOR "Alazul"

#define MAX_KILLS 5

new g_iKills[MAX_PLAYERS + 1]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_event("DeathMsg", "newkill", "a")
    register_event("HLTV", "round_start", "a", "1=0")
}

public plugin_precache()
{
    // Ses dosyalarını önbelleğe al
    precache_sound("alazul/kill1.wav")
    precache_sound("alazul/kill2.wav")
    precache_sound("alazul/kill3.wav")
    precache_sound("alazul/kill4.wav")
    precache_sound("alazul/kill5.wav")
}

public newkill()
{
    new killer = read_data(1)
    new victim = read_data(2)

    // Geçerli oyuncu olup olmadığını kontrol et
    if (!is_user_connected(killer) || !is_user_connected(victim)) return

    if (killer == victim) return

    g_iKills[killer]++

    new soundfile[64]
    // Ses dosyası adını oluştur
    format(soundfile, charsmax(soundfile), "alazul/kill%d.wav", min(g_iKills[killer], MAX_KILLS))

    // Ses dosyasını oynat
    client_cmd(0, "spk %s", soundfile)
}

public round_start()
{
    // Her oyuncunun öldürme sayacını sıfırla
    for (new id = 1; id <= MAX_PLAYERS; id++)
    {
        g_iKills[id] = 0
    }
}

public client_disconnect(id)
{
    g_iKills[id] = 0
}
 
Сообщения
35
Реакции
9
Does it read mp3 format? I haven't tried this
"spk" only allows .wav files with a certain rate(44100 Hz is the best) to be played, while "mp3 play" only plays .mp3s (I know, it's unexpected :D). Also, FYI, the volume of sounds played with "spk" is controlled by a player in the options(tab "Audio") with the "Sound effects volume" slider only, so is "mp3 play" with "MP3 Volume" slider.
 
Сообщения
23
Реакции
11
"spk" only allows .wav files with a certain rate(44100 Hz is the best) to be played, while "mp3 play" only plays .mp3s (I know, it's unexpected :D). Also, FYI, the volume of sounds played with "spk" is controlled by a player in the options(tab "Audio") with the "Sound effects volume" slider only, so is "mp3 play" with "MP3 Volume" slider.
This situation is ironic :D Thank you for this, additionally, I still cannot get the volume to a very good level when adjusting the frequency and bit.

Preview:
 
Сообщения
35
Реакции
9
I still cannot get the volume to a very good level when adjusting the frequency and bit.
I think I've stumbled upon this issue once as well. Exporting MP3s to Wave files tend to worsen quality of the sounding, so does worsens its volume. You can try different frequencies and maybe also try adding Decibels to the sound but not too many as this could easily make it sound scratchy and annoying. I think the way I kinda solved the quietness is I just had downgraded the frequency, in the end it made the sound louder in expense of sound's quality and distortion. Either way, try playing with the frequency (maybe bits too but I'm not sure, I reckon CS 1.6 can't play a .wav with more than 16 bits) and check what you get. I guess in the end you sacrifice either loudness or quality, or leave it as-is 🤷‍♂️.
 
Сообщения
23
Реакции
11
I think I've stumbled upon this issue once as well. Exporting MP3s to Wave files tend to worsen quality of the sounding, so does worsens its volume. You can try different frequencies and maybe also try adding Decibels to the sound but not too many as this could easily make it sound scratchy and annoying. I think the way I kinda solved the quietness is I just had downgraded the frequency, in the end it made the sound louder in expense of sound's quality and distortion. Either way, try playing with the frequency (maybe bits too but I'm not sure, I reckon CS 1.6 can't play a .wav with more than 16 bits) and check what you get. I guess in the end you sacrifice either loudness or quality, or leave it as-is 🤷‍♂️.
Yes I'm trying to improve this, I hope I can succeed. 💀
 
Сообщения
218
Реакции
22
Помог
6 раз(а)
с помощью <emit_sound> вы можете регулировать громкость, но я не уверен, что все игроки это слышат.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу