ZyuX 671 Posted December 11, 2019 Share Posted December 11, 2019 (edited) M2 Download Center This is the hidden content, please Sign In or Sign Up ( Internal ) Hy, below you will see that "amazing" system for Pet. Actually is not a system but, Merry Christmas. https://metin2.download/picture/5drfKs7E7kAsiYpiLe9Mo55K5b19vs6l/.gif Download: This is the hidden content, please Sign In or Sign Up Edited August 27, 2022 by Metin2 Dev Core X - External 2 Internal 128 1 1 1 2 2 2 2 39 10 84 Link to comment Share on other sites More sharing options...
Active Member hachiwari 138 Posted December 11, 2019 Active Member Share Posted December 11, 2019 (edited) Edited August 25, 2022 by Metin2 Dev Core X - External 2 Internal 1 6 Link to comment Share on other sites More sharing options...
Forum Moderator VegaS™ 10274 Posted December 11, 2019 Forum Moderator Share Posted December 11, 2019 (edited) Spoiler void CPetActor::SetName() { std::string petName = m_pkOwner->GetName(); if (true == IsSummoned() && m_dwVnum == 34025) { petName += " - |cFFFF0049|H|hPhoenix de Foc"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34010) { petName += " - |cFFc9ff00|H|hBambi"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34003) { petName += " - |cFF009DFF|H|hPhoenix de Gheata"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34004) { petName += " - |cFF732222|H|hMicul Azrael"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34005) { petName += " - |cFF528508|H|hPorcusor"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34006) { petName += " - |cFF528508|H|hRufus"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34007) { petName += " - |cFF528508|H|hKhan"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34008) { petName += " - |cFF528508|H|hLeonidas"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34009) { petName += " - |cFFDCE627|H|hMicul Azrael (Aur)"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34011) { petName += " - |cFF009DFF|H|hKnuud"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34012) { petName += " - |cFF009DFF|H|hBao Bao"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34013) { petName += " - |cFF732222|H|hMini Executor"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34014) { petName += " - |cFFDCE627|H|hMini Executor (Aur)"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34015) { petName += " - |cFFc9ff00|H|hBoney"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34016) { petName += " - |cFFA1C718|H|hPhoenix de Jad"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34017) { petName += " - |cFF109EC7|H|hPorkie Polar"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34019) { petName += " - |cFF109EC7|H|hArctis Khan"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34020) { petName += " - |cFF109EC7|H|hLeonidas Alb"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34021) { petName += " - |cFFc9ff00|H|hSheldon"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34022) { petName += " - |cFFc9ff00|H|hChooper"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34023) { petName += " - |cFFC97D87|H|hPui de Pantera"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34028) { petName += " - |cFF109EC7|H|hFulg de Nea"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34029) { petName += " - |cFF109EC7|H|hClopotel de Nea"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34030) { petName += " - |cFFF42B07|H|hElf Rosu"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34031) { petName += " - |cFF34962B|H|hElf Verde"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34032) { petName += " - |cFF6B6B6B|H|hJiangshi Junior"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34033) { petName += " - |cFF237A00|H|hMr Jiangshi"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34034) { petName += " - |cFF16ACB8|H|hShiver"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34035) { petName += " - |cFF16ACB8|H|hSnivel"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34036) { petName += " - |cFFA210AB|H|hLiliacul Bruce"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34037) { petName += " - |cFFA210AB|H|hLiliacul Wayne"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34038) { petName += " - |cFF77B8EA|H|hRamblue"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34039) { petName += " - |cFFD58DEE|H|hEweriel"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34040) { petName += " - |cFF732222|H|hMicul Huashin"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34100) { petName += " - |cFFE13066|H|hSemiluna Rosie"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34101) { petName += " - |cFF6271E3|H|hSemiluna Albastra"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34102) { petName += " - |cFFE13066|H|hLanterna Rosie"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34103) { petName += " - |cFF6271E3|H|hLanterna Albastra"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34104) { petName += " - |cFFF91ECE|H|hValentinia"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34105) { petName += " - |cFF6271E3|H|hValentino"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34106) { petName += " - |cFFE13066|H|hAmoras"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34107) { petName += " - |cFFE13066|H|hInima Iute"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34108) { petName += " - |cFF13A575|H|hBonsai"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34109) { petName += " - |cFF13A575|H|hDonnie"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34110) { petName += " - |cFF13A575|H|hBonnie"; m_pkChar->SetName(petName); } else if (true == IsSummoned()) { petName += " Companiot"; m_pkChar->SetName(petName); } m_name = petName; } You could do it with a map. This is the hidden content, please Sign In or Sign Up Also you could use my This is the hidden content, please Sign In or Sign Up (there exists This is the hidden content, please Sign In or Sign Up ) for coloring a string, much easier. This is the hidden content, please Sign In or Sign Up #include "cff.h" std::string text = CFF::format("Metin2", "green"); std::string text = CFF::format(std::to_string(8000), "banana"); std::string text = CFF::format(std::to_string(412.55), "red"); std::string text = CFF::format("Pending", "#113355"); std::string text = CFF::format("Item name:", "springgreen", CFF::FLAG_NEW_TAB) + CFF::format(pItemData->GetName(), "chocolate"); std::vector<string> text = CFF::multi_format({"a", "b", "c"}, "red"); // text[0], text[1], text[2] Edited December 3, 2020 by VegaS™ 51 2 1 1 14 4 27 Check my GitHub Profile Click to find all the threads started by me [TOOL] Text file loader + JSON Link to comment Share on other sites More sharing options...
Dutschke 235 Posted December 12, 2019 Share Posted December 12, 2019 void CPetActor::SetName() { char buf[64]; if (0 != m_pkOwner && 0 != m_pkOwner->GetName()) snprintf(buf, sizeof(buf), "%s - %s", m_pkOwner->GetName(), m_pkChar->GetMobTable().szLocaleName); else snprintf(buf, sizeof(buf), "%s", m_pkChar->GetMobTable().szLocaleName); if (true == IsSummoned()) m_pkChar->SetName(buf); m_name = buf; } 1 Link to comment Share on other sites More sharing options...
Active+ Member enisina 171 Posted December 20, 2019 Active+ Member Share Posted December 20, 2019 On 12/12/2019 at 12:43 AM, VegaS™ said: Reveal hidden contents void CPetActor::SetName() { std::string petName = m_pkOwner->GetName(); if (true == IsSummoned() && m_dwVnum == 34025) { petName += " - |cFFFF0049|H|hPhoenix de Foc"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34010) { petName += " - |cFFc9ff00|H|hBambi"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34003) { petName += " - |cFF009DFF|H|hPhoenix de Gheata"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34004) { petName += " - |cFF732222|H|hMicul Azrael"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34005) { petName += " - |cFF528508|H|hPorcusor"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34006) { petName += " - |cFF528508|H|hRufus"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34007) { petName += " - |cFF528508|H|hKhan"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34008) { petName += " - |cFF528508|H|hLeonidas"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34009) { petName += " - |cFFDCE627|H|hMicul Azrael (Aur)"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34011) { petName += " - |cFF009DFF|H|hKnuud"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34012) { petName += " - |cFF009DFF|H|hBao Bao"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34013) { petName += " - |cFF732222|H|hMini Executor"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34014) { petName += " - |cFFDCE627|H|hMini Executor (Aur)"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34015) { petName += " - |cFFc9ff00|H|hBoney"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34016) { petName += " - |cFFA1C718|H|hPhoenix de Jad"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34017) { petName += " - |cFF109EC7|H|hPorkie Polar"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34019) { petName += " - |cFF109EC7|H|hArctis Khan"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34020) { petName += " - |cFF109EC7|H|hLeonidas Alb"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34021) { petName += " - |cFFc9ff00|H|hSheldon"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34022) { petName += " - |cFFc9ff00|H|hChooper"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34023) { petName += " - |cFFC97D87|H|hPui de Pantera"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34028) { petName += " - |cFF109EC7|H|hFulg de Nea"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34029) { petName += " - |cFF109EC7|H|hClopotel de Nea"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34030) { petName += " - |cFFF42B07|H|hElf Rosu"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34031) { petName += " - |cFF34962B|H|hElf Verde"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34032) { petName += " - |cFF6B6B6B|H|hJiangshi Junior"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34033) { petName += " - |cFF237A00|H|hMr Jiangshi"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34034) { petName += " - |cFF16ACB8|H|hShiver"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34035) { petName += " - |cFF16ACB8|H|hSnivel"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34036) { petName += " - |cFFA210AB|H|hLiliacul Bruce"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34037) { petName += " - |cFFA210AB|H|hLiliacul Wayne"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34038) { petName += " - |cFF77B8EA|H|hRamblue"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34039) { petName += " - |cFFD58DEE|H|hEweriel"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34040) { petName += " - |cFF732222|H|hMicul Huashin"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34100) { petName += " - |cFFE13066|H|hSemiluna Rosie"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34101) { petName += " - |cFF6271E3|H|hSemiluna Albastra"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34102) { petName += " - |cFFE13066|H|hLanterna Rosie"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34103) { petName += " - |cFF6271E3|H|hLanterna Albastra"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34104) { petName += " - |cFFF91ECE|H|hValentinia"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34105) { petName += " - |cFF6271E3|H|hValentino"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34106) { petName += " - |cFFE13066|H|hAmoras"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34107) { petName += " - |cFFE13066|H|hInima Iute"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34108) { petName += " - |cFF13A575|H|hBonsai"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34109) { petName += " - |cFF13A575|H|hDonnie"; m_pkChar->SetName(petName); } else if (true == IsSummoned() && m_dwVnum == 34110) { petName += " - |cFF13A575|H|hBonnie"; m_pkChar->SetName(petName); } else if (true == IsSummoned()) { petName += " Companiot"; m_pkChar->SetName(petName); } m_name = petName; } You could do it with a map. #include "cff.h" using TPetName = std::map<uint32_t, std::tuple<std::string, std::string>>; static const TPetName map_pet_names = { { 34003, {"Phoenix de Gheata", "#009DFF"} }, { 34004, {"Micul Azrael", "#732222"} }, { 34005, {"Porcusor", "#528508"} }, }; void CPetActor::SetName() { std::string& stPetName = m_pkOwner->GetName(); const auto& it = map_pet_names.find(m_dwVnum); if (it != map_pet_names.end()) stPetName.append(CFF::format(std::get<0>(it->second), std::get<1>(it->second))); m_pkChar->SetName(stPetName); } Also you could use my This is the hidden content, please Sign In or Sign Up (there exists This is the hidden content, please Sign In or Sign Up ) for coloring a string, much easier. This is the hidden content, please Sign In or Sign Up #include "cff.h" std::string text = CFF::format("Metin2", "green"); std::string text = CFF::format(std::to_string(8000), "banana"); std::string text = CFF::format(std::to_string(412.55), "red"); std::string text = CFF::format("Pending", "#113355"); std::string text = CFF::format("Item name:", "springgreen", CFF::FLAG_NEW_TAB) + CFF::format(pItemData->GetName(), "chocolate"); std::vector<string> text = CFF::multi_format({"a", "b", "c"}, "red"); // text[0], text[1], text[2] computepoints(); on this system Why is it used? Does the need to use? 1 1 Link to comment Share on other sites More sharing options...
Cripplez 40 Posted April 7, 2021 Share Posted April 7, 2021 On 12/11/2019 at 10:43 PM, VegaS™ said: You could do it with a map. Hidden Content #include "cff.h" using TPetName = std::map<uint32_t, std::tuple<std::string, std::string>>; static const TPetName map_pet_names = { { 34003, {"Phoenix de Gheata", "#009DFF"} }, { 34004, {"Micul Azrael", "#732222"} }, { 34005, {"Porcusor", "#528508"} }, }; void CPetActor::SetName() { std::string& stPetName = m_pkOwner->GetName(); const auto& it = map_pet_names.find(m_dwVnum); if (it != map_pet_names.end()) stPetName.append(CFF::format(std::get<0>(it->second), std::get<1>(it->second))); m_pkChar->SetName(stPetName); } And how could this be made without the color part? Just like this for example: { { 34003, {"Phoenix de Gheata"} }, { 34004, {"Micul Azrael"} }, { 34005, {"Porcusor"} }, }; Link to comment Share on other sites More sharing options...
Forum Moderator VegaS™ 10274 Posted April 7, 2021 Forum Moderator Share Posted April 7, 2021 (edited) On 4/7/2021 at 9:54 PM, Cripplez said: And how could this be made without the color part? Just like this for example: { { 34003, {"Phoenix de Gheata"} }, { 34004, {"Micul Azrael"} }, { 34005, {"Porcusor"} }, }; Replace: (default function) void CPetActor::SetName(const char* name) { std::string petName = m_pkOwner->GetName(); if (0 != m_pkOwner && 0 == name && 0 != m_pkOwner->GetName()) { petName += "'s Pet"; } else petName += name; if (true == IsSummoned()) m_pkChar->SetName(petName); m_name = petName; } With: This is the hidden content, please Sign In or Sign Up Edited August 26, 2021 by VegaS™ 15 2 4 5 Check my GitHub Profile Click to find all the threads started by me [TOOL] Text file loader + JSON Link to comment Share on other sites More sharing options...
L3ads 8 Posted September 14, 2021 Share Posted September 14, 2021 (edited) I have this problem: Edited August 17, 2022 by Metin2 Dev Core X - External 2 Internal Link to comment Share on other sites More sharing options...
Active Member hachiwari 138 Posted September 14, 2021 Active Member Share Posted September 14, 2021 (edited) 8 hours ago, L3ads said: I have this problem: Your summon function has 3 paramters, you try call with 4 paramter. Edited August 26, 2022 by Metin2 Dev Core X - External 2 Internal 2 Link to comment Share on other sites More sharing options...
SnakeSlap 1 Posted November 6, 2023 Share Posted November 6, 2023 Hello! First of all, thanks for the contribution. I have the same error that you mentioned above; char.cpp: No matching fuction for call to "CPetSystem:Summon(DWORD&, CItem*&, int)" PetSystem.h: candidates are CPetActor* CPetSystem:Summon(DWORD, CItem*, const char*, bool, DWORD) your file; char.cpp petSystem->Summon(mobVnum, petItem, false); my file; PetSystem.h CPetActor* AddPet(DWORD mobVnum, const char* petName, const SPetAbility& ability, DWORD options = CPetActor::EPetOption_Followable | CPetActor::EPetOption_Summonable | CPetActor::EPetOption_Combatable); Any help is appreciated, thanks! 1 Link to comment Share on other sites More sharing options...
ggns7 18 Posted December 19, 2023 Share Posted December 19, 2023 when calling the pet, his not coming. but when change item index in inventory the pet was summon/unsummon Im machine. Link to comment Share on other sites More sharing options...
Kansan 6 Posted April 29 Share Posted April 29 Tell me, please. Putting on a pet seal, it appears and immediately disappears without giving bonuses. If you re-enter the character, it appears with bonuses. I've gone through everything, I can't figure out what the reason is. Link to comment Share on other sites More sharing options...
Recommended Posts