Cyxer 140 Posted November 14, 2015 Share Posted November 14, 2015 I have a problem with the wolfman!The buff skill not add other members of the group.Only in wolfman! Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted November 14, 2015 Premium Share Posted November 14, 2015 Check your party flag and the position of the party_flag in skill_proto Link to comment Share on other sites More sharing options...
Cyxer 140 Posted November 14, 2015 Author Share Posted November 14, 2015 skill:h skill_proto(design table) skill_proto: Link to comment Share on other sites More sharing options...
Premium Galet 510 Posted November 14, 2015 Premium Share Posted November 14, 2015 Ok, so you failed somewhere in gamesource Link to comment Share on other sites More sharing options...
Cyxer 140 Posted November 14, 2015 Author Share Posted November 14, 2015 You want to send your skill.h and char_skill.cpp? Link to comment Share on other sites More sharing options...
JinHan 187 Posted November 15, 2015 Share Posted November 15, 2015 check this https://metin2dev.org/board/index.php?/topic/5029-c-party-flag/&page=1 , if you already installed this, check this function in char_skill.cpp FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); if (ch) ch->ComputeSkill(dwVnum, ch); } then ,delete if(ch), done. Link to comment Share on other sites More sharing options...
Cyxer 140 Posted November 15, 2015 Author Share Posted November 15, 2015 4 hours ago, JinHan said: check this https://metin2dev.org/board/index.php?/topic/5029-c-party-flag/&page=1 , if you already installed this, check this function in char_skill.cpp FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); if (ch) ch->ComputeSkill(dwVnum, ch); } then ,delete if(ch), done. in char_skill.cpp i have this: else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) { FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); if (ch) ch->ComputeSkill(dwVnum, ch); } } make to this; Spoiler else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) { FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); if ch->ComputeSkill(dwVnum, ch); } } Link to comment Share on other sites More sharing options...
Cyxer 140 Posted November 15, 2015 Author Share Posted November 15, 2015 i test this: else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) { FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); ch->ComputeSkill(dwVnum, ch); } } and the problem not fix! Link to comment Share on other sites More sharing options...
Cyxer 140 Posted November 22, 2015 Author Share Posted November 22, 2015 up Link to comment Share on other sites More sharing options...
z35 170 Posted November 23, 2015 Share Posted November 23, 2015 char_skill.cpp if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY)) ComputeSkill(dwVnum, this); else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && !GetParty())ComputeSkill(dwVnum, this); else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) { FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); ComputeSkill(dwVnum, ch); } } 1 Link to comment Share on other sites More sharing options...
Cyxer 140 Posted November 23, 2015 Author Share Posted November 23, 2015 1 minute ago, z35 said: char_skill.cpp if (IS_SET(pkSk->dwFlag, SKILL_FLAG_SELFONLY)) ComputeSkill(dwVnum, this); else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && !GetParty())ComputeSkill(dwVnum, this); else if (IS_SET(pkSk->dwFlag, SKILL_FLAG_PARTY) && GetParty()) { FPartyPIDCollector f; GetParty()->ForEachOnMapMember(f, GetMapIndex()); for (std::vector <DWORD>::iterator it = f.vecPIDs.begin(); it != f.vecPIDs.end(); it++) { LPCHARACTER ch = CHARACTER_MANAGER::instance().FindByPID(*it); ComputeSkill(dwVnum, ch); } } i check later :) 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