Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Гайд Кастомный Sound hitmark getmemes (stackhack)

  • Автор темы Автор темы PIZYY
  • Дата начала Дата начала
Заебали тапать
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
11 Июл 2017
Сообщения
284
Реакции
97
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Для начала добавим сам hitsound.
NewMenu.cpp
Надеюсь поймёте куда вставить :3
Код:
Expand Collapse Copy
const char* hitmark[] = { "none", "skeet", "bameware", ":RoflanEbalo:" };
ImGui::Combo("Hitmarker sound", &SETTINGS::settings.hitmark_int, hitmark, ARRAYSIZE(hitmark));
variables.h
Код:
Expand Collapse Copy
int hitmark_int;
EventListener.cpp
19 строка
Код:
Expand Collapse Copy
#include <playsoundapi.h>
Потом добавьте сам playsoundapi.h в проект.
Код:
Expand Collapse Copy
/********************************************************************************
*                                                                               *
* playsoundapi.h -- ApiSet Contract for api-ms-win-mm-playsound-l1-1-0          *
*                                                                               *
* Copyright (c) Microsoft Corporation. All rights reserved.                     *
*                                                                               *
********************************************************************************/

#ifdef _MSC_VER
#pragma once
#endif // _MSC_VER

#ifndef _PLAYSOUNDAPI_H_
#define _PLAYSOUNDAPI_H_

#include <apiset.h>
#include <apisetcconv.h>


#include <mmsyscom.h> // mm common definitions

/* APISET_NAME: api-ms-win-mm-playsound-l1 */
/* APISET_TAG: public */

#if !defined(RC_INVOKED)

#ifndef _APISET_PLAYSOUND_VER
#ifdef _APISET_TARGET_VERSION
#if _APISET_TARGET_VERSION >= _APISET_TARGET_VERSION_WIN8
#define _APISET_PLAYSOUND_VER 0x0100
#endif
#endif
#endif

#endif // !defined(RC_INVOKED)


#ifdef __cplusplus
extern "C" {
#endif

#pragma region Desktop Family

#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)

#ifndef MMNOSOUND                                            
/****************************************************************************

                            Sound support

****************************************************************************/

#ifdef _WIN32

WINMMAPI
BOOL
WINAPI
sndPlaySoundA(
    _In_opt_ LPCSTR pszSound,
    _In_ UINT fuSound
    );

WINMMAPI
BOOL
WINAPI
sndPlaySoundW(
    _In_opt_ LPCWSTR pszSound,
    _In_ UINT fuSound
    );

#ifdef UNICODE
#define sndPlaySound  sndPlaySoundW
#else
#define sndPlaySound  sndPlaySoundA
#endif // !UNICODE

#else
DLOAD_RET(FALSE)
BOOL WINAPI sndPlaySound(LPCSTR pszSound, UINT fuSound);
#endif

/*
 *  flag values for fuSound and fdwSound arguments on [snd]PlaySound
 */
#define SND_SYNC            0x0000  /* play synchronously (default) */
#define SND_ASYNC           0x0001  /* play asynchronously */
#define SND_NODEFAULT       0x0002  /* silence (!default) if sound not found */
#define SND_MEMORY          0x0004  /* pszSound points to a memory file */
#define SND_LOOP            0x0008  /* loop the sound until next sndPlaySound */
#define SND_NOSTOP          0x0010  /* don't stop any currently playing sound */

#define SND_NOWAIT      0x00002000L /* don't wait if the driver is busy */
#define SND_ALIAS       0x00010000L /* name is a registry alias */
#define SND_ALIAS_ID    0x00110000L /* alias is a predefined ID */
#define SND_FILENAME    0x00020000L /* name is file name */
#define SND_RESOURCE    0x00040004L /* name is resource name or atom */

#if (WINVER >= 0x0400)
#define SND_PURGE           0x0040  /* purge non-static events for task */
#define SND_APPLICATION     0x0080  /* look for application specific association */
#endif /* WINVER >= 0x0400 */
#define SND_SENTRY      0x00080000L /* Generate a SoundSentry event with this sound */
#define SND_RING        0x00100000L /* Treat this as a "ring" from a communications app - don't duck me */
#define SND_SYSTEM      0x00200000L /* Treat this as a system sound */

#define SND_ALIAS_START 0           /* alias base */

#ifdef _WIN32
#define sndAlias(ch0, ch1)      (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8))

#define SND_ALIAS_SYSTEMASTERISK        sndAlias('S', '*')
#define SND_ALIAS_SYSTEMQUESTION        sndAlias('S', '?')
#define SND_ALIAS_SYSTEMHAND            sndAlias('S', 'H')
#define SND_ALIAS_SYSTEMEXIT            sndAlias('S', 'E')
#define SND_ALIAS_SYSTEMSTART           sndAlias('S', 'S')
#define SND_ALIAS_SYSTEMWELCOME         sndAlias('S', 'W')
#define SND_ALIAS_SYSTEMEXCLAMATION     sndAlias('S', '!')
#define SND_ALIAS_SYSTEMDEFAULT         sndAlias('S', 'D')


WINMMAPI
BOOL
WINAPI
PlaySoundA(
    _In_opt_ LPCSTR pszSound,
    _In_opt_ HMODULE hmod,
    _In_ DWORD fdwSound
    );

WINMMAPI
BOOL
WINAPI
PlaySoundW(
    _In_opt_ LPCWSTR pszSound,
    _In_opt_ HMODULE hmod,
    _In_ DWORD fdwSound
    );

#ifdef UNICODE
#define PlaySound  PlaySoundW
#else
#define PlaySound  PlaySoundA
#endif // !UNICODE

#else
DLOAD_RET(FALSE)
BOOL WINAPI PlaySound(LPCSTR pszSound, HMODULE hmod, DWORD fdwSound);
#endif

#endif  /* ifndef MMNOSOUND */

#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#pragma endregion

#ifdef __cplusplus
}
#endif

