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:
Code:
m_Config.bShowSalesText = true;
Cauta:
Code:
bool CPythonSystem::IsShowSalesText()
{
return m_Config.bShowSalesText;
}
Cauta:
Code:
else if (!stricmp(command, "SHOW_SALESTEXT"))
m_Config.bShowSalesText = atoi(value) == 1 ? true : false;
Cauta:
Code:
fprintf(fp, "SHADOW_LEVEL %d\n", m_Config.iShadowLevel);
Deschide PythonSystem.h si cauta:
Code:
bool bShowSalesText;
Cauta:
Code:
void SetShowSalesTextFlag(int iFlag);
Deschide PythonSystemModule.cpp si cauta:
Code:
PyObject * systemIsShowSalesText(PyObject * poSelf, PyObject * poArgs)
{
return Py_BuildValue("i", CPythonSystem::Instance().IsShowSalesText());
}
Cauta:
Code:
{ "IsShowSalesText", systemIsShowSalesText, METH_VARARGS },
Deschide PythonBackgroundModule.cpp si cauta:
Code:
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();
}
Cauta:
Code:
{ "EnableSoftwareTiling", backgroundEnableSoftwareTiling, METH_VARARGS },
Deschide MapOutdoor.cpp si cauta:
Code:
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);
}
Deschide MapOutdoor.h si cauta:
Code:
void RenderScreenFiltering();
Deschide game.py si cauta:
Code:
self.currentCubeNPC = 0
Deschide uigameoption.py si cauta:
Code:
def __Initialize(self):
Cauta:
Code:
self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
Cauta:
Code:
self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton)
Adauga la finalul fisierului:
Deschide uigameoption.py si adauga daca nu exista:
Deschide uiscript/gameoptiondialog.py si cauta:
Code:
{
"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",
},
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


la acest mesaj și conținutul se va afișa automat.


