Jump to content

Lazy

Inactive Member
  • Posts

    13
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Lazy

  1. On 10/11/2014 at 9:48 AM, Minion said:

     

    I think that error continues to occur in second page inventory. :P

    if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex: ## (e.g. 47(second page) >= 45 * 2; 47 >= 90 - false = bug)
    	slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex ## (e.g. (third page) 93 -= 90 = 3 - true = fix)

    Can you explain that to me?

    But it still doesn't agree with my theory.

     

    // Ah, I understood! inventoryPageIndex begins 0 = first page.. 1 = second page etc. Sorry, my mistake.

  2. I think that error continues to occur in second page inventory. :P

    if slotNumber >= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex: ## (e.g. 47(second page) >= 45 * 2; 47 >= 90 - false = bug)
    	slotNumber -= player.INVENTORY_PAGE_SIZE * self.inventoryPageIndex ## (e.g. (third page) 93 -= 90 = 3 - true = fix)

    Can you explain that to me?

  3. Instead of this:

        // if (IsPolymorphed())
        // {
            // DWORD dwMobVnum = GetPolymorphVnum();
            // const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
            // int iAtt = 0;
            // int iDef = 0;
     
            // if (pMob)
            // {
                // iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
                // // lev + con
                // iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
            // }
     
            // SetPoint(POINT_ATT_GRADE, iAtt);
            // SetPoint(POINT_DEF_GRADE, iDef);
            // SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE));
            // SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
        // }
        // else if (IsPC())
    You can write this:

    	/*
    	if (IsPolymorphed())
    	{
    		DWORD dwMobVnum = GetPolymorphVnum();
    		const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
    		int iAtt = 0;
    		int iDef = 0;
    
    		if (pMob)
    		{
    			iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
    			// lev + con
    			iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
    		}
    
    		SetPoint(POINT_ATT_GRADE, iAtt);
    		SetPoint(POINT_DEF_GRADE, iDef);
    		SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
    		SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
    	}
    	else if (IsPC())
    	*/
    But thanks for sharing.

     

    I did it by Notepad++ (combination keys CTRL + Q) because such an effect.

    • Love 1
  4. Hey. Everyone knows that on the poly is bug with damage. Poly give us additional affect but this affect isn't activated together with use poly marble. We must: summon pet, activate autopot or anything which uses ComputeBattlePoint function to turn on this affect. I decided to remove completely this affect because other class than warrior or sura can't use this. Well... Open file char.cpp.

     

    Find this:

    void CHARACTER::ComputeBattlePoints()
    {
    	if (IsPolymorphed())
    	{
    		DWORD dwMobVnum = GetPolymorphVnum();
    		const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
    		int iAtt = 0;
    		int iDef = 0;
    
    		if (pMob)
    		{
    			iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
    			// lev + con
    			iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
    		}
    
    		SetPoint(POINT_ATT_GRADE, iAtt);
    		SetPoint(POINT_DEF_GRADE, iDef);
    		SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
    		SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
    	}
    	else if (IsPC())

    Replace with:

    void CHARACTER::ComputeBattlePoints()
    {
    	// if (IsPolymorphed())
    	// {
    		// DWORD dwMobVnum = GetPolymorphVnum();
    		// const CMob * pMob = CMobManager::instance().Get(dwMobVnum);
    		// int iAtt = 0;
    		// int iDef = 0;
    
    		// if (pMob)
    		// {
    			// iAtt = GetLevel() * 2 + GetPolymorphPoint(POINT_ST) * 2;
    			// // lev + con
    			// iDef = GetLevel() + GetPolymorphPoint(POINT_HT) + pMob->m_table.wDef;
    		// }
    
    		// SetPoint(POINT_ATT_GRADE, iAtt);
    		// SetPoint(POINT_DEF_GRADE, iDef);
    		// SetPoint(POINT_MAGIC_ATT_GRADE, GetPoint(POINT_ATT_GRADE)); 
    		// SetPoint(POINT_MAGIC_DEF_GRADE, GetPoint(POINT_DEF_GRADE));
    	// }
    	// else if (IsPC())
    	if (IsPC())

    Ayo!

    • Love 2
  5. Well. You removed only

    m_pOwner->SetImmuneFlag(dwImmuneFlag);

    Why?

    Stun bug is caused by the certain chance of apply.

    (80% i think)

    Regards.

    If you equiped e.g. armor and this item haven't any immunes then immunes set to 0, it's delete all immunes. Now doesn't delete immunes just added immunes contained in item.

  6. Hey. Long time ago I did fix on the StunBug, but just now I decided to share this. :lol:
    So... Open the file item.cpp and go to functions: EquipTo & Unequip.

    Find this:

    	DWORD dwImmuneFlag = 0;
    
    	for (int i = 0; i < WEAR_MAX_NUM; ++i)
    		if (m_pOwner->GetWear(i))
    			SET_BIT(dwImmuneFlag, m_pOwner->GetWear(i)->m_pProto->dwImmuneFlag);
    
    	m_pOwner->SetImmuneFlag(dwImmuneFlag);

    Replace with:

    	DWORD dwImmuneFlag = 0;
    
    	for (int i = 0 ; i < WEAR_MAX_NUM; i++) 
    	{
    		LPITEM pItem = m_pOwner->GetWear(i);
    		if (pItem)
    		{
    			SET_BIT(dwImmuneFlag, m_pOwner->GetWear(i)->GetImmuneFlag());
    		}
    	}

    Ayo!

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