Administrator
Administrator
  • Mesaje: 4965
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 125373
  • Mesaje utile: 47
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Metin2 BASS Music System - Muzica din URL si BGM

    Acest sistem inlocuieste motorul Miles doar pentru muzica de fundal cu BASS si adauga posibilitatea de a reda muzica direct din URL. Efectele audio precum skill-uri, hit-uri sau pasi raman pe Miles.

    - muzica BGM este redata prin BASS;
    - suport pentru MP3 si stream direct din URL;
    - incarcare URL fara blocarea clientului;
    - comenzi GM pentru tot serverul sau un singur player;
    - broadcast intre toate canalele prin P2P;
    - sistemul poate fi dezactivat din define si revine la Miles.

    *Poze / Video:
    *Link download / Code:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.


    Din pachet vei avea nevoie de urmatoarele fisiere:

    Cod: Selectaţi tot

    Client Src/source/MilesLib/BassSoundData.h
    Client Src/source/MilesLib/BassSoundData.cpp
    Client Src/source/MilesLib/SoundInstanceStream.h
    Client Src/source/MilesLib/SoundInstanceStream.cpp
    Client Src/source/MilesLib/SoundManagerStream.h
    Client Src/source/MilesLib/SoundManagerStream.cpp
    
    Client Src/extern/include/bass.h
    Client Src/extern/library/bass.lib
    
    Client/bass.dll

    Deschide UserInterface/Locale_inc.h si adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Copiaza cele 6 fisiere din folderul MilesLib al pachetului in folderul tau MilesLib.

    Fisiere noi:

    Cod: Selectaţi tot

    BassSoundData.h
    BassSoundData.cpp
    SoundInstanceStream.h

    Fisiere care se inlocuiesc:

    Cod: Selectaţi tot

    SoundInstanceStream.cpp
    SoundManagerStream.h
    SoundManagerStream.cpp

    Este recomandat sa faci backup fisierelor existente inainte de inlocuire.


    Copiaza bass.h in:

    Cod: Selectaţi tot

    extern/include/

    Copiaza bass.lib in:

    Cod: Selectaţi tot

    extern/library/

    In Visual Studio, in proiectul MilesLib, foloseste:

    Cod: Selectaţi tot

    Add -> Existing Item

    Adauga:

    Cod: Selectaţi tot

    BassSoundData.cpp
    BassSoundData.h
    SoundInstanceStream.h

    Pentru urmatoarele fisiere:

    Cod: Selectaţi tot

    BassSoundData.cpp
    SoundInstanceStream.cpp
    SoundManagerStream.cpp

    Deschide Properties si seteaza:

    Cod: Selectaţi tot

    C/C++ -> Precompiled Headers -> Not Using Precompiled Headers

    Setarea trebuie aplicata pentru toate configuratiile proiectului.


    Deschide MilesLib/SoundInstance.h si cauta:

    Cod: Selectaţi tot

    #include "SoundBase.h"

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    class CSoundInstanceStream : public ISoundInstance

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    La finalul aceleiasi clase cauta:

    Cod: Selectaţi tot

        HSTREAM        m_stream;
    };

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide MilesLib/SoundManager.h si cauta:

    Cod: Selectaţi tot

    #include "../eterBase/Singleton.h"

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    void FadeInMusic(const char * c_szFileName, float fVolumeSpeed = 0.016f);

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    MUSIC_STATE_FADE_LIMIT_OUT,

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    void PlayMusic(DWORD dwIndex, const char * c_szFileName, float fVolume, float fVolumeSpeed);

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide MilesLib/SoundManager.cpp, in functia CSoundManager::Update, si cauta:

    Cod: Selectaţi tot

    case MUSIC_STATE_FADE_OUT:
        rMusicInstance.fVolume -= rMusicInstance.fVolumeSpeed;
        if (rMusicInstance.fVolume <= 0.0f)
        {
            rMusicInstance.fVolume = 0.0f;
            rMusicInstance.fVolumeSpeed = 0.0f;
            rMusicInstance.MusicState = MUSIC_STATE_OFF;
    
            StopMusic(i);
        }
        {
            CSoundInstanceStream * pInstance = ms_SoundManagerStream.GetInstance(i);
            if (pInstance)
                pInstance->SetVolume(rMusicInstance.fVolume);
        }
        break;

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    void CSoundManager::FadeLimitOutMusic(const char * c_szFileName, float fLimitVolume, float fVolumeSpeed)

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    void CSoundManager::StopMusic(DWORD dwIndex)

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/UserInterface.cpp si cauta:

    Cod: Selectaţi tot

    #pragma comment( lib, "mss32.lib" )

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide UserInterface/PythonSoundManagerModule.cpp si cauta:

    Cod: Selectaţi tot

    PyObject * sndFadeOutMusic(PyObject * poSelf, PyObject * poArgs)

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    { "FadeInMusic",            sndFadeInMusic,                METH_VARARGS },

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide root/game.py si cauta:

    Cod: Selectaţi tot

    "PlayMusic"                : self.__PlayMusic,

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Cauta:

    Cod: Selectaţi tot

    def __PlayMusic(self, flag, filename):

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Copiaza bass.dll din pachet langa executabilul clientului:

    Cod: Selectaţi tot

    Metin2Client.exe
    bass.dll

    Deschide common/service.h si adauga:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/packet.h si cauta:

    Cod: Selectaţi tot

    HEADER_GG_CHECK_AWAKENESS

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Valoarea:
    trebuie schimbata daca este deja folosita in lista ta de packet headers. Foloseste un header liber.


    Deschide game/src/packet_info.cpp si cauta:

    Cod: Selectaţi tot

    Set (HEADER_GG_CHECK_AWAKENESS,

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/input.h, in clasa CInputP2P, si cauta:

    Cod: Selectaţi tot

    void        IamAwake(LPDESC d, const char * c_pData);

    Adauga dedesubt:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/input_p2p.cpp si cauta:

    Cod: Selectaţi tot

    int CInputP2P::Analyze(LPDESC d, BYTE bHeader, const char * c_pData)

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In functia CInputP2P::Analyze cauta:

    Cod: Selectaţi tot

    case HEADER_GG_CHECK_AWAKENESS:

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/cmd.h si adauga deasupra ultimului #endif:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/cmd.cpp si cauta:

    Cod: Selectaţi tot

    struct command_info cmd_info[] =

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    In acelasi fisier, la finalul listei de comenzi, cauta:

    Cod: Selectaţi tot

    { "\n",

    Adauga deasupra:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Deschide game/src/cmd_gm.cpp si adauga la finalul fisierului:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.



    Dupa compilare, comenzile disponibile pentru GM_IMPLEMENTOR sunt:


    Pentru a reda un MP3 din folderul BGM tuturor playerilor, pe toate canalele:

    Cod: Selectaţi tot

    /play <fisier>

    Pentru un singur player de pe canalul curent:

    Cod: Selectaţi tot

    /play <player> <fisier>

    Pentru a reda muzica direct dintr-un URL tuturor playerilor:

    Cod: Selectaţi tot

    /play_url <link>

    Pentru un singur player de pe canalul curent:

    Cod: Selectaţi tot

    /play_url <player> <link>

    Pentru a opri muzica custom si a reveni la muzica normala a hartii pentru toti:

    Cod: Selectaţi tot

    /play_stop

    Pentru un singur player:

    Cod: Selectaţi tot

    /play_stop <player>

    Link-ul folosit de /play_url trebuie sa duca direct catre un fisier audio, de exemplu:

    Cod: Selectaţi tot

    .mp3
    .ogg

    Link-urile YouTube sau Spotify nu sunt suportate.


    Cand MNC_BASS_MUZIK este dezactivat, muzica revine la motorul Miles, iar PlayMusicFromURL este ignorat.


    Sistemul modifica doar partea de muzica. Sunetele de skill, hit, mers si celelalte effect sounds continua sa fie redate prin Miles.

    *Link scanare VirusTotal (obligatoriu):

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo
    See full signature

    Înapoi la “Îmbunătățiri”

    Informații

    Utilizatori ce navighează pe acest forum: _cv4_, freziop și 1 vizitator

    Discord ID copiat: