Jump to content

Welcome to M2Tec

The global development community for Metin2

Knowledge is Freedom

Feel free to share your ideas, your knowledge in our community, your community.

Follow the Rules

Respect the rules of the community, the users and their administrative team. Let's be friends!
M2Tec - Community Maintenance Read more... ×
ymirwork

guide [Pyhon] Auto Pick Up objects

Recommended Posts

Posted (edited)

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

 

 

#root/constinfo.py
########################

// find:
ENABLE_REFINE_ITEM_DESCRIPTION = 1
IN_GAME_SHOP_ENABLE = 1
CONSOLE_ENABLE = 0

// add after:
AUTO_PICK_UP = 0

#root/uigameoption.py
########################

// find:
            self.showsalesTextButtonList.append(GetObject("salestext_on_button"))
            self.showsalesTextButtonList.append(GetObject("salestext_off_button"))
            
// add after:
            self.autopick.append(GetObject("auto_pick_up_on_button")) 
            self.autopick.append(GetObject("auto_pick_up_off_button"))
            
// find:
        self.showsalesTextButtonList[0].SAFE_SetEvent(self.__OnClickSalesTextOnButton)
        self.showsalesTextButtonList[1].SAFE_SetEvent(self.__OnClickSalesTextOffButton)
        
// add after:
        self.autopick[0].SAFE_SetEvent(self.__OnClickEnableAutoPickUp)
        self.autopick[1].SAFE_SetEvent(self.__OnClickDisableAutoPickUp)    
        
        
// find:
    def Show(self):
        [..]
        
        
// add above:
    
    def __OnClickEnableAutoPickUp(self):  ##
        constInfo.AUTO_PICK_UP = 1
        self.RefreshShowSafa1()

    def __OnClickDisableAutoPickUp(self):
        constInfo.AUTO_PICK_UP = 0
        self.RefreshShowSafa1()    
    
    def RefreshShowSafa1(self):  ## ellam ##
        if constInfo.AUTO_PICK_UP == 1:
            self.autopick[0].Down()
            self.autopick[1].SetUp()
        else:
            self.autopick[0].SetUp()
            self.autopick[1].Down()    
            
            
            
#root/game.py
########################

// find: 
        self.interface.BUILD_OnUpdate()   //in  def OnUpdate(self):    
        
        
// add above:

        if constInfo.AUTO_PICK_UP == 1:
            self.PickUpItem()
            
// :::::like this::: Exemple::::

        if constInfo.AUTO_PICK_UP == 1:
            self.PickUpItem()

        self.interface.BUILD_OnUpdate()
        
        
#uiscript/gameoptiondialog.py
########################


// find and replace all:
                ## ÆǸŹ®±¸
                {
                    "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",
                },
                
// with this:

                ## ÆǸŹ®±¸
                {
                    "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",
                },
                
                ## Auto PickUP
                {
                    "name" : "auto_pickup_on_off",
                    "type" : "text",

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

                    "text" : "Auto PickUp",
                },
                {
                    "name" : "auto_pick_up_on_button",
                    "type" : "radio_button",

                    "x" : LINE_DATA_X,
                    "y" : 265,

                    "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" : "auto_pick_up_off_button",
                    "type" : "radio_button",

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

                    "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",
                },

 

 

 

If any one know how to disable system if inventory is full, this system will be 5*

Otherwise, we have to disable it manual in gameoptions to avoid chat warning! xD

 

 

edit:

game.py

 

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

How to avoid this if inventory is full?

Edited by ymirwork
  • Like 28
  • Thanks 4
  • Haha 1
  • Confused 1

Share this post


Link to post
Share on other sites

thank you ! 🙂

Share this post


Link to post
Share on other sites

Just do a something like a for loop, like inventory sort. 

Then count all free space. 

Then you can stop, if free space <1

I can have a look, when Iam at Computer 

 

Ah Python, Not c++

 

 

Nevermind i will have a look

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×