*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:
Din pachet vei avea nevoie de urmatoarele fisiere:
Deschide UserInterface/Locale_inc.h si adauga:
Copiaza cele 6 fisiere din folderul MilesLib al pachetului in folderul tau MilesLib.
Fisiere noi:
Fisiere care se inlocuiesc:
Este recomandat sa faci backup fisierelor existente inainte de inlocuire.
Copiaza bass.h in:
Copiaza bass.lib in:
In Visual Studio, in proiectul MilesLib, foloseste:
Adauga:
Pentru urmatoarele fisiere:
Deschide Properties si seteaza:
Setarea trebuie aplicata pentru toate configuratiile proiectului.
Deschide MilesLib/SoundInstance.h si cauta:
Adauga dedesubt:
Cauta:
Adauga deasupra:
La finalul aceleiasi clase cauta:
Adauga dedesubt:
Deschide MilesLib/SoundManager.h si cauta:
Adauga deasupra:
Cauta:
Adauga dedesubt:
Cauta:
Adauga dedesubt:
Cauta:
Adauga dedesubt:
Deschide MilesLib/SoundManager.cpp, in functia CSoundManager::Update, si cauta:
Adauga dedesubt:
Cauta:
Adauga deasupra:
Cauta:
Adauga deasupra:
Deschide UserInterface/UserInterface.cpp si cauta:
Adauga dedesubt:
Deschide UserInterface/PythonSoundManagerModule.cpp si cauta:
Adauga deasupra:
Cauta:
Adauga dedesubt:
Deschide root/game.py si cauta:
Adauga dedesubt:
Cauta:
Adauga deasupra:
Copiaza bass.dll din pachet langa executabilul clientului:
Deschide common/service.h si adauga:
Deschide game/src/packet.h si cauta:
Adauga dedesubt:
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:
Adauga dedesubt:
Deschide game/src/input.h, in clasa CInputP2P, si cauta:
Adauga dedesubt:
Deschide game/src/input_p2p.cpp si cauta:
Adauga deasupra:
In functia CInputP2P::Analyze cauta:
Adauga deasupra:
Deschide game/src/cmd.h si adauga deasupra ultimului #endif:
Deschide game/src/cmd.cpp si cauta:
Adauga deasupra:
In acelasi fisier, la finalul listei de comenzi, cauta:
Adauga deasupra:
Deschide game/src/cmd_gm.cpp si adauga la finalul fisierului:
Dupa compilare, comenzile disponibile pentru GM_IMPLEMENTOR sunt:
Pentru a reda un MP3 din folderul BGM tuturor playerilor, pe toate canalele:
Pentru un singur player de pe canalul curent:
Pentru a reda muzica direct dintr-un URL tuturor playerilor:
Pentru un singur player de pe canalul curent:
Pentru a opri muzica custom si a reveni la muzica normala a hartii pentru toti:
Pentru un singur player:
Link-ul folosit de /play_url trebuie sa duca direct catre un fisier audio, de exemplu:
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):
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.
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.dllDeschide UserInterface/Locale_inc.h si adauga:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
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.hFisiere care se inlocuiesc:
Cod: Selectaţi tot
SoundInstanceStream.cpp
SoundManagerStream.h
SoundManagerStream.cppEste 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 ItemAdauga:
Cod: Selectaţi tot
BassSoundData.cpp
BassSoundData.h
SoundInstanceStream.hPentru urmatoarele fisiere:
Cod: Selectaţi tot
BassSoundData.cpp
SoundInstanceStream.cpp
SoundManagerStream.cppDeschide Properties si seteaza:
Cod: Selectaţi tot
C/C++ -> Precompiled Headers -> Not Using Precompiled HeadersSetarea 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.
la acest mesaj și conținutul se va afișa automat.Cauta:
Cod: Selectaţi tot
class CSoundInstanceStream : public ISoundInstanceAdauga deasupra:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.dllDeschide common/service.h si adauga:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
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_AWAKENESSAdauga dedesubt:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Valoarea:
Cod: Selectaţi tot
44trebuie 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.
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.
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.
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.
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.
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.
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.
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.
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_stopPentru 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
.oggLink-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):



