Beiträge von P3NG3R

    Ich werde das nie verstehen, warum alles public sein mussen.

    EterMgr war public, sie haben das gesehen, dannach gefixt.

    Ich könnte das nochmal functionieren machen aber es so viel RE braucht und ich habe dafür keine Lust und Zeit.

    Ich gebe niemandem tipps/tools, wie man die official klient unpacken kann, egal wie viele menschen haben das schon gefragt.

    Besser wenn das unpublic bleibt.

    pl: onforum dot net

    pt: m2dev dot net

    fr: funky-emu dot net

    pl: m2zone dot tech

    hu: hugames dot hu

    fr: inforge dot net

    es: metin2zone dot net

    First of all you need to bind your interface class to that class where you would like to call a function from the main interface.

    Basically the interfacemodule has been written for all the guis. You should imagine that module as a main, which purpose to control all over the interfaces.


    1. You need to have the interface variable in the __init__ and Destroy function of the InventoryWindow class declared as None.

    2. This function will save the pointer of the interface class in the variable you created:

    Code
    1. def BindInterfaceClass(self, interface):
    2. from _weakref import proxy
    3. self.interface = proxy(interface)

    3. After that you need to send the 'self' from the interface class to the inventorywindow class from the __MakeWindows function after the InventoryWindow has been created, so like this:

    Code
    1. wndInventory = uiInventory.InventoryWindow()
    2. wndInventory.BindInterfaceClass(self)

    If you have these, you should be able to call a function through the interface from the InventoryWindow class.


    But, after I have read the problem again, you need to pass the interface to the SidebarInventoryWindow class too.

    So do the first two steps (written above) in the SidebarInventoryWindow class as well as you did or you do have in the InventoryWindow class, then modify the BindInterfaceClass function of the InventoryWindow class like this way:

    Code
    1. def BindInterfaceClass(self, interface):
    2. from _weakref import proxy
    3. self.interface = proxy(interface)
    4. self.wndSideBarVariableYouNeedToKnowWhatTheNameOfTheVariableWhichStoresTheSideBar.BindInterfaceClass(interface)

    Don't forget to proxy it, to avoid the unnecessary memory leak of python.

    That was not foxfs, they were using something else.

    There is a foxfs unpacker somewhere on the internet, it has been released long time ago and able to unpack the files by their path.

    The only way to upack the client properly which is packed with foxfs If you have a full list of the files what the client is using, because it doesn't have any support index file which stores the informations, which file is located where in the packfile.

    Or you can write a tool as I did to dump the files out, but you gonna get crc values as filenames.

    Bitte melden Sie sich an, um diesen Link zu sehen.

    This is a good puzzle :D

    Hi folks!


    With this guide you will be able to combine textlines with images, like rubinum does.


    Usage is simple:

    Python: example.py
    1. emojiTextLine.SetText("|Eemoji/key_ctrl|e + |Eemoji/key_x|e + |Eemoji/key_rclick|e - Direct sell")

    The files are located in the icon pack, so basically the code will load from icon/{GIVEN_PATH}.tga - in the sample the path for the X is: icon/emoji/key_x.tga

    Here are the images from rubinum client:



    Have fun (:

    Sorry for arab players :P, for sure they have also developers, so let's go guys, finish it :)

    You must modify the iVisibleLineCount in the PythonEventManager.

    I have reversed from the official the function for it, you can find it on m2dev or m2tec.

    Or just change the BOX_VISIBLE_LINE_COUNT value in the PythonEventManager.h file.

    The archive contains only one header file(debug.hpp):

    So it's useless, and I didn't get the point why we need this.