Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Замена стандартных звуков в начале и конце раунда
Замена стандартных звуков в начале и конце раунда
Shouldercannon Дата: Среда, 21.02.2024, 13:29:43 | Сообщение # 1
Сообщений: 21
Репутация: 0 [ +/- ]
Хочу заменить стандартный звук в начале раунда (Okey. let's go! и т.д.) и в конце раунда Counter-terrorists win и Terrorists win.
Думал смогу сделать это через
Код
AddNormalSoundHook(DeathSound);

но
Код
public Action DeathSound(clients[64], &numClients, String:sample[PLATFORM_MAX_PATH], &entity, &channel, &Float:volume, &level, &pitch, &flags)
{
    PrintToChatAll("sample = %s", sample);
    return Plugin_Continue;
}

показывает все звуки кроме нужных.
 
_wS_ Дата: Среда, 21.02.2024, 16:02:00 | Сообщение # 2
Thanks
GetUserMessageId("SendAudio")
HookUserMessage
LogMessage
!strcmp
return Plugin_Continue / Plugin_Handled;
 
Shouldercannon Дата: Пятница, 23.02.2024, 21:52:41 | Сообщение # 3
Сообщений: 21
Репутация: 0 [ +/- ]
Пока так работает
Код
#include <sdktools>

#define MAX_STR_LEN 128

new UserMsg:g_umSendAudio;

...

public OnPluginStart()
{
    // Um: RadioAudio
    if ((g_umSendAudio = GetUserMessageId("SendAudio")) != INVALID_MESSAGE_ID)
  HookUserMessage(g_umSendAudio, UserMsgSendAudio, true);
    else
  SetFailState("GetUserMessageId for SendAudio");

    HookEvent("round_end", Round_End, EventHookMode_Pre);
}
// No sound
public Action UserMsgSendAudio(UserMsg:msg_id, Handle:bf, const players[], playersNum, bool:reliable, bool:init)
{
    char msg_str[MAX_STR_LEN];

    BfReadString(bf, msg_str, sizeof(msg_str));

    if (StrEqual(msg_str, "radio.go", false) || StrEqual(msg_str, "radio.locknload", false) || StrEqual(msg_str, "radio.moveout", false) || StrEqual(msg_str, "radio.letsgo", false))
  return Plugin_Handled;

    return Plugin_Continue;
}

public Action Round_End(Event event, char[] name, bool B_DontBroadcast)
{
    for (new i = 1; i < MaxClients; i++)
    {
  if (IsClientInGame(i) && !IsFakeClient(i))
  {
   StopSound(i, SNDCHAN_STATIC, "radio/ctwin.wav");
   StopSound(i, SNDCHAN_STATIC, "radio/terwin.wav");
  }
    }
}
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Замена стандартных звуков в начале и конце раунда
  • Страница 1 из 1
  • 1
Поиск: