Avatar utilizator
SCOOB
Administrator
Administrator
  • Mesaje: 4870
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 116970
  • Mesaje utile: 46
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • *Descriere:

    Mai jos aveti un eveniment facut de owsap pentru Craciun - Iarna.

    Este vorba despre Snowflake Stick Event Metin2.

    Urmariti videoclipul pentru a vedea despre ce este vorba acest eveniment, dar pe scurt:
    Get the Snowflake Spell buff and pick up the Snowflake Strongbox full of precious rewards!
    Note: Please install the `Requirements` first.
    *Poze / Video (obligatoriu):
    250px-Snowflake_Event_UI.webp
    250px-Snowman.webp
    *Link download:
    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    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
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    See full signature
    Avatar utilizator
    robert8698
    Membru Ucenic
    Membru Ucenic
  • Mesaje: 18
    Membru din: 06 Ian 2025, 10:59
  • Reacții: 25
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Jinno
  • Medalii

    Avatar utilizator
    robert8698
    Membru Ucenic
    Membru Ucenic

    Mesaj

    E full?
    Avatar utilizator
    SCOOB
    Administrator
    Administrator
  • Mesaje: 4870
    Membru din: 07 Aug 2024, 18:53
  • Reacții: 116970
  • Mesaje utile: 46
  • Status: Pe aici.. 🤠
    Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Avatar utilizator
    SCOOB
    Administrator
    Administrator

    Mesaj

    robert8698 scrie: ↑E full?
    nu stiu, nu l-am testat.
    Comunitatea Metin2 Romania este si pe Discord! :ymcowboy:

    2500+ membri • Chat activ zilnic • Support • Cereri & Resurse

    ► discord.gg/jWxeDSf7HP ◄





    See full signature
    Avatar utilizator
    salexandru9982
    Contributor
    Contributor
  • Mesaje: 216
    Membru din: 26 Noi 2024, 08:43
  • Reacții: 1396
  • Mesaje utile: 1
  • Status: Uite si eu pe aici!
  • Regat: Jinno
  • [ID Discord]
  • Medalii

    Avatar utilizator
    salexandru9982
    Contributor
    Contributor

    Mesaj

    Functional mai trebuie adaptate niste functii minore nimic grav system functional perfect doar ca trebuie sa fiti foarte atenti in python network stream cpp gresita functia asta de mai jos este cea corecta
    Code:
    Set(HEADER_GC_SNOWFLAKE_STICK_EVENT, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCSnowflakeStickEvent), STATIC_SIZE_PACKET));
    in sursa game mai exact in common vedeti ca macro de la effect este din client si nu il citeste da erroare in length.h functia asta
    Code:
    #if defined(__SNOWFLAKE_STICK_EVENT__)
    	SE_USE_SNOWFLAKE_STICK,
    #endif
    asa si mai lispeste o functie complet din game/packet.h userinterface/packet.h in enum ESnowflakeStickEventQuestFlagType trebuie pusa dupa SNOWFLAKE_STICK_EVENT_QUEST_FLAG_EXCHANGE_MOUNT,
    Code:
    	SNOWFLAKE_STICK_EVENT_QUEST_FLAG_USE_STICK_COOLDOWN,
    
    PythonEventManager.h cauta void SetVisibleLineCount(int iIndex, int iLineCount); sub adauga
    Code:
    		void SetFontColor(int iIndex, float r, float g, float b);
    		int GetLineHeight(int iIndex);
    		int GetProcessedLineCount(int iIndex);
    		int GetTotalLineCount(int iIndex);
    PythonEventManager.cpp cauta int CPythonEventManager::GetLineCount(int iIndex) sau GetLineCount poate ii diferita la voi functia sub adauga
    Code:
    void CPythonEventManager::SetFontColor(int iIndex, float r, float g, float b)
    {
    	if (!CheckEventSetIndex(iIndex))
    		return;
    
    	TEventSet * pEventSet = m_EventSetVector[iIndex];
    	if (!pEventSet)
    		return;
    
    	pEventSet->CurrentColor = D3DXCOLOR(r, g, b, 1.0f);
    
    	for (TScriptTextLineList::iterator itor = pEventSet->ScriptTextLineList.begin(); itor != pEventSet->ScriptTextLineList.end(); ++itor)
    		itor->pInstance->SetColor(r, g, b);
    
    	if (pEventSet->pCurrentTextLine)
    		pEventSet->pCurrentTextLine->SetColor(r, g, b);
    }
    
    int CPythonEventManager::GetLineHeight(int iIndex)
    {
    	if (!CheckEventSetIndex(iIndex))
    		return 0;
    
    	return c_fLine_Temp - 4;
    }
    
    int CPythonEventManager::GetProcessedLineCount(int iIndex)
    {
    	if (!CheckEventSetIndex(iIndex))
    		return 0;
    
    	TEventSet * pEventSet = m_EventSetVector[iIndex];
    	if (!pEventSet)
    		return 0;
    
    	return static_cast<int>(pEventSet->ScriptTextLineList.size());
    }
    
    int CPythonEventManager::GetTotalLineCount(int iIndex)
    {
    	return GetLineCount(iIndex);
    }
    
    PythonEventManagerMoudle.cpp cauta eventDestroy sau PyObject* eventDestroy(PyObject* poSelf, PyObject* poArgs) sub adauga
    Code:
    PyObject * eventSetVisibleLineCount(PyObject * poSelf, PyObject * poArgs)
    {
    	int iIndex;
    	if (!PyTuple_GetInteger(poArgs, 0, &iIndex))
    		return Py_BuildException();
    
    	int iLineCount;
    	if (!PyTuple_GetInteger(poArgs, 1, &iLineCount))
    		return Py_BuildException();
    
    	CPythonEventManager::Instance().SetVisibleLineCount(iIndex, iLineCount);
    	return Py_BuildNone();
    }
    
    PyObject * eventSetFontColor(PyObject * poSelf, PyObject * poArgs)
    {
    	int iIndex;
    	if (!PyTuple_GetInteger(poArgs, 0, &iIndex))
    		return Py_BuildException();
    
    	float r, g, b;
    	if (!PyTuple_GetFloat(poArgs, 1, &r))
    		return Py_BuildException();
    	if (!PyTuple_GetFloat(poArgs, 2, &g))
    		return Py_BuildException();
    	if (!PyTuple_GetFloat(poArgs, 3, &b))
    		return Py_BuildException();
    
    	CPythonEventManager::Instance().SetFontColor(iIndex, r, g, b);
    	return Py_BuildNone();
    }
    
    PyObject * eventGetLineHeight(PyObject * poSelf, PyObject * poArgs)
    {
    	int iIndex;
    	if (!PyTuple_GetInteger(poArgs, 0, &iIndex))
    		return Py_BuildException();
    
    	return Py_BuildValue("i", CPythonEventManager::Instance().GetLineHeight(iIndex));
    }
    
    PyObject * eventGetProcessedLineCount(PyObject * poSelf, PyObject * poArgs)
    {
    	int iIndex;
    	if (!PyTuple_GetInteger(poArgs, 0, &iIndex))
    		return Py_BuildException();
    
    	return Py_BuildValue("i", CPythonEventManager::Instance().GetProcessedLineCount(iIndex));
    }
    
    PyObject * eventGetTotalLineCount(PyObject * poSelf, PyObject * poArgs)
    {
    	int iIndex;
    	if (!PyTuple_GetInteger(poArgs, 0, &iIndex))
    		return Py_BuildException();
    
    	return Py_BuildValue("i", CPythonEventManager::Instance().GetTotalLineCount(iIndex));
    }
    tot aici dar mai jos in initEvent dupa GetVisibleStartLine adauga sub
    Code:
    		{ "SetVisibleLineCount",		eventSetVisibleLineCount,			METH_VARARGS },
    		{ "SetFontColor",				eventSetFontColor,					METH_VARARGS },
    		{ "GetLineHeight",				eventGetLineHeight,					METH_VARARGS },
    		{ "GetProcessedLineCount",		eventGetProcessedLineCount,			METH_VARARGS },
    		{ "GetTotalLineCount",			eventGetTotalLineCount,				METH_VARARGS },
    PythonItemModule.cpp dupa functia asta BYTE __GetApplyPointType(BYTE bApplyType) daca nu o aveti sa stiti ca aveti nevoie de Character detailis marty il are dar pe mainline nu asa ca ati inteleg voi
    Code:
    BYTE PointTypeToApplyType(BYTE bPointType)
    {
    	if (bPointType == POINT_NONE)
    		return CItemData::EApplyTypes::APPLY_NONE;
    
    	for (int i = 0; i <= 0xFF; ++i)
    	{
    		if (__GetApplyPointType(static_cast<BYTE>(i)) == bPointType)
    			return static_cast<BYTE>(i);
    	}
    
    	return CItemData::EApplyTypes::APPLY_NONE;
    }
    PythonPlayerModule.cpp dupa functia asta extern const DWORD c_iSkillIndex_Summon = 131; ii fix la inceput de tot poate nu il aveti pasta dar sunt niste externe acolo sigur sub puneti asta
    Code:
    extern BYTE PointTypeToApplyType(BYTE bPointType);
    tot in fisierul asta dar mai jos inlocuiti functia asta din playerGetAffectData mai exact asta PyObject* poKey = Py_BuildValue("i", PointTypeToApplyType(it.wApplyOn)); cu
    Code:
    			PyObject* poKey = Py_BuildValue("i", PointTypeToApplyType(it.bPointIdxApplyOn));
    PythonItemModule.cpp vedeti ca eu am pus in itemdata.h block ala care are nevoie aici si am modficat asa functia asta de trebuie pusa la sfarsit
    Code:
    #if defined(ENABLE_SNOWFLAKE_STICK_EVENT)
    	PyModule_AddIntConstant(poModule, "ITEM_VNUM_SNOWFLAKE_STICK", CItemData::ITEM_VNUM_SNOWFLAKE_STICK);
    	PyModule_AddIntConstant(poModule, "ITEM_VNUM_SNOWFLAKE_STICK_EVENT_MOUNT", CItemData::ITEM_VNUM_SNOWFLAKE_STICK_EVENT_MOUNT);
    	PyModule_AddIntConstant(poModule, "ITEM_VNUM_SNOWFLAKE_STICK_EVENT_PET", CItemData::ITEM_VNUM_SNOWFLAKE_STICK_EVENT_PET);
    #endif
    ItemUtils.h eu nu am asta asa ca am pus functia in ItemData.h sub enum EDragonSoulSubType
    Code:
    enum EItemVnum
    {
    #if defined(ENABLE_SNOWFLAKE_STICK_EVENT)
    	ITEM_VNUM_SNOWFLAKE_STICK = 70612,
    	ITEM_VNUM_SNOWFLAKE_GIFTBOX = 70613,
    	ITEM_VNUM_SNOWFLAKE_STICK_EVENT_MOUNT = 70614,
    	ITEM_VNUM_SNOWFLAKE_STICK_EVENT_PET = 70615,
    #endif
    };
    asa si mai este un fisier care se numeste uniquemob.h eu nu il am asa ca am mutat
    enum EUniqueMob in length.h dupa enum EDragonSoulDeckType
    c-am asta am gasit eu 2 zile cat l-am testat pe marty poate nu o sa aveti nevoie de toat ce am zis eu mai sus dar ce liseste sigur aveti nevoie la prima vedere pare ca merge dar dupa ce folositi tot system o sa vad dea header error
    bafta la instalat il aveti complet acum
    2 screen sa vedeti despre ce este vorba si la voi o sa fie pe mini game addon eu folsesc event manager asa ca am dezactivat flag-ul si l-am mutat aici ca sa nu vii se pare ca ceva este gresit
    10-02-2026, 23-18-09.png
    10-02-2026, 23-20-05.png
    See full signature

    Înapoi la “Sisteme Metin2”

    Discord ID copiat: