Jump to content

arlinamid

Inactive Member
  • Posts

    76
  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by arlinamid

  1. Thanks, You made my day, yesterday I spend a 3 hour for browsing granny.h and try to find out why isnt working.
  2. Hi. Did you have any idea why it can't calculate Accumulation values?
  3. 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.
  4. I mean in msm path something like this effect.mse not ymir work/effect/mount/folder/effect.mse
  5. 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.
  6. With "fix looks like this, without it crashing
  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 (this=this@entry=0x3e691000, pkKiller=<optimized out>, pkKiller@entry=0x0, bImmediateDead=bImmediateDead@entry=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 (this=this@entry=0x3e547000, pkKiller=<optimized out>, pkKiller@entry=0x3e66f000, bImmediateDead=bImmediateDead@entry=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.
  13. Sorry it my fault, the worleditor works perfectly, previously i changed icons with Resource hacker and its makes trouble. The orginal working with all the plugins, with my Hungarian plugin too.
  14. I checked it only happens if translate plugin was used. I checked with French and Hungarian plugin.
  15. Hi guys, I make a hungarian translate for WorldEditor_Remix, you can access the file here If you wanna use it in change this line in WorldEditorRemix.ini LOCALE = "HU" If you find any mistranslated things send a message to me, I correct it. I will upload to github the whole project. I change some icons, Enjoy it. Hungarian translate: Sziasztok srácok. Megcsináltam a WorldEditor_remix magyarítását, az alábbi címen elérhetitek Ha használni akarjátok a WorldEditorRemix.ini -ben át kell írni az alábbi sort "EN" -ről LOCALE = "HU" Ha bármilyen félrefordítást csináltam jellezd, és javítom. Kicseréltem pár icont, Használd egészséggel. PS. For icons credits to @Tatsumaru
  16. @martysama0134 1. I found a little bug in version v43 on Fly tab if you open a load dialog and didnt choose a msf file and click cancel, the program crashing and closing automaticly. 2. Same if you click on File tab Save collision and didnt write a file name, just click on Cancel the program crashing with file io error. 3. I modified everywhere in the program when you can load a file from windows system and click cancel on loading windows the program crashing if you didnt select a file, just click Cancel.
  17. @Tatsumaru upload psd to public we waiting your icons
  18. You didnt finished directx upgrade on terrain. Check the variables and directx function well updated in project.
  19. I dont make any changes it works fine. But, I have a question for you can I make a Hungarian translate, for Worldeditor via Resource hacker or you had something for I can translate and compile? And other question I working now on NavMesh(Recast/Detour) for Metin2 , I'm think it will be easily implemented into the Worldeditor, and createing navmesh files for Detour can you help me in this project.
  20. I really like it @Tatsumaru , easily implemented with Resource hacker Thank you and also Thanks to @martysama0134
  21. Because this file io error, an exception which you wont handle it, handle and the client doesnt crashing.
  22. It looks nice, but only a begining what I expecting. Thanks for the release. I am think about the collisions and its only client side, so i'm true way only getting navmesh from client side and checking collisions when mob moving, yes I know its hard to implement, but we look into future.
×
×
  • 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.