Active Member Mind Rapist 188 Posted January 1, 2019 Active Member Share Posted January 1, 2019 I'm having the bug showing on the video (watch left window). The shaman targets an NPC, therefore, if she performs a buff skill, she will get the buff. But only her client will see the skill's effect on her body, everybody else will see the effect on the NPC's body. Can someone post or link a fix please? 1 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 2, 2019 Author Active Member Share Posted January 2, 2019 F5 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 2, 2019 Author Active Member Share Posted January 2, 2019 F5 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 8, 2019 Author Active Member Share Posted January 8, 2019 F5 Link to comment Share on other sites More sharing options...
Premium WeedHex 635 Posted January 8, 2019 Premium Share Posted January 8, 2019 Is cool if someone found a fix. F5 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 8, 2019 Author Active Member Share Posted January 8, 2019 Well Ymir did but they ain't sharing... Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 9, 2019 Author Active Member Share Posted January 9, 2019 F5 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 11, 2019 Author Active Member Share Posted January 11, 2019 F5 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 13, 2019 Author Active Member Share Posted January 13, 2019 F5 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 23, 2019 Author Active Member Share Posted January 23, 2019 F5 - At least give me something to start looking for a fix... Anything useful. Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 24, 2019 Author Active Member Share Posted January 24, 2019 F5 Anyone? Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 24, 2019 Author Active Member Share Posted January 24, 2019 UP! 1 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 26, 2019 Author Active Member Share Posted January 26, 2019 UP Link to comment Share on other sites More sharing options...
.NyanCat 24 Posted January 27, 2019 Share Posted January 27, 2019 Searching as well 1 Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 28, 2019 Author Active Member Share Posted January 28, 2019 Another day... UP Link to comment Share on other sites More sharing options...
Developer PACI 921 Posted January 28, 2019 Developer Share Posted January 28, 2019 Head to d:/ymir work/pc/shaman/skill and post here, let's say, jeongeop 2, 3 and 4. when you return 0 and server doesn't boot: Link to comment Share on other sites More sharing options...
Nirray 192 Posted January 28, 2019 Share Posted January 28, 2019 (edited) https://metin2.download/picture/b4wxFK1o6jS4VUU2E2M2mQiochsU9fsh/.gifHow it works: When player is trying to use buffs on npc/enemy then mouse target is automatically set to main character VID (You can't buff npc/enemy anyway from server side + You can't change target while using skills)UserInterface/PythonPlayerSkill.cpp Search: bool CPythonPlayer::__UseSkill(DWORD dwSlotIndex) Scroll down and search for: if (!pkInstTarget) { // ľ÷µĄŔĚĆ®ÇĎ°í.. __ChangeTargetToPickedInstance(); // ´Ů˝Ă ľňľîł˝´Ů. if (pSkillData->IsNeedCorpse()) pkInstTarget=__GetDeadTargetInstancePtr(); else pkInstTarget=__GetAliveTargetInstancePtr(); } Under: if (pkInstTarget) Paste this: if ((pkInstTarget->IsNPC() || pkInstTarget->IsEnemy() || pkInstTarget->IsStone() || pkInstTarget->IsStoneDoor()) && pSkillData->IsOnlyForAlliance()) { DWORD TargetVid = pkInstMain->GetVirtualID(); SetTarget(TargetVid, TRUE); } Should look like this: This is my way to solve the problem Edited August 27, 2022 by Metin2 Dev Core X - External 2 Internal 1 3 I completely abandoned working on the files for this game. I do not respond to private messages. Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 29, 2019 Author Active Member Share Posted January 29, 2019 (edited) Exactly what I was looking for It works perfectly!!! Struggled a bit but I added IsSameEmpire and IsPvPInstance and added custom check for looking position. Thank you man finally Edited August 26, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
zeimpekis9 68 Posted January 29, 2019 Share Posted January 29, 2019 (edited) 7 hours ago, Mind Rapist said: Exactly what I was looking for It works perfectly!!! Struggled a bit but I added IsSameEmpire and IsPvPInstance and added custom check for looking position. Thank you man finally Can you share your edit with us here? Edited August 26, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Active Member Mind Rapist 188 Posted January 29, 2019 Author Active Member Share Posted January 29, 2019 You want the full fix? Here it is: if (pkInstTarget) { if ((pkInstTarget->IsNPC() || pkInstTarget->IsEnemy() || pkInstTarget->IsStone() || !pkInstMain->IsSameEmpire(*pkInstTarget) || pkInstMain->IsPVPInstance(*pkInstTarget) || pkInstTarget->IsStoneDoor()) && pSkillData->IsOnlyForAlliance()) { DWORD TargetVid = pkInstMain->GetVirtualID(); SetTarget(TargetVid, TRUE); } if (pSkillData->IsOnlyForAlliance()) { ... Also change this if statement: if (pkInstMain != pkInstTarget) to: if (pkInstMain != pkInstTarget) { if (!pSkillData->IsOnlyForAlliance() || (pSkillData->IsOnlyForAlliance() && (!pkInstTarget->IsNPC() || !pkInstTarget->IsEnemy() || !pkInstTarget->IsStone() || pkInstMain->IsSameEmpire(*pkInstTarget) || !pkInstMain->IsPVPInstance(*pkInstTarget) || !pkInstTarget->IsStoneDoor()))) { if (pkInstMain->IsFlyTargetObject()) { pkInstMain->NEW_LookAtFlyTarget(); } else { pkInstMain->NEW_LookAtDestInstance(*pkInstTarget); } } } and this: if (pSkillData->CanChangeDirection()) to: if (pSkillData->CanChangeDirection()) { DWORD dwPickedActorID; TPixelPosition kPPosPickedGround; if (!pSkillData->IsOnlyForAlliance() || (pSkillData->IsOnlyForAlliance() && (!pkInstTarget->IsNPC() || !pkInstTarget->IsEnemy() || !pkInstTarget->IsStone() || pkInstMain->IsSameEmpire(*pkInstTarget) || !pkInstMain->IsPVPInstance(*pkInstTarget) || !pkInstTarget->IsStoneDoor()))) { if (pkInstTarget && pkInstTarget != pkInstMain) { pkInstMain->NEW_LookAtDestInstance(*pkInstTarget); } else if (__GetPickedActorID(&dwPickedActorID)) { CInstanceBase* pkInstVictim = NEW_FindActorPtr(dwPickedActorID); if (pkInstVictim) pkInstMain->NEW_LookAtDestInstance(*pkInstVictim); } else if (__GetPickedGroundPos(&kPPosPickedGround)) { pkInstMain->NEW_LookAtDestPixelPosition(kPPosPickedGround); } else { Tracenf("CPythonPlayer::__UseSkill(%d) - ΘΈι ±βΑΨ ΉζΗβ Ό³Α¤ΐ» ΗΨΎίΗΤ", dwSlotIndex); } } } Best regards 5 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now