Jump to content

Alucardo

Inactive Member
  • Posts

    49
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Alucardo

  1. In PythonPlayerModule:

    Search: {"GetItemAttribute", playerGetItemAttribute, METH_VARARGS},
    After this make a new line and paste:
            {"GetItemBind", playerGetItemBind, METH_VARARGS},

    And in PythonSafeBox:

    Search: {"GetMallSize", safeboxGetMallSize, METH_VARARGS},
     After this make a new line and paste:
            {"GetItemBind", safeboxGetItemBind, METH_VARARGS},
            {"GetMallItemBind", safeboxGetMallItemBind, METH_VARARGS},
     

    • Love 1
  2. Here:

    m_pToggleSlotImage = NULL;
    #ifdef ENABLE_HIGHLIGHT_SYSTEM
        for (int i = 0; i < 3; ++i)
        {
            m_apSlotActiveEffect = NULL;
        }
    #else
        m_pBaseImageInstance = NULL;
    }

     

    Replace with:

    m_pToggleSlotImage = NULL;
    #ifdef ENABLE_HIGHLIGHT_SYSTEM
        for (int i = 0; i < 3; ++i)
        {
            m_apSlotActiveEffect = NULL;
        }
    #endif
        m_pBaseImageInstance = NULL;
    }

  3. Here :

    #else
                if (m_pSlotActiveEffect)
                {
                    m_pSlotActiveEffect->SetPosition(ix, iy);
                    m_pSlotActiveEffect->Render();
                }
    #endif
        }

        RenderLockedSlot();
    }

     

    Rplace with:

    #else
                if (m_pSlotActiveEffect)
                {
                    m_pSlotActiveEffect->SetPosition(ix, iy);
                    m_pSlotActiveEffect->Render();
                }
    #endif
            }
        }

        RenderLockedSlot();
    }

  4. Hi dev, with this edit in your binary source you can pass through mobs npc and pets.

    Edit in GameLib/ActorInstanceCollisionDetection.cpp

    Search:

    BOOL CActorInstance::TestActorCollision(CActorInstance & rVictim)
    {
    
       if (rVictim.IsDead())
            return FALSE;

    Add after:

        if (rVictim.GetRace() == 30000)
            return FALSE;

    This work for shops, you can add mobs or npc very easy only add a new if statement like:

        if (rVictim.GetRace() == 30000 || rVictim.GetRace() == 34001)
            return FALSE;

     

    • Love 2
  5. Hi dev's i am new here aand i want to start with a tutorial for unlimited Arrows

    First we need to edit in game->cahr_battle.cpp

    Search this function

    void CHARACTER::UseArrow(LPITEM pkArrow, DWORD dwArrowCount)

    Now replace all function with this:

    void CHARACTER::UseArrow(LPITEM pkArrow, DWORD dwArrowCount)
    {

        if(pkArrow->GetValue(5)!=1)
        {
            int iCount = pkArrow->GetCount();
            DWORD dwVnum = pkArrow->GetVnum();
            iCount = iCount - MIN(iCount, dwArrowCount);
            pkArrow->SetCount(iCount);
            if (iCount == 0)
            {
                LPITEM pkNewArrow = FindSpecifyItem(dwVnum);
                sys_log(0, "UseArrow : FindSpecifyItem %u %p", dwVnum, get_pointer(pkNewArrow));
                if (pkNewArrow)
                    EquipItem(pkNewArrow);
            }
        }

    }

    Done with source. Now python

    Search in uitooltip.py

     

    Spoiler
    
    		if item.ITEM_TYPE_WEAPON == itemType:
    			self.__AppendLimitInformation()
    			self.AppendSpace(5)
    			if item.WEAPON_FAN == itemSubType:
    				self.__AppendMagicAttackInfo()
    				self.__AppendAttackPowerInfo()
    			else:
    				self.__AppendAttackPowerInfo()
    				self.__AppendMagicAttackInfo()
     
    			self.__AppendAffectInformation()
    			self.__AppendAttributeInformation(attrSlot)
     
    			self.AppendWearableInformation()

     

    And delete this line : self.__AppendMetinSlotInfo(metinSlot)

    And add after: 

    Spoiler
    
    			if itemSubType == item.WEAPON_ARROW and itemvalue5 == 1:
    				bHasRealtimeFlag = 0
    				for i in xrange(item.LIMIT_MAX_NUM):
    					(limitType, limitValue) = item.GetLimit(i)
    					if item.LIMIT_REAL_TIME == limitType:
    						bHasRealtimeFlag = 1
     
    				if bHasRealtimeFlag == 1:
    					self.AppendMallItemLastTime(metinSlot[0])
    			else:
    				self.__AppendMetinSlotInfo(metinSlot)

     

    Ok all its ready now protos.

    Item_proto.txt :

    Spoiler
    
    79501	화살표 화살통1	ITEM_WEAPON	WEAPON_ARROW	1	ANTI_MUSA | ANTI_SURA | ANTI_MUDANG | ANTI_WOLFMAN | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX	ITEM_STACKABLE | ITEM_SLOW_QUERY	WEAR_ARROW	NONE	100000	0	0	0	0	REAL_TIME	86400	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	17	4	0	25	0	1	0	0	0
    79502	화살표 화살통7	ITEM_WEAPON	WEAPON_ARROW	1	ANTI_MUSA | ANTI_SURA | ANTI_MUDANG | ANTI_WOLFMAN | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX	ITEM_STACKABLE | ITEM_SLOW_QUERY	WEAR_ARROW	NONE	550000	0	0	0	0	REAL_TIME	604800	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	17	4	0	25	0	1	0	0	0
    79503	화살표 화살통15	ITEM_WEAPON	WEAPON_ARROW	1	ANTI_MUSA | ANTI_SURA | ANTI_MUDANG | ANTI_WOLFMAN | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX	ITEM_STACKABLE | ITEM_SLOW_QUERY	WEAR_ARROW	NONE	0	0	0	0	0	REAL_TIME	1296000	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	17	4	0	25	0	1	0	0	0
    79504	화살표 화살통30	ITEM_WEAPON	WEAPON_ARROW	1	ANTI_MUSA | ANTI_SURA | ANTI_MUDANG | ANTI_WOLFMAN | ANTI_DROP | ANTI_GIVE | ANTI_MYSHOP | ANTI_SAFEBOX	ITEM_STACKABLE | ITEM_SLOW_QUERY	WEAR_ARROW	NONE	0	0	0	0	0	REAL_TIME	2592000	LIMIT_NONE	0	APPLY_NONE	0	APPLY_NONE	0	APPLY_NONE	0	17	4	0	25	0	1	0	0	0

     

    Item_names.txt: 

    Spoiler
    
    79501	Tolba Arcasului
    79502	Tolba Arcasului
    79503	Tolba Arcasului
    79504	Tolba Arcasului

     

    Or simply put on value5 from an arrow 1. That's All :D

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