Postado Agosto 24, 2023 1 ano Para quem deseja utilizar o 'IncreaseMagicPercent' no arquivo items.xml, que aumenta o dano mágico em porcentagem No arquivo game.cpp depois. Player* attackerPlayer; if (attacker) { attackerPlayer = attacker->getPlayer(); } else { attackerPlayer = nullptr; } Player* targetPlayer = target->getPlayer(); if (attackerPlayer && targetPlayer && attackerPlayer->getSkull() == SKULL_BLACK && attackerPlayer->getSkullClient(targetPlayer) == SKULL_NONE) { return false; } damage.primary.value = std::abs(damage.primary.value); damage.secondary.value = std::abs(damage.secondary.value); int32_t healthChange = damage.primary.value + damage.secondary.value; if (healthChange == 0) { return true; } adicionar // Inc Magic by lursky auto originList = { ORIGIN_RANGED, ORIGIN_MELEE, ORIGIN_CONDITION }; auto it = std::find(originList.begin(), originList.end(), damage.origin); if (attackerPlayer && it == originList.end()) { int32_t magicPercentBonus = 0; for (int32_t slot = CONST_SLOT_FIRST; slot <= CONST_SLOT_LAST; ++slot) { Item* item = attackerPlayer->inventory[slot]; if (item) { const ItemType& iiType = Item::items[item->getID()]; const int32_t& slotPosition = item->getSlotPosition(); if (iiType.increaseMagicPercent && (iiType.slotPosition & slotPosition)) { magicPercentBonus += iiType.increaseMagicPercent; } } } if (magicPercentBonus > 0) { damage.primary.value += damage.primary.value * (magicPercentBonus / 100.0f); } } No arquivo item.cpp post edit: Deve ter colocado duas vezes, ok? É só procurar no item.cpp essa linha e adicionar. Repita a busca pela mesma linha e adicione para exibir 'inc magic'. Pronto depois. if (it.abilities) { for (uint8_t i = SKILL_FIRST; i <= SKILL_LAST; i++) { if (!it.abilities->skills[i]) { continue; } if (begin) { begin = false; s << " ("; } else { s << ", "; } s << getSkillName(i) << ' ' << std::showpos << it.abilities->skills[i] << std::noshowpos; } adicionar. if (it.increaseMagicPercent) { if (begin) { begin = false; s << " ("; } else { s << ", "; } s << "Inc.Magic " << std::showpos << it.increaseMagicPercent << '%' << std::noshowpos; } No arquivo items.cpp depois. {"worth", ITEM_PARSE_WORTH}, adicionar: { "increasemagicpercent", ITEM_PARSE_INCREASEMAGICPERCENT }, Novamente, no arquivo items.cpp: depois. case ITEM_PARSE_SUPPRESSCURSE: { if (valueAttribute.as_bool()) { abilities.conditionSuppressions |= CONDITION_CURSED; } break; } adicionar. case ITEM_PARSE_INCREASEMAGICPERCENT: { it.increaseMagicPercent = pugi::cast<int32_t>(valueAttribute.value()); break; } No arquivo items.h depois. uint64_t worth = 0; adicionar. int32_t increaseMagicPercent = 0; Novamente, no arquivo items.h: after. ITEM_PARSE_WORTH, adicionar: ITEM_PARSE_INCREASEMAGICPERCENT, FIM É só recompilar e testar Como funciona usar esses atributos? Veja aqui um exemplo item id="xxx" name="teste robe"> <attribute key="weight" value="7100"/> <attribute key="armor" value="18"/> <attribute key="slotType" value="body"/> <attribute key="increaseMagicPercent" value="50"/> </item> Obs: Esses adições na source foram feitas por Mateus Roberto, e Lurskcy fez uma correção de erro que estava causando um .crash no arquivo games.cpp. Está funcionando bem. Espero que gostem Editado Agosto 24, 2023 1 ano por GM Vortex (veja o histórico de edições)
Postado Agosto 24, 2023 1 ano Administrador Obrigado por compartilhar! Contato :https://www.linkedin.com/in/rafhael-oliveira/Projetos :https://github.com/thetibiaking
Postado Agosto 24, 2023 1 ano Boa Tarde Amigos, Infelizmente nao funcionou Editado Maio 26 Mai 26 por Mayan Estevan (veja o histórico de edições)
Postado Agosto 24, 2023 1 ano Autor Em 24/08/2023 em 18:45, Mayan Estevan disse: Boa Tarde Amigos, Infelizmente nao funcionou no tfs 1.4 deu esse erro na hora de compilar, erro no game cpp Gravidade Código Descrição Projeto Arquivo Linha Estado de Supressão Erro (ativo) E0020 o identificador "attackerPlayer" não está definido theforgottenserver Ficou no lugar errado... precisa colocar na posição correta. Quando eu coloquei e compilei, funcionou. Mande o game.cpp para mim, que eu faço isso para você. É bem simples. Obs: Eu já coloquei a base do Nekiro, TFS 1.4.2 e 1.2 do Celohere, além da versão OTX 11X. Tudo está funcionando normalmente. Testado, OK Em 24/08/2023 em 17:42, Underewar disse: Obrigado por compartilhar! obrigado...
Postado Agosto 24, 2023 1 ano Poxa game.cppUnavailable Em 24/08/2023 em 19:31, GM Vortex disse: Ficou no lugar errado... precisa colocar na posição correta. Quando eu coloquei e compilei, funcionou. Mande o game.cpp para mim, que eu faço isso para você. É bem simples. Obs: Eu já coloquei a base do Nekiro, TFS 1.4.2 e 1.2 do Celohere, além da versão OTX 11X. Tudo está funcionando normalmente. Testado, OK obrigado... Em 24/08/2023 em 19:35, Mayan Estevan disse: Poxa cara se puder fazer isso eu agradeço muito , de toda forma estou agradecidoeu tentei seguir o tutorial mas sou leigo demais , minha base e a do nekiro 1.4.2 mesmo <span>game.cpp</span><span> 156.66 kB · 0 downloads </span> Unavailable Editado Maio 26 Mai 26 por Mayan Estevan (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.