Jump to content

VenTus

Member
  • Posts

    52
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by VenTus

  1. vor 1 Stunde schrieb Ken:

    Psuedo-Code ;

    
    signed int __stdcall CPythonNonPlayer::GetMonsterHitRange(char a1)
    {
      signed int v2; // [esp+0h] [ebp-1Ch]
      int v3; // [esp+18h] [ebp-4h]
    
      v3 = sub_3236B90(a1);
      if ( !v3 )
        return 70.0;
      if ( *(v3 + 272) )
        v2 = *(v3 + 272);
      else
        v2 = 100;
      return v2;
    }

    Reversed function:

    
    float CPythonNonPlayer::GetMonsterHitRangeByVnum(DWORD raceVnum) const
    {
    	const TMobTable * p = GetTable(raceVnum);
    	if (!p)
    		return 70.0f;
    	
    	if (p->hitRange)
    		return p->hitRange;
    	
    	return 100.0f;
    }
    

    Best Regards

    Ken

    So fine, this is nearly the same as mine. But that wont help me anymore, thanks anyways. I now need every functions pseudo where the function GetMonsterHitRange is called. So i maybe can get the code behind it.

    GreetZz

  2. Okay i have done the first function (In nonplayer).
    I dont know if it is 100% right, but im gonna share with you (Maybe @xP3NG3Rx can proof the function ?).

    float CPythonNonPlayer::GetMonsterHitRange(DWORD dwVnum)
    {
    	float fHitRange = 100.0f;
    	const CPythonNonPlayer::TMobTable * c_pTable = GetTable(dwVnum);
    	if (!c_pTable)
    		return 70.0f;
    
    	if (c_pTable->wAttackRange * 1.0f != 0.0f)
    		fHitRange = c_pTable->wAttackRange * 1.0f;
    
    	return fHitRange;
    }


     

  3. Hey guys,

    im searching for the plain function @xP3NG3Rx showed here: LINK
    Also im searching for all of the parts this function get used. If you think, why would he need it? Its really simple some of the latest offical stuff needs this function to calculate the distance between player/npc/object and the monster which attacks. Otherwise some skills and attack animations looks a bit strange...

    Also im searching for a possible list of all stuff in the mob_proto/item_proto as for example AIFlags, Types, SubTypes, APPLYS and so on. So everybody (me included) could read which type maybe is missing
    for him and can implement it himself or via tutorial.

    Thanks for reading!

    Regards VenTus

  4. Hello M2dev i have search a way to hide the Gold Line over Source and i have write this System i hope anybody can use it.

    TUT.

    Client Source

    Spoiler

    PythonSystem.h

    Search:

    void                            SetShowSalesTextFlag(int iFlag);

    ADD :

    bool                            IsShowMoneyText();
    void                            SetShowMoneyTextFlag(int iFlag);

    Search :

    bool            bShowSalesText;

    ADD :

    bool            bShowMoneyText;

    PythonSystem.cpp

    Search :

    void CPythonSystem::SetShowSalesTextFlag(int iFlag)
    {
        m_Config.bShowSalesText = iFlag == 1 ? true : false;
    }

    ADD :

    bool CPythonSystem::IsShowMoneyText()
    {
        return m_Config.bShowMoneyText;
    }

    void CPythonSystem::SetShowMoneyTextFlag(int iFlag)
    {
        m_Config.bShowMoneyText = iFlag == 1 ? true : false;
    }

    Search :

    else if (!stricmp(command, "SHOW_SALESTEXT"))
    m_Config.bShowSalesText = atoi(value) == 1 ? true : false;

    ADD :

    else if (!stricmp(command, "SHOW_MONEY_TEXT"))
    m_Config.bShowMoneyText = atoi(value) == 1 ? true : false;

    Search :

    if (m_Config.bShowSalesText == 0)
    fprintf(fp, "SHOW_SALESTEXT        %d\n", m_Config.bShowSalesText);

    ADD :

    if (m_Config.bShowMoneyText == 0)
    fprintf(fp, "SHOW_MONEY_TEXT    %d\n", m_Config.bShowMoneyText);

    Search :

    m_Config.bShowSalesText        = true;

    ADD :

    m_Config.bShowMoneyText        = true;

    PythonSystemModule.cpp

    Search :

    PyObject * systemIsShowSalesText(PyObject * poSelf, PyObject * poArgs)
    {
        return Py_BuildValue("i", CPythonSystem::Instance().IsShowSalesText());
    }

    ADD :

    PyObject * systemIsShowMoneyText(PyObject * poSelf, PyObject * poArgs)
    {
        return Py_BuildValue("i", CPythonSystem::Instance().IsShowMoneyText());
    }

    Search :

    { "IsShowSalesText",            systemIsShowSalesText,            METH_VARARGS },

    ADD :

    { "SetShowMoneyTextFlag",        systemSetMoneyTextFlag,            METH_VARARGS},
    { "IsShowMoneyText",            systemIsShowMoneyText,            METH_VARARGS},

    Search :

    PyObject * systemSetShowSalesTextFlag(PyObject * poSelf, PyObject * poArgs)
    {
        int iFlag;
        if (!PyTuple_GetInteger(poArgs, 0, &iFlag))
            return Py_BuildException();

        CPythonSystem::Instance().SetShowSalesTextFlag(iFlag);

        return Py_BuildNone();
    }

    ADD :

    PyObject * systemSetMoneyTextFlag(PyObject * poSelf, PyObject * poArgs)
    {
        int iFlag;
        if (!PyTuple_GetInteger(poArgs, 0, &iFlag))
            return Py_BuildException();

        CPythonSystem::Instance().SetShowMoneyTextFlag(iFlag);

        return Py_BuildNone();
    }

     

    Client pack @ root/uiGameOption.py

    Spoiler

     

    NOTE PLEASE SET THE TABS RIGHT !

    Search :

    self.showsalesTextButtonList.append(GetObject("salestext_on_button"))
    self.showsalesTextButtonList.append(GetObject("salestext_off_button"))

    ADD :

    self.showyangTextButtonList.append(GetObject("yang_on_button"))
    self.showyangTextButtonList.append(GetObject("yang_off_button"))

    Search :

    self.showsalesTextButtonList[0].SAFE_SetEvent(self.__OnClickSalesTextOnButton)
    self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton)        

    ADD :

    self.showyangTextButtonList[0].SAFE_SetEvent(self.__OnClickMoneyTextOnButton)
    self.showyangTextButtonList[1].SAFE_SetEvent(self.__OnClickMoneyTextOffButton)

    Search :

    def __OnClickSalesTextOffButton(self):
            systemSetting.SetShowSalesTextFlag(FALSE)
            self.RefreshShowSalesText()        

    ADD :

        def __OnClickMoneyTextOnButton(self):
            systemSetting.SetShowMoneyTextFlag(TRUE)
            self.RefrehMoneySalesText()
            #game.OnPickMoney()

        def __OnClickMoneyTextOffButton(self):
            systemSetting.SetShowMoneyTextFlag(FALSE)
            self.RefrehMoneySalesText()

    Open Game.py

    Search :

    def OnPickMoney(self, money):

    Change to :

        def OnPickMoney(self, money):
            if systemSetting.IsShowMoneyText() == True:
                chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GAME_PICK_MONEY % (money))

     

    Client Pack @ uiscript/gameoptiondialog.py

    Spoiler

    import uiScriptLocale

    ROOT_PATH = "d:/ymir work/ui/public/"

    TEMPORARY_X = +13
    BUTTON_TEMPORARY_X = 5
    PVP_X = -10

    LINE_LABEL_X     = 30
    LINE_DATA_X     = 90
    LINE_STEP    = 0
    SMALL_BUTTON_WIDTH     = 45
    MIDDLE_BUTTON_WIDTH     = 65

    window = {
        "name" : "GameOptionDialog",
        "style" : ("movable", "float",),

        "x" : 0,
        "y" : 0,

        "width" : 300,
        "height" : 25*11+8+25,

        "children" :
        (
            {
                "name" : "board",
                "type" : "board",

                "x" : 0,
                "y" : 0,

                "width" : 300,
                "height" : 25*11+8+25,

                "children" :
                (
                    ## Title
                    {
                        "name" : "titlebar",
                        "type" : "titlebar",
                        "style" : ("attach",),

                        "x" : 8,
                        "y" : 8,

                        "width" : 284,
                        "color" : "gray",

                        "children" :
                        (
                            { "name":"titlename", "type":"text", "x":0, "y":3,
                            "text" : uiScriptLocale.GAMEOPTION_TITLE,
                            "horizontal_align":"center", "text_horizontal_align":"center" },
                        ),
                    },

                    ## À̸§»ö
                    {
                        "name" : "name_color",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 40+2,

                        "text" : uiScriptLocale.OPTION_NAME_COLOR,
                    },
                    {
                        "name" : "name_color_normal",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
                        "y" : 40,

                        "text" : uiScriptLocale.OPTION_NAME_COLOR_NORMAL,

                        "default_image" : ROOT_PATH + "Middle_Button_01.sub",
                        "over_image" : ROOT_PATH + "Middle_Button_02.sub",
                        "down_image" : ROOT_PATH + "Middle_Button_03.sub",
                    },
                    {
                        "name" : "name_color_empire",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
                        "y" : 40,

                        "text" : uiScriptLocale.OPTION_NAME_COLOR_EMPIRE,

                        "default_image" : ROOT_PATH + "Middle_Button_01.sub",
                        "over_image" : ROOT_PATH + "Middle_Button_02.sub",
                        "down_image" : ROOT_PATH + "Middle_Button_03.sub",
                    },

                    ## Ÿ°Ùâ
                    {
                        "name" : "target_board",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 65+2,

                        "text" : uiScriptLocale.OPTION_TARGET_BOARD,
                    },
                    {
                        "name" : "target_board_no_view",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
                        "y" : 65,

                        "text" : uiScriptLocale.OPTION_TARGET_BOARD_NO_VIEW,

                        "default_image" : ROOT_PATH + "Middle_Button_01.sub",
                        "over_image" : ROOT_PATH + "Middle_Button_02.sub",
                        "down_image" : ROOT_PATH + "Middle_Button_03.sub",
                    },
                    {
                        "name" : "target_board_view",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
                        "y" : 65,

                        "text" : uiScriptLocale.OPTION_TARGET_BOARD_VIEW,

                        "default_image" : ROOT_PATH + "Middle_Button_01.sub",
                        "over_image" : ROOT_PATH + "Middle_Button_02.sub",
                        "down_image" : ROOT_PATH + "Middle_Button_03.sub",
                    },

                    
                    ## PvP Mode
                    {
                        "name" : "pvp_mode",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 90+2,

                        "text" : uiScriptLocale.OPTION_PVPMODE,
                    },
                    {
                        "name" : "pvp_peace",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*0,
                        "y" : 90,

                        "text" : uiScriptLocale.OPTION_PVPMODE_PEACE,
                        "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_PEACE_TOOLTIP,

                        "default_image" : ROOT_PATH + "small_Button_01.sub",
                        "over_image" : ROOT_PATH + "small_Button_02.sub",
                        "down_image" : ROOT_PATH + "small_Button_03.sub",
                    },
                    {
                        "name" : "pvp_revenge",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*1,
                        "y" : 90,

                        "text" : uiScriptLocale.OPTION_PVPMODE_REVENGE,
                        "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_REVENGE_TOOLTIP,

                        "default_image" : ROOT_PATH + "small_Button_01.sub",
                        "over_image" : ROOT_PATH + "small_Button_02.sub",
                        "down_image" : ROOT_PATH + "small_Button_03.sub",
                    },
                    {
                        "name" : "pvp_guild",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*2,
                        "y" : 90,

                        "text" : uiScriptLocale.OPTION_PVPMODE_GUILD,
                        "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_GUILD_TOOLTIP,

                        "default_image" : ROOT_PATH + "small_Button_01.sub",
                        "over_image" : ROOT_PATH + "small_Button_02.sub",
                        "down_image" : ROOT_PATH + "small_Button_03.sub",
                    },
                    {
                        "name" : "pvp_free",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+SMALL_BUTTON_WIDTH*3,
                        "y" : 90,

                        "text" : uiScriptLocale.OPTION_PVPMODE_FREE,
                        "tooltip_text" : uiScriptLocale.OPTION_PVPMODE_FREE_TOOLTIP,

                        "default_image" : ROOT_PATH + "small_Button_01.sub",
                        "over_image" : ROOT_PATH + "small_Button_02.sub",
                        "down_image" : ROOT_PATH + "small_Button_03.sub",
                    },

                    ## Block
                    {
                        "name" : "block",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 115+2,

                        "text" : uiScriptLocale.OPTION_BLOCK,
                    },
                    {
                        "name" : "block_exchange_button",
                        "type" : "toggle_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
                        "y" : 115,

                        "text" : uiScriptLocale.OPTION_BLOCK_EXCHANGE,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "block_party_button",
                        "type" : "toggle_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
                        "y" : 115,

                        "text" : uiScriptLocale.OPTION_BLOCK_PARTY,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "block_guild_button",
                        "type" : "toggle_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*2,
                        "y" : 115,

                        "text" : uiScriptLocale.OPTION_BLOCK_GUILD,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "block_whisper_button",
                        "type" : "toggle_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*0,
                        "y" : 140,

                        "text" : uiScriptLocale.OPTION_BLOCK_WHISPER,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "block_friend_button",
                        "type" : "toggle_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*1,
                        "y" : 140,

                        "text" : uiScriptLocale.OPTION_BLOCK_FRIEND,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "block_party_request_button",
                        "type" : "toggle_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH*2,
                        "y" : 140,

                        "text" : uiScriptLocale.OPTION_BLOCK_PARTY_REQUEST,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },

                    ## Chat
                    {
                        "name" : "chat",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 165+2,

                        "text" : uiScriptLocale.OPTION_VIEW_CHAT,
                    },
                    {
                        "name" : "view_chat_on_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X,
                        "y" : 165,

                        "text" : uiScriptLocale.OPTION_VIEW_CHAT_ON,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "view_chat_off_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
                        "y" : 165,

                        "text" : uiScriptLocale.OPTION_VIEW_CHAT_OFF,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },

                    ## Always Show Name
                    {
                        "name" : "always_show_name",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 190+2,

                        "text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME,
                    },
                    {
                        "name" : "always_show_name_on_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X,
                        "y" : 190,

                        "text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME_ON,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "always_show_name_off_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
                        "y" : 190,

                        "text" : uiScriptLocale.OPTION_ALWAYS_SHOW_NAME_OFF,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },

                    ## Effect On/Off
                    {
                        "name" : "effect_on_off",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 215+2,

                        "text" : uiScriptLocale.OPTION_EFFECT,
                    },
                    {
                        "name" : "show_damage_on_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X,
                        "y" : 215,

                        "text" : uiScriptLocale.OPTION_VIEW_CHAT_ON,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "show_damage_off_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
                        "y" : 215,

                        "text" : uiScriptLocale.OPTION_VIEW_CHAT_OFF,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },

                    ## ÆǸŹ®±¸
                    {
                        "name" : "salestext_on_off",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 240+2,

                        "text" : uiScriptLocale.OPTION_SALESTEXT,
                    },
                    {
                        "name" : "salestext_on_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X,
                        "y" : 240,

                        "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_ON,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "salestext_off_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
                        "y" : 240,

                        "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    ## ÆǸŹ®±¸
                    {
                        "name" : "gold_on_off",
                        "type" : "text",

                        "x" : LINE_LABEL_X,
                        "y" : 265+2,

                        "text" : "Money Text",
                    },
                    {
                        "name" : "yang_on_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X,
                        "y" : 240,

                        "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_ON,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                    {
                        "name" : "yang_off_button",
                        "type" : "radio_button",

                        "x" : LINE_DATA_X+MIDDLE_BUTTON_WIDTH,
                        "y" : 240,

                        "text" : uiScriptLocale.OPTION_SALESTEXT_VIEW_OFF,

                        "default_image" : ROOT_PATH + "middle_button_01.sub",
                        "over_image" : ROOT_PATH + "middle_button_02.sub",
                        "down_image" : ROOT_PATH + "middle_button_03.sub",
                    },
                ),
            },
        ),
    }

     

    VenTus :)

    • Love 2
  5. __pack_import() takes at most 4 arguments (5 given)

    read and search the another line ?

    You have a def FUNCTION with 5 arguments and a another function has 4 arguments

    maybe give

     

    File "game.py", line 634, in OnChangePKMode

     File "interfaceModule.py", line 812, in OnChangePKMode:  

    File "uiCharacter.py", line 563, in RefreshAlignment

    anything of this lines 5 Arguments and the another string have max 4 arguments or you send 4 arguments but need 5 arguments

     

    Your lib must be right but your Client is startet with out crahs or lib errors

     

    and the colorinfo is a simple file and whas suport from Python 2.4-2.7 you must dons't chang in your colorInfo

     

    i use a colorinfo from 2006 in a Python 2.7 2014 Binary ;)
     

    sorry for my bad english !

    • Love 1
  6. Nice and Thanks

     

    But.

     

    Open special_item_group.txt
     

    add

     

    Group ½ºÆó¼È
    {
     Vnum 10050
     type special
     1 71148 100000 1
     2 71149 100001 1
     3 71158 100002 1
     4 71135 100003 1
     5 71136 100003 1
     6 71143 100004 1
     7 71145 100005 1
     8 71188 100006 1

        add under this

     

    Group ¼Ó¼º    
    {    
     Vnum 100006
     type ATTR  
     1 66 30 
     2 78 20 
     3 79 20 
     4 85 30 
     5 69 10 
     6 70 10 
     effect "d:\ymir work\effect\etc\buff\EFFECT_NAME.mse"

     

    So when you now equip the Lolli have you all ATTR with out item.sql or item_proto entrys for ATTR`s and the effect replace "EFFECT_NAME.mse" to name of the MSE effect.

    this function exist since 34083r GAME.

    Ven.

  7. this is a litte bug from to high to item slots.

    you have added 225 in the Python so.

    225 = Inventory

    257 = 225 Inventory +  32 MAX_WEAR

    269 = 257 + DS_SLOT_MAX(6) * DRAGON_SOUL_DEX_MAX_NUM(2)

    287 = 269 + DS_SLOT_MAX(2) * DRAGON_SOUL_DECK_RESERVED_MAX_NUM(3)

    303 = 287 + BELT_INVENTORY_SLOTCOUNT(16)  = INVENTORY_AND_EQUIP_CELL_MAX

    So DRAGON_SOUL_INVENTORY have 255+ the Inventory have max 255 like a INT  you muss change the INT from INVENTORY_MAX_NUM to LONG or LONG LONG

     

    You can fix this alone by a search for this Values etc.

     

    ven

×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.