Jump to content

ImBacK

Inactive Member
  • Posts

    108
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Posts posted by ImBacK

  1. This is full part for system

    Spoiler

    #?????

    Client bin:

    In EterPythonLib\PythonSlotWindow.cpp:
    Function OnRender:
    This:

            if (IS_SET(rSlot.dwState, SLOT_STATE_DISABLE))
            {
                CPythonGraphic::Instance().SetDiffuseColor(1.0f, 0.0f, 0.0f, 0.3f);
                CPythonGraphic::Instance().RenderBar2d(m_rect.left + rSlot.ixPosition,
                    m_rect.top + rSlot.iyPosition,
                    m_rect.left + rSlot.ixPosition + rSlot.ixCellSize,
                    m_rect.top + rSlot.iyPosition + rSlot.iyCellSize);
            }

    To:

            if (IS_SET(rSlot.dwState, SLOT_STATE_DISABLE))
            {
                CPythonGraphic::Instance().SetDiffuseColor(1.0f, 0.0f, 0.0f, 0.3f);
                CPythonGraphic::Instance().RenderBar2d(    m_rect.left + rSlot.ixPosition,
                                                        m_rect.top + rSlot.iyPosition,
                                                        m_rect.left + rSlot.ixPosition + rSlot.byxPlacedItemSize * ITEM_WIDTH,
                                                        m_rect.top + rSlot.iyPosition + rSlot.byyPlacedItemSize * ITEM_HEIGHT);
            }
            
    IF YOU DONT HAVE THIS
    PyModule_AddIntConstant(poModule, "ANTIFLAG_SAFEBOX",            CItemData::ITEM_ANTIFLAG_SAFEBOX);
    In UserInterface/PythonItemModule.cpp add it under
    PyModule_AddIntConstant(poModule, "ANTIFLAG_MYSHOP",            CItemData::ITEM_ANTIFLAG_MYSHOP);

    Roots:
    In constinfo.py add this:
    avilable = 0

    In uiinventory replace this functions:
        def RefreshBagSlotWindow(self):
            getItemVNum=player.GetItemIndex
            getItemCount=player.GetItemCount
            setItemVNum=self.wndItem.SetItemSlot
            
            for i in xrange(player.INVENTORY_PAGE_SIZE):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)
                
                itemCount = getItemCount(slotNumber)
                # itemCount == 0이면 소켓을 비운다.
                if 0 == itemCount:
                    self.wndItem.ClearSlot(i)
                    continue
                elif 1 == itemCount:
                    itemCount = 0
                    
                itemVnum = getItemVNum(slotNumber)
                setItemVNum(i, itemVnum, itemCount)
                if constInfo.avilable > 0 and constInfo.avilable < 4:
                    self.RefreshBagSlotWindowOnAvilable()
                ## 자동물약 (HP: #72723 ~ #72726, SP: #72727 ~ #72730) 특수처리 - 아이템인데도 슬롯에 활성화/비활성화 표시를 위한 작업임 - [hyo]
                if constInfo.IS_AUTO_POTION(itemVnum):
                    # metinSocket - [0] : 활성화 여부, [1] : 사용한 양, [2] : 최대 용량
                    metinSocket = [player.GetItemMetinSocket(slotNumber, j) for j in xrange(player.METIN_SOCKET_MAX_NUM)]    
                    
                    if slotNumber >= player.INVENTORY_PAGE_SIZE:
                        slotNumber -= player.INVENTORY_PAGE_SIZE
                        
                    isActivated = 0 != metinSocket[0]
                    
                    if isActivated:
                        self.wndItem.ActivateSlot(slotNumber)
                        potionType = 0;
                        if constInfo.IS_AUTO_POTION_HP(itemVnum):
                            potionType = player.AUTO_POTION_TYPE_HP
                        elif constInfo.IS_AUTO_POTION_SP(itemVnum):
                            potionType = player.AUTO_POTION_TYPE_SP                        
                        
                        usedAmount = int(metinSocket[1])
                        totalAmount = int(metinSocket[2])                    
                        player.SetAutoPotionInfo(potionType, isActivated, (totalAmount - usedAmount), totalAmount, self.__InventoryLocalSlotPosToGlobalSlotPos(i))
                        
                    else:
                        self.wndItem.DeactivateSlot(slotNumber)
            self.wndItem.RefreshSlot()
            
            
        def RefreshStatus(self):
            import systemSetting
            money = player.GetElk()
            self.wndMoney.SetText(localeInfo.NumberToMoneyString(money))
            if constInfo.avilable == 4:
                self.RefreshBagSlotWindow()
                constInfo.avilable = 0
                
    And add under it this functions:
        def RefreshBagSlotWindowOnAvilable(self):
            getItemVNum=player.GetItemIndex
            for i in xrange(player.INVENTORY_PAGE_SIZE):
                slotNumber = self.__InventoryLocalSlotPosToGlobalSlotPos(i)

                itemVnum = getItemVNum(slotNumber)
                if constInfo.avilable == 1:
                    if 0 != itemVnum:
                        item.SelectItem(itemVnum)
                        if item.IsAntiFlag(item.ANTIFLAG_GIVE):
                            self.wndItem.DisableSlot(i)
                if constInfo.avilable == 2:
                    if 0 != itemVnum:
                        item.SelectItem(itemVnum)
                        if item.IsAntiFlag(item.ANTIFLAG_SAFEBOX):
                            self.wndItem.DisableSlot(i)
                if constInfo.avilable == 3:
                    if 0 != itemVnum:
                        item.SelectItem(itemVnum)
                        if item.IsAntiFlag(item.ANTIFLAG_MYSHOP):
                            self.wndItem.DisableSlot(i)
            self.wndItem.RefreshSlot()

            if self.wndBelt:
                self.wndBelt.RefreshSlot()

        def CheckAvilableExchange(self):
            constInfo.avilable = 1
            self.RefreshBagSlotWindowOnAvilable()
            self.RefreshBagSlotWindow()

        def CheckAvilableSafebox(self):
            constInfo.avilable = 2
            self.RefreshBagSlotWindowOnAvilable()

        def CheckAvilableShop(self):
            constInfo.avilable = 3
            self.RefreshBagSlotWindowOnAvilable()
            
        def DisturbCheckAvilable(self):
            constInfo.avilable = 0
            self.RefreshBagSlotWindow()
            
    In interfacemodule.py
    In function:
    def OpenPrivateShopBuilder(self):
    Under:
    self.ClosePrivateShopInputNameDialog()
    Add this:
    self.wndInventory.CheckAvilableShop()

    Replace this functions:
        def StartExchange(self):
            self.dlgExchange.OpenDialog()
            self.dlgExchange.Refresh()
            self.wndInventory.CheckAvilableExchange()
        def EndExchange(self):
            self.dlgExchange.CloseDialog()
            self.wndInventory.DisturbCheckAvilable()
        def OpenSafeboxWindow(self, size):
            self.dlgPassword.CloseDialog()
            self.wndSafebox.ShowWindow(size)
            self.wndInventory.CheckAvilableSafebox()
        def CommandCloseSafebox(self):
            self.wndSafebox.CommandCloseSafebox()
            self.wndInventory.DisturbCheckAvilable()

    Open uiprivateshopbuilder.py
    Under this:
    import grp
    Add this:
    import constInfo
    And replace that function:
        def OnClose(self):
            constInfo.avilable = 4
            self.Close()

     

  2. Hi dev ,

    i test how i can build db and game without freebsd  so i do it and fix all lib and problem but i have 1 problem 

    1 file missed and i cant found it or can compile it ... sorry for my english

    problem show when compile game and db only but another file like libgame or liblua its build without any problem 

    Spoiler

    5>LINK : fatal error LNK1181: cannot open input file 'mysqlclient.lib'

    any help 

  3. 45 minutes ago, metin2team said:

    this means that if you don't own the item the pet won't get it unless you have your char's name on it.

    so , if i want et pickup item without name and with name remove this  !item->IsOwnership(player)  ?

  4. 53 minutes ago, metin2team said:

    Im

                                if (!item->GetSectree() || !item->IsOwnership(player))
                                    return;

    i add it but not work

  5. im pet pickup system there is bug pet stuck in some time and not taking item 

    in pickup pet i have some stuck with iteSuztHNtMbH.gif

  6. HI,

    i have problem when open safe box or mall they do not open @@ when click in they i have this error in db sysser 

    Spoiler

    SYSERR: May  6 02:42:27 :: Start: TABLE_POSTFIX not configured use default
    SYSERR: May  6 02:42:29 :: Load:  DirectQuery failed(SELECT IP_FROM, IP_TO, COUNTRY_NAME FROM iptocountry)
    SYSERR: May  6 02:44:22 :: ChildLoop: AsyncSQL: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE owner_id=1 AND window='SAFEBOX'' at line 1 (query: SELECT id, window+0, pos, count, vnum, socket0, socket1, socket2, socket3, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, applytype0, applyvalue0,applytype1, applyvalue1,applytype2, applyvalue2,applytype3, applyvalue3,applytype4, applyvalue4, applytype5, applyvalue5, applytype6, applyvalue6, applytype7, applyvalue7FROM item WHERE owner_id=1 AND window='SAFEBOX' errno: 1064)
    SYSERR: May  6 02:44:22 :: RESULT_SAFEBOX_LOAD: null safebox result
    SYSERR: May  6 02:44:26 :: ChildLoop: AsyncSQL: query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE owner_id=1 AND window='MALL'' at line 1 (query: SELECT id, window+0, pos, count, vnum, socket0, socket1, socket2, socket3, attrtype0, attrvalue0, attrtype1, attrvalue1, attrtype2, attrvalue2, attrtype3, attrvalue3, attrtype4, attrvalue4, attrtype5, attrvalue5, attrtype6, attrvalue6, applytype0, applyvalue0,applytype1, applyvalue1,applytype2, applyvalue2,applytype3, applyvalue3,applytype4, applyvalue4, applytype5, applyvalue5, applytype6, applyvalue6, applytype7, applyvalue7FROM item WHERE owner_id=1 AND window='MALL' errno: 1064)
    SYSERR: May  6 02:44:26 :: RESULT_SAFEBOX_LOAD: null safebox result

    Any hel please ?

  7. On 4/15/2016 at 3:36 PM, RealReznov said:

    @ImBacK or @lopez008

    I have it too.

    I see you have offline shop. Can you test me something?

    Open a NORMAL shop with a red potion.

    Try to search for it. (With item's category potion and name string "red")

    And tell me what happend. (Me: Server crash)

    (Iif I want to search for sword/armour i get the "Item listy is empty....")

    when test it my server cash

  8. hi,

    i have this problem when i build the game with new pet system


    In file included from char_item.cpp:5:
    New_PetSystem.h:140: error: ISO C++ forbids declaration of 'unordered_map' with no type
    New_PetSystem.h:140: error: typedef name may not be a nested-name-specifier
    New_PetSystem.h:140: error: expected ';' before '<' token
    New_PetSystem.h:185: error: 'TNewPetActorMap' does not name a type
    char_item.cpp: In member function 'bool CHARACTER::UseItemEx(CItem*, TItemPos)':
    char_item.cpp:1785: warning: suggest parentheses around assignment used as truth value
    gmake: *** [.obj/char_item.o] Error 1
     

    any idea ?

     

×
×
  • 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.