-
Posts
31 -
Joined
-
Last visited
-
Days Won
1 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Posts posted by xUniverse
-
-
Post your void CHARACTER::RefreshAffect() of char_affect.cpp
-
InstanceBase.cpp
Search:
if (m_swordRefineEffectRight) m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight); if (m_swordRefineEffectLeft) m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft); break;
After make a new line and add:
case CItemData::ITEM_TYPE_COSTUME: if (pItem->GetSubType() == CItemData::COSTUME_WEAPON) { __ClearWeaponRefineEffect(); switch(pItem->GetValue(3)) { case CItemData::WEAPON_DAGGER: __ClearWeaponRefineEffect(); m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED8; m_swordRefineEffectLeft = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED8_LEFT; break; case CItemData::WEAPON_BOW: __ClearWeaponRefineEffect(); m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_BOW_REFINED8; break; case CItemData::WEAPON_TWO_HANDED: __ClearWeaponRefineEffect(); m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED8; break; case CItemData::WEAPON_BELL: __ClearWeaponRefineEffect(); m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SMALLSWORD_REFINED8; break; case CItemData::WEAPON_FAN: __ClearWeaponRefineEffect(); m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_FANBELL_REFINED8; break; default: __ClearWeaponRefineEffect(); m_swordRefineEffectRight = EFFECT_REFINED + EFFECT_SWORD_REFINED8; } if (m_swordRefineEffectRight) m_swordRefineEffectRight = __AttachEffect(m_swordRefineEffectRight); if (m_swordRefineEffectLeft) m_swordRefineEffectLeft = __AttachEffect(m_swordRefineEffectLeft); break; }
-
Hi,
I wanna put different effects on weapons according to the linked stones.
For example, if the weapon has a Stone against Warrior will have a red effect.
I tried to do it only checking the socket0 with GetSocket(0) in the function __GetRefinedEffect of InstanceBase.cpp
case CItemData::WEAPON_FAN: long stoneIdx0 = pItem->GetSocket(0); if (stoneIdx0 == VNUM_STONE_AGAINST_WARRIOR) { m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_WEAPON_RED; } else { m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_FANBELL_REFINED7+refine-7; } break;
But when I tested the weapon looks with the normal effect: EFFECT_FANBELL_REFINED7+refine-7
How I can get the vnum of the socket0 in binary? is possible?
-
hace 13 horas, _Sielu dijo:
crash is in bool CPythonPlayer::__HasEnoughArrow()
just use pItemData in case if (CItemManager::Instance().GetItemDataPointer(GetItemIndex(TItemPos(INVENTORY, c_Equipment_Arrow)), &pItemData))
Thanks,
This part of my function was good, but I found the problem in: if (CItemData::WEAPON_ARROW == pItemData->GetSubType()).
Solved.
### If someone has the same problem (and has NEW_ARROW_SYSTEM enabled), this is my fixed __HasEnoughArrow() function (in PythonPlayerSkill.cpp
bool CPythonPlayer::__HasEnoughArrow() { CItemData * pItemData; if (CItemManager::Instance().GetItemDataPointer(GetItemIndex(TItemPos(INVENTORY, c_Equipment_Arrow)), &pItemData)) if (CItemData::ITEM_TYPE_WEAPON == pItemData->GetType()) #ifdef ENABLE_NEW_ARROW_SYSTEM if (CItemData::WEAPON_ARROW == pItemData->GetSubType() || CItemData::WEAPON_UNLIMITED_ARROW == pItemData->GetSubType()) #else if (CItemData::WEAPON_ARROW == pItemData->GetSubType()) #endif { return true; } PyCallClassMemberFunc(m_ppyGameWindow, "OnCannotShotError", Py_BuildValue("(is)", GetMainCharacterIndex(), "EMPTY_ARROW")); return false; }
-
Hi,
I have a problem with my client, it crash when I click the left button to try to attack without enough arrows (it doesn't happen if I attack with the space bar)
I checked the syserr of client and game, but nothing.
I compiled my binary in debug mode to see what is wrong, but nothing again.
Any idea?
[BUG] Item_Attr
in Community Support - Questions & Answers
Posted
Do you try without deleting the defenses (sword, dagger, etc) but setting the prob as 0? (I know that it isn't a solution, but it's a way to avoid the problem and it works fine for me)