*Descriere:
Metin2 - Snow mode on/off din optiuni
Acest tutorial iti arata cum sa adaugi optiunea de activare sau dezactivare pentru Snow Mode direct din setarile jocului.
Sistemul permite schimbarea texturilor de iarna pentru anumite harti, direct din client, fara restart cu update instant a texturilor de pe jos!
*Poze / Video:
*Link download / Code:
Deschide PythonSystem.cpp si cauta:
Adauga sub:
Cauta:
Adauga sub:
Cauta:
Adauga sub:
Cauta:
Adauga sub:
Deschide PythonSystem.h si cauta:
Adauga sub:
Cauta:
Adauga sub:
Deschide PythonSystemModule.cpp si cauta:
Adauga sub:
Cauta:
Adauga sub:
Deschide PythonBackgroundModule.cpp si cauta:
Adauga sub:
Cauta:
Adauga sub:
Deschide MapOutdoor.cpp si cauta:
Adauga sub:
Deschide MapOutdoor.h si cauta:
Adauga sub:
Deschide game.py si cauta:
Adauga sub:
Deschide uigameoption.py si cauta:
Adauga sub:
Cauta:
Adauga sub:
Cauta:
Adauga sub:
Adauga la finalul fisierului:
Deschide uigameoption.py si adauga daca nu exista:
Deschide uiscript/gameoptiondialog.py si cauta:
Adauga sub:
Explicatie scurta:
Acest sistem adauga o setare noua in client pentru activarea sau dezactivarea texturilor de iarna. Cand optiunea este activa, pentru hartile setate in lista se incarca automat fisierele textureset/*_snow.txt. Cand optiunea este oprita, revine la textura normala.
Hartile folosite in exemplu:
Atentie:
- trebuie sa ai fisierele metin2_a1_snow.txt, metin2_b1_snow.txt si metin2_c1_snow.txt
- daca vrei si alte harti, le adaugi in lista snow_maps si in dictionarul snow_maps_textures
- pozitia din gameoptiondialog.py poate necesita ajustare in functie de interfata ta
Aici aveti textureset cu texturile de zapada setate:
*Link scanare VirusTotal (obligatoriu):
https://www.virustotal.com/gui/file/303 ... 30cd95c7ea
Metin2 - Snow mode on/off din optiuni
Acest tutorial iti arata cum sa adaugi optiunea de activare sau dezactivare pentru Snow Mode direct din setarile jocului.
Sistemul permite schimbarea texturilor de iarna pentru anumite harti, direct din client, fara restart cu update instant a texturilor de pe jos!
*Poze / Video:
- 04-19-2026, 12-27-11.png (566.41 KiB) Vizualizat de 373 ori
- 04-19-2026, 12-27-32.png (427.31 KiB) Vizualizat de 373 ori
Deschide PythonSystem.cpp si cauta:
Cod: Selectaţi tot
m_Config.bShowSalesText = true;
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
bool CPythonSystem::IsShowSalesText()
{
return m_Config.bShowSalesText;
}
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
else if (!stricmp(command, "SHOW_SALESTEXT"))
m_Config.bShowSalesText = atoi(value) == 1 ? true : false;
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
fprintf(fp, "SHADOW_LEVEL %d\n", m_Config.iShadowLevel);
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 PythonSystem.h si cauta:
Cod: Selectaţi tot
bool bShowSalesText;
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 SetShowSalesTextFlag(int iFlag);
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 PythonSystemModule.cpp si cauta:
Cod: Selectaţi tot
PyObject * systemIsShowSalesText(PyObject * poSelf, PyObject * poArgs)
{
return Py_BuildValue("i", CPythonSystem::Instance().IsShowSalesText());
}
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
{ "IsShowSalesText", systemIsShowSalesText, METH_VARARGS },
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 PythonBackgroundModule.cpp si cauta:
Cod: Selectaţi tot
PyObject * backgroundEnableSoftwareTiling(PyObject * poSelf, PyObject * poArgs)
{
int nIsEnable;
if (!PyTuple_GetInteger(poArgs, 0, &nIsEnable))
return Py_BadArgument();
bool isEnable = nIsEnable ? true : false;
CPythonBackground& rkBG = CPythonBackground::Instance();
rkBG.ReserveSoftwareTilingEnable(isEnable);
CPythonSystem& rkSystem = CPythonSystem::Instance();
rkSystem.SetSoftwareTiling(isEnable);
return Py_BuildNone();
}
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
{ "EnableSoftwareTiling", backgroundEnableSoftwareTiling, METH_VARARGS },
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 MapOutdoor.cpp si cauta:
Cod: Selectaţi tot
void CMapOutdoor::SetEnvironmentScreenFilter()
{
if (!mc_pEnvironmentData)
return;
m_ScreenFilter.SetEnable(mc_pEnvironmentData->bFilteringEnable);
m_ScreenFilter.SetBlendType(mc_pEnvironmentData->byFilteringAlphaSrc, mc_pEnvironmentData->byFilteringAlphaDest);
m_ScreenFilter.SetColor(mc_pEnvironmentData->FilteringColor);
}
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 MapOutdoor.h si cauta:
Cod: Selectaţi tot
void RenderScreenFiltering();
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.py si cauta:
Cod: Selectaţi tot
self.currentCubeNPC = 0
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 uigameoption.py si cauta:
Cod: Selectaţi tot
def __Initialize(self):
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
self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
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
self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton)
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.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.Deschide uigameoption.py si adauga daca nu exista:
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 uiscript/gameoptiondialog.py si cauta:
Cod: Selectaţi tot
{
"name" : "salestext_off_button",
"type" : "radio_button2",
"x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
"y" : 250,
"text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF,
"default_image" : ROOT_PATH + "empty_01_normal.tga",
"over_image" : ROOT_PATH + "filled_02_hover.tga",
"down_image" : ROOT_PATH + "filled_03_active.tga",
},
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.Explicatie scurta:
Acest sistem adauga o setare noua in client pentru activarea sau dezactivarea texturilor de iarna. Cand optiunea este activa, pentru hartile setate in lista se incarca automat fisierele textureset/*_snow.txt. Cand optiunea este oprita, revine la textura normala.
Hartile folosite in exemplu:
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.Atentie:
- trebuie sa ai fisierele metin2_a1_snow.txt, metin2_b1_snow.txt si metin2_c1_snow.txt
- daca vrei si alte harti, le adaugi in lista snow_maps si in dictionarul snow_maps_textures
- pozitia din gameoptiondialog.py poate necesita ajustare in functie de interfata ta
Aici aveti textureset cu texturile de zapada setate:
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.*Link scanare VirusTotal (obligatoriu):
https://www.virustotal.com/gui/file/303 ... 30cd95c7ea



