-
Posts
13 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by Lazy
-
-
I think that error continues to occur in second page inventory.
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?
-
I think that you forgot about mob_color in mob_proto.
-
Try to copy src_mainline to novaline folder and check this out. I think that it is the most easy way.
-
-
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.
- 1
-
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!
- 2
-
Change your say_item function to...
say("[INSERT_IMAGE image_type;item|idx;"..vnum.."|title;"..name.."|index;".. 0 .."|total;".. 1 .."]")
Added:total;".. 1 .."
- 3
-
I suppose that it's a simple mistake.
-
Thanks.
-
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.
-
Hey. Long time ago I did fix on the StunBug, but just now I decided to share this.
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!
- 8
How To Fix Auto Potion in Inventory
in Bug Fixes
Posted
But it still doesn't agree with my theory.
// Ah, I understood! inventoryPageIndex begins 0 = first page.. 1 = second page etc. Sorry, my mistake.