Jump to content
Forgot your email address? ×
×
×
  • Create New...

arlinamid

Premium
  • Posts

    52
  • Joined

  • Last visited

3 Followers

About arlinamid

  • Birthday August 28

Informations

  • Gender
    Male

Social Networks

  • Discord Tag
    arlinamid#3411
  • Skype
    live:arlinamid_1

Recent Profile Visitors

685 profile views

arlinamid's Achievements

Collaborator

Collaborator (7/14)

  • Very Popular Rare
  • Very Important Person Rare
  • Reacting Well
  • Dedicated Rare
  • Collaborator

Recent Badges

202

Reputation

1

Community Answers

  1. Hi. Try this. I've made a tutorial for extracting model from gr2. For extracting animation just simple enable animation extract.
  2. Thanks, You made my day, yesterday I spend a 3 hour for browsing granny.h and try to find out why isnt working.
  3. Hi. Did you have any idea why it can't calculate Accumulation values?
  4. For acce: You have to do Instancebase.h Add this two line: Search this : void __ClearArmorShiningEffect(bool detaching = true); Add after: void __ClearAcceShiningEffect(bool detaching = true); void __AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName = "Bip01"); after that search this one : DWORD m_armorShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; add after this: DWORD m_acceShiningEffects[CItemData::ITEM_SHINING_MAX_COUNT]; In InstanceBase.cpp Search this in ClearAcceEffect(); in void SetAcce add after this #ifdef ENABLE_SHINING_SYSTEM __ClearAcceShiningEffect(); #endif search this CItemData * pItemData = NULL; CItemManager::Instance().GetItemDataPointer(dwAcce, &pItemData); in void SetAcce #ifdef ENABLE_SHINING_SYSTEM if (pItemData) __GetShiningEffect(pItemData); #endif Replace the whole void __GetShiningEffect with this it will fix costume weapon effect too. void CInstanceBase::__GetShiningEffect(CItemData* pItem) { bool removeRefineEffect = true; CItemData::TItemShiningTable shiningTable = pItem->GetItemShiningTable(); if (pItem->GetType() == CItemData::ITEM_TYPE_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { bool twoSidedWeapon = pItem->GetSubType() == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetSubType() == CItemData::WEAPON_FAN); if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetSubType() == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #ifdef ENABLE_COSTUME_SYSTEM else if (pItem->GetType() == CItemData::ITEM_TYPE_COSTUME) { #ifdef ENABLE_ACCE_COSTUME_SYSTEM if (pItem->GetSubType() == CItemData::COSTUME_ACCE) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachAcceShiningEffect(i, shiningTable.szShinings[i], "Bip01"); } } } #endif else if (pItem->GetSubType() == CItemData::COSTUME_BODY) { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } #ifdef ENABLE_WEAPON_COSTUME_SYSTEM else if (pItem->GetSubType() == CItemData::COSTUME_WEAPON) { __ClearWeaponShiningEffect(); if (removeRefineEffect) { __ClearWeaponRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { bool twoSidedWeapon = pItem->GetValue(3) == CItemData::WEAPON_DAGGER || (IsMountingHorse() && pItem->GetValue(3) == CItemData::WEAPON_FAN); if (twoSidedWeapon) { __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); } if (pItem->GetValue(3) == CItemData::WEAPON_BOW) __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON_LEFT"); else __AttachWeaponShiningEffect(i, shiningTable.szShinings[i], "PART_WEAPON"); } } } #endif } #endif else { if (removeRefineEffect) { __ClearArmorRefineEffect(); } for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (strcmp(shiningTable.szShinings[i], "")) { __AttachArmorShiningEffect(i, shiningTable.szShinings[i]); } } } } paste this to end of the file: #ifdef ENABLE_SHINING_SYSTEM #ifdef ENABLE_ACCE_COSTUME_SYSTEM void CInstanceBase::__AttachAcceShiningEffect(int effectIndex, const char* effectFileName, const char* boneName) { if (IsAffect(AFFECT_INVISIBILITY)) { return; } if (effectIndex >= CItemData::ITEM_SHINING_MAX_COUNT) { return; } if (!strcmp(boneName, "")) { Tracef("Empty bone name for attaching armor shining. Effect Index: %i, EffectFileName: %s", effectIndex, effectFileName); return; } CEffectManager::Instance().RegisterEffect(effectFileName, false, false); m_acceShiningEffects[effectIndex] = m_GraphicThingInstance.AttachEffectByName(0, boneName, effectFileName); } #ifdef ENABLE_ACCE_COSTUME_SYSTEM void CInstanceBase::__ClearAcceShiningEffect(bool detaching) { for (int i = 0; i < CItemData::ITEM_SHINING_MAX_COUNT; i++) { if (detaching) { __DetachEffect(m_acceShiningEffects[i]); } m_acceShiningEffects[i] = 0; } } #endif #endif Take care about #defines may I use different. Enjoy it. Cheers.
  5. I mean in msm path something like this effect.mse not ymir work/effect/mount/folder/effect.mse
  6. Okay i found a solution for my problem In grpRenderTargetTexture.h void Render() const; replace with void Render(); in grpRenderTargetTexture.cpp void CGraphicRenderTargetTexture::Render() const { D3DSURFACE_DESC desc; m_lpd3dRenderTargetSurface->GetDesc(&desc); replace with void CGraphicRenderTargetTexture::Render() { D3DSURFACE_DESC desc; if (m_lpd3dRenderTargetSurface == nullptr) { CreateTextures(); } m_lpd3dRenderTargetSurface->GetDesc(&desc); Somewhere it lose a Texture pointer, so I reinitalize. May thoose using relativ path and searching from current directory, check with Debug.
  7. If I dont comment it rendered it to main window. Not to the rendertarget window. Tomorow I give you an video from error
  8. Log.txt [Hidden Content] Debugging dump : [Hidden Content] My grpRenderTargetTexture.cpp after updated to DX9 [Hidden Content]
  9. Hi guys. I got a little wierd problem with rendertarget system, everything works fine till I open Itemshop after that client is crashing. After debug void CGraphicRenderTargetTexture::Render() const { D3DSURFACE_DESC desc; if (m_lpd3dRenderTargetSurface == nullptr) return; m_lpd3dRenderTargetSurface->GetDesc(&desc); m_lpd3dRenderTargetSurface is came null, any idea how to fix that? Some where it lose window handle pointer.
  10. I get same error, I looking for solution. GDB give me this. #0 0x080a87f0 in CHARACTER::Dead ([email protected]=0x3e691000, pkKiller=<optimized out>, [email protected]=0x0, [email protected]=true) at entity.h:54 isAgreedPVP = <optimized out> isUnderGuildWar = <optimized out> isDuel = <optimized out> isForked = <optimized out> pack = {header = 0 '\000', vid = 268435456} __FUNCTION__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>} #1 0x080a957c in CHARACTER::Dead (this=0x3e691000, pkKiller=0x0, bImmediateDead=true) at char_battle.cpp:1562 isAgreedPVP = <optimized out> isUnderGuildWar = <optimized out> isDuel = <optimized out> isForked = <optimized out> pack = {header = <optimized out>, vid = <optimized out>} __FUNCTION__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>} g1 = <optimized out> g2 = <optimized out> iEP = <optimized out> buf = {<optimized out> <repeats 256 times>} --Type <RET> for more, q to quit, c to continue without paging-- buf = {<optimized out> <repeats 256 times>} iNoPenaltyProb = <optimized out> f = {m_iAmount = <optimized out>, m_iCount = <optimized out>, m_iStep = <optimized out>, m_iKillerX = <optimized out>, m_iKillerY = <optimized out>} chResurrect = <optimized out> buf = {<optimized out> <repeats 51 times>} it = {_M_node = <optimized out>} pEventInfo = <optimized out> #2 0x08090f80 in FuncDeadSpawnedByStone::operator() (ch=0x3e691000, this=<synthetic pointer>) at char.cpp:5139 No locals. #3 std::for_each<std::__detail::_Node_iterator<CHARACTER*, true, false>, FuncDe adSpawnedByStone> (__f=..., __last=..., __first=...) at /usr/local/lib/gcc10/include/c++/bits/stl_algo.h:3844 No locals. #4 CHARACTER::ClearStone (this=0x3e547000) at char.cpp:5149 f = {<No data fields>} #5 0x080a9269 in CHARACTER::Dead ([email protected]=0x3e547000, pkKiller=<optimized out>, [email protected]=0x3e66f000, [email protected]=true) at char_battle.cpp:1507 pEventInfo = <optimized out> isAgreedPVP = <optimized out> --Type <RET> for more, q to quit, c to continue without paging-- isUnderGuildWar = <optimized out> isDuel = <optimized out> isForked = <optimized out> pack = {header = 14 '\016', vid = 21572} __FUNCTION__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>} #6 0x080aa5ea in CHARACTER::Dead (bImmediateDead=true, pkKiller=0x3e66f000, this=0x3e547000) at char_battle.cpp:517 isUnderGuildWar = <optimized out> isDuel = <optimized out> isAgreedPVP = <optimized out> isForked = <optimized out> pack = {header = <optimized out>, vid = <optimized out>} isAgreedPVP = <optimized out> isUnderGuildWar = <optimized out> isDuel = <optimized out> isForked = <optimized out> pack = {header = <optimized out>, vid = <optimized out>} __FUNCTION__ = {<optimized out>, <optimized out>, <optimized out>, <optimized out>, <optimized out>} g1 = <optimized out> g2 = <optimized out> iEP = <optimized out> --Type <RET> for more, q to quit, c to continue without paging-- buf = {<optimized out> <repeats 256 times>} buf = {<optimized out> <repeats 256 times>} iNoPenaltyProb = <optimized out> f = {m_iAmount = <optimized out>, m_iCount = <optimized out>, m_iStep = <optimized out>, m_iKillerX = <optimized out>, m_iKillerY = <optimized out>} chResurrect = <optimized out> buf = {<optimized out> <repeats 51 times>} it = {_M_node = <optimized out>} pEventInfo = <optimized out> #7 CHARACTER::Damage (this=<optimized out>, pAttacker=<optimized out>, dam=<optimized out>, type=<optimized out>) at char_battle.cpp:2177 iCurHP = <optimized out> iCurSP = <optimized out> IsCritical = <optimized out> IsPenetrate = <optimized out> IsDeathBlow = false
  11. Another solution for unwanted client acessing to the server. Thanks to @martysama0134
  12. I seen some forum, some Amd series had problem with Dx9, and they fixed with other version driver. I dont know its working for you. Other option you have upgrade to dx11. Or google it for other solution. Problem is transparency, amd using other dds format, for fixing this. But I think better for make two version compile one with dx8 other with dx9 if somebody has problem with dx9.

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.