*Descriere:
Refine Luck System este un mic feature pentru Metin2 care iti poate oferi un "upgrade bonus" la refine.
Ce face mai exact?
- Exista o sansa ca in loc de a creste obiectul cu +1 cand dai la plus item-ul, sa creasca cu +2 sau cu +3 in schimb.
- Totul este server-side, legat strict de functia DoRefineWithScroll()
*Poze / Video:
Deschidem si adaugam in service.h:
Deschidem packet.h si cautam:
Adaugam:
Acum cautam:
Adaugam inainte:
Deschidem char_item.cpp si cautam:
Adaugam dupa:
Cautam:
Adaugam dupa:
Cautam:
Inlocuim:
Cautam:
Adaugam dupa:
Cautam:
Inlocuim cu:
Acum mergem in sursa binary si adaugam in locale_inc.h:
Deschidem PythonApplicationModule.cpp si adaugam jos de tot inainte de } :
Deschidem Packet.h si cautam:
Adaugam:
Cautam:
Adaugam inainte:
Deschidem PythonNetworkStream.cpp si cautam:
Mai jos gasim:
Adaugam:
Deschidem PythonNetworkStreamPhaseGame.cpp si cautam:
Mai jos gasim:
Adaugam case nou:
Deschidem acum game.py si cautam:
Gasim:
Adaugam inainte:
Asa trebuie sa arate:
Cautam:
Modificam sa arate asa:
Adaugam sub:
Acum adaugam in locale_game.txt:
Refine Luck System este un mic feature pentru Metin2 care iti poate oferi un "upgrade bonus" la refine.
Ce face mai exact?
- Exista o sansa ca in loc de a creste obiectul cu +1 cand dai la plus item-ul, sa creasca cu +2 sau cu +3 in schimb.
- Totul este server-side, legat strict de functia DoRefineWithScroll()
*Poze / Video:
- 02-10-2026, 00-04-13.png (771.9 KiB) Vizualizat de 627 ori
*Link download / Code:
Deschidem si adaugam in service.h:
Cod: Selectaţi tot
#define ENABLE_MULTI_STEP_REFINE
#define MULTI_STEP_REFINE_ITEM_VNUM 25042
#define MULTI_STEP_REFINE_STEP2_CHANCE 25
#define MULTI_STEP_REFINE_STEP3_CHANCE 10
#define MULTI_STEP_REFINE_MAX_LEVEL 9Deschidem packet.h si cautam:
Cod: Selectaţi tot
HEADER_GC: 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.Acum cautam:
Cod: Selectaţi tot
#pragma pack() 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.Deschidem char_item.cpp si cautam:
Cod: Selectaţi tot
else if (pkItemScroll->GetValue(0) == BDRAGON_SCROLL)
{
success_prob = 80;
szRefineType = "BDRAGON_SCROLL";
} 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.Cautam:
Cod: Selectaţi tot
if (prob <= success_prob)
{ 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.Cautam:
Cod: Selectaţi tot
LPITEM pkNewItem = ITEM_MANAGER::instance().CreateItem(result_vnum, 1, 0, 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.Cautam:
Cod: Selectaţi tot
ITEM_MANAGER::instance().FlushDelayedSave(pkNewItem); 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.Cautam:
Cod: Selectaţi tot
LogManager::instance().RefineLog(GetName(), itemname, olditem, pkNewItem->GetID(), "SUCCESS"); 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.Acum mergem in sursa binary si adaugam in locale_inc.h:
Cod: Selectaţi tot
#define ENABLE_LUCKY_REFINE_ITEM 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.Deschidem Packet.h si cautam:
Cod: Selectaţi tot
HEADER_GC 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.Cautam:
Cod: Selectaţi tot
#pragma pack(pop) 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.Deschidem PythonNetworkStream.cpp si cautam:
Cod: Selectaţi tot
class CMainPacketHeaderMap : public CNetworkPacketHeaderMapCod: Selectaţi tot
Set(HEADER_GC 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.Deschidem PythonNetworkStreamPhaseGame.cpp si cautam:
Cod: Selectaţi tot
void CPythonNetworkStream::GamePhase() Cod: Selectaţi tot
switch (header) 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.Deschidem acum game.py si cautam:
Cod: Selectaţi tot
class GameWindow(ui.ScriptWindow):Cod: Selectaţi tot
__init__ 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.Asa trebuie sa arate:
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.Cautam:
Cod: Selectaţi tot
def RefineSuceededMessage(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.Adaugam sub:
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.Acum adaugam in locale_game.txt:
Cod: Selectaţi tot
REFINE_SUCCESS_LUCKY Felicitari! Ai imbunatatit itemul cu +%d.
REFINE_FAIL Oh nu, am esuat.


