A legújabb 2013-as Metin2.SG (http://www.metin2.sg) kliens is pyc, azaz tömörített (http://effbot.org/pyfaq/how-do-i-create-a-pyc-file.htm) py fájlokat használ, amelyeket nem lehet megnyitni dekódolás nélkül. Ebben a témában az lesz bemutatva, hogy hogyan lehet tömöríteni a py fájlokat majd azokat meghívni a kliensben.
Mire lesz szükséged? - Metin2 File Archiver (http://www.elitepvpers.com/forum/metin2-hacks-bots-cheats-exploits-macros/379755-tool-metin2-file-archiver.html)
- Python 2.2 (http://www.python.org/download/releases/2.2.2/)
- Notepad++ (http://notepad-plus-plus.org)
Fájlok előkészítése & tömörítéseMiután feltelepítetted a szükséges programokat csomagold ki a root.epk/eix-et a kliensed root könyvtárából, majd nyisd meg a telepített Python 2.2 gyökérkönyvtárát. Most menj vissza a kicsomagolt fájlokhoz és másold át az összes .py kiterjesztésű fájlt a system.py kivételével a Python 2.2 gyökérkönyvtárába. py-t tömöríteni pyc-be nagyon könnyű, egyszerűen csak nyisd meg a
python.exe-t és írd be, hogy
import <pyneve.py>. Most láthatod, hogy elkészült a Python könyvtárában egy *.pyc kiterjesztésű fájl ami már a csomagolt verziója annak amit az előbb meghívtál. Most egyszerűen csak csináld végig ezt a többi py-vel is. Amikor elkészült az összessel másold be a kicsomagolt root-ba az összes elkészült .pyc fájlt és töröld ki a régi, .py fájlokat.
A tömörített fájlok meghívása & a kliens csomagolásaMost nyisd meg a System.py fájlt Notepad++-al és keress rá erre a sorra:
filename = name + '.py'Cseréld le erre:
filename = name + '.pyc'Keress rá erre:
newmodule = _process_result(compile(pack_file(filename,'r').re ad(),filename,'exec'),name) Cseréld le erre:
newmodule = _process_result(marshal.loads(pack_file(filename,' rb').read()[8:]),name)Keress rá erre:
RunMainScript("prototype.py")Cseréld le erre:
RunMainScript("prototype.pyc")Most mentsd el és nyisd meg a
root_pack.xml majd az összes .py-t írd át .pyc-re, természetesen a System.py-t kivéve, amikor ezzel elkészültél csomagold vissza a root.epk/eix-et és rakd vissza a kliensed pack mappájába felülírva a régieket.
TesztelésEllenőrizd a kliensed főkönyvtárában, hogy van-e Lib nevű mappa és az alábbi fájlokat tartalmazza-e:
- __future__.pyc
- copy_reg.pyc
- linecache.pyc
- ntpath.pyc
- os.pyc
- site.pyc
- socket.pyc
- stat.pyc
- string.pyc
- traceback.pyc
- types.pyc
- urllib.pyc
- UserDict.pyc
Amennyiben a mappát, vagy a benne lévő fájlokat nem találod akkor ide (http://www48.zippyshare.com/v/15331362/file.html) kattintva le tudod tölteni őket.
Ha a mappa és a fájlok is megvannak akkor indítsd el a játékot, amennyiben valamilyen hibaüzenetet kapsz és nem tudod megoldani akkor ide (http://metin2hungary.net/index.php?action=post;board=42.0) kattintva tudsz segítséget kérni.
Források amelyeket használtam:
- lollo_9_1 hozzászólása (http://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/2581814-tut-python-scripts-kompilieren.html#post22571990)
- Google (https://www.google.hu)
Üdvözlettel,
Disco (http://metin2hungary.net/index.php?action=profile;u=6148)