#endif // _PLAYSOUNDAPI_H_
EventListener.cpp
180 строка, примерно там
Код:
Expand Collapse Copy
switch (SETTINGS::settings.hitmark_int)
        {
        case 0: break;
        case 1: INTERFACES::Surface->IPlaySound("buttons\\arena_switch_press_02.wav"); break; // skeet ( metallic )
        case 2:    PlaySoundA(bameware, NULL, SND_ASYNC | SND_MEMORY); break; // Anime
        case 3:    PlaySoundA(vitalya, NULL, SND_ASYNC | SND_MEMORY); break; // Vitalya
        }
EventListener.cpp
16 строка
Код:
Expand Collapse Copy
#include "../FEATURES/hitmark.h"
Теперь добавим сам hitmark.
Я не стал кидать код, это самоубийство, просто скину свой.
Пожалуйста, авторизуйтесь для просмотра ссылки.

Теперь поговорим, как сделать кастомный hitsound.
Нам нужны сами звуки, именно в формате .wav !1!
Желательно обрезать их, чтоб были короткие.
Качаем
Пожалуйста, авторизуйтесь для просмотра ссылки.

Пожалуйста, авторизуйтесь для просмотра ссылки.

Там выбираем файл и конвертируем в байты, байты которые мы получили кидаем в hitmark.h
Это заменяем
Код:
Expand Collapse Copy
BYTE NameArry[/*53568*/] =
{
//тут байты
}
на
Код:
Expand Collapse Copy
char название[] = {
//тут байты
}
И выводим в EventListener
Пример
Код:
Expand Collapse Copy
case 4:    PlaySoundA(название, NULL, SND_ASYNC | SND_MEMORY); break;
И выводим в NewMenu
Код:
Expand Collapse Copy
const char* hitmark[] = { "none", "skeet", "bameware", ":RoflanEbalo:", "Название" };
Вроде усо, всем пасеба и пака
 
Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Зачем делать...
1. Юзлесс гайды.
2. То что уже "100 лет" в пабе блть.
3. + если ты делаешь кастом hitsound блть это можно сделать совсем иначе (тупо брать hitsound формата wav в определённой директории
Пожалуйста, авторизуйтесь для просмотра ссылки.
*NOT_REKLAMA_BLET*)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Зачем делать...
1. Юзлесс гайды.
2. То что уже "100 лет" в пабе блть.
3. + если ты делаешь кастом hitsound блть это можно сделать совсем иначе (тупо брать hitsound формата wav в определённой директории
Пожалуйста, авторизуйтесь для просмотра ссылки.
*NOT_REKLAMA_BLET*)
Мне кажется будет легче переводить в байты, чем каждому кидать в директорию звуковой файл...
 
Назад
Сверху Снизу