Skocz do zawartości
Master

[CS:GO] Testowanie piosenek Abner Res

Rekomendowane odpowiedzi

  • Lubię to! 4
Napisano (edytowane)

Opis

 

Prosty plugin, który umożliwia w łatwy sposób odtwarzanie piosenek z pluginu: https://github.com/abnerfs/round_end_sounds
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!. 

 

Komenda

 

!testmusic - otwiera menu

 

Plugin

 

Spoiler

#include <sdktools>
#include <clientprefs>

#pragma semicolon 1
#pragma newdecls required

public void OnPluginStart()
{
	RegAdminCmd("sm_testmusic", CMD_Menu, ADMFLAG_ROOT);
}

public Action CMD_Menu(int client, int args)
{
    MusicMenu().Display(client, 0);
    return Plugin_Handled;
}

Menu MusicMenu()
{
    Menu menu = new Menu(Menu_Handler);
    menu.SetTitle("Muzyka:");

    ConVar cvar = FindConVar("res_tr_path");

    char sBuffer[64];
    cvar.GetString(sBuffer, sizeof(sBuffer));

    char sPath[PLATFORM_MAX_PATH];
    Format(sPath, sizeof(sPath), "sound/%s/", sBuffer);

    DirectoryListing pluginsDir = OpenDirectory(sPath);

    if(pluginsDir != null)
    {
        char fileName[128];
        while(pluginsDir.GetNext(fileName, sizeof(fileName)))
        {
            int extPosition = strlen(fileName) - 4;
            if(StrContains(fileName, ".mp3", false) == extPosition)
            {
                char sSoundName[512];
                Format(sSoundName, sizeof(sSoundName), "%s/%s", sBuffer, fileName);
                menu.AddItem(sSoundName, sSoundName);
            }
        }
    }

    delete pluginsDir;

    return menu;
}

public int Menu_Handler(Menu menu, MenuAction action, int client, int param2)
{
    switch(action)
    {
        case MenuAction_End:
        {
            delete menu;
        }
        case MenuAction_Select:
        {
            char sSound[512];
            menu.GetItem(param2, sSound, sizeof(sSound));

            Handle hVolumeCookie = FindClientCookie("abner_res_volume");

            char sCookieValue[11];
            GetClientCookie(client, hVolumeCookie, sCookieValue, sizeof(sCookieValue));

            if(StrEqual(sCookieValue, "") || StrEqual(sCookieValue, "0"))
                Format(sCookieValue , sizeof(sCookieValue), "%0.2f", 0.75);

            float fVolume = StringToFloat(sCookieValue);

            delete hVolumeCookie;

            ClientCommand(client, "playgamesound Music.StopAllMusic");

            PrecacheSound(sSound);

            EmitSoundToClient(client, sSound, _, _, _, _, fVolume);

            PrintToChat(client, "-------------------------------------------------");
            PrintToChat(client, "Piosenka: %s", sSound);
            PrintToChat(client, "Głośność: %f", fVolume);
            PrintToChat(client, "-------------------------------------------------");

            MusicMenu().DisplayAt(client, GetMenuSelectionPosition(), 0);
        }
    }
}

 

 

 

Master_PlayMusic_Test.sp
Hej! Skorzystałeś z linku lub pobrałeś załącznik? Uhonoruj naszą pracę poprzez rejestrację na forum i rośnij razem z nami!

Edytowane przez Master

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Aktualizacja

  • Poprawiono błąd z Precache piosenek
  • Dodano zatrzymanie dźwięków przy wyborze 

 

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.


×
×
  • Dodaj nową pozycję...