[Admin] tierrilopes Posted February 28, 2016 Share Posted February 28, 2016 Serve para definir o valor mínimo e máximo de DM e DH a sair nas armas. Ir até ao ficheiro config.h Procurar por: extern int VIEW_BONUS_RANGE; Adicionar o seguinte por baixo: extern int minDanoHabilidade; extern int maxDanoHabilidade; extern int minDanoMedio; extern int maxDanoMedio; Ir até ao ficheiro config.cpp Procurar por: int VIEW_BONUS_RANGE = 500; Adicionar o seguinte por baixo: int minDanoHabilidade = -30; int maxDanoHabilidade = 30; int minDanoMedio = -30; int maxDanoMedio = 30; Procurar por: TOKEN("gold_drop_time") { str_to_number(gold_drop_time, value_string); gold_drop_time = MINMAX(0, gold_drop_time, 32767); fprintf(stderr, "GOLD_DROP_TIME: %d\n", gold_drop_time); } Adicionar o seguinte por baixo: TOKEN("minDanoHabilidade") { str_to_number(minDanoHabilidade, value_string); minDanoHabilidade = MINMAX(-32767, minDanoHabilidade, 32767); fprintf(stderr, "minDanoHabilidade: %d\n", minDanoHabilidade); } TOKEN("maxDanoHabilidade") { str_to_number(maxDanoHabilidade, value_string); maxDanoHabilidade = MINMAX(-32767, maxDanoHabilidade, 32767); fprintf(stderr, "maxDanoHabilidade: %d\n", maxDanoHabilidade); } TOKEN("minDanoMedio") { str_to_number(minDanoMedio, value_string); minDanoMedio = MINMAX(-32767, minDanoMedio, 32767); fprintf(stderr, "minDanoMedio: %d\n", minDanoMedio); } TOKEN("maxDanoMedio") { str_to_number(maxDanoMedio, value_string); maxDanoMedio = MINMAX(-32767, maxDanoMedio, 32767); fprintf(stderr, "maxDanoMedio: %d\n", maxDanoMedio); } Substituir o item_addon.cpp pelo do anexo, ou colocar o seguinte conteúdo: Spoiler #include "stdafx.h" #include "config.h" #include "constants.h" #include "utils.h" #include "item.h" #include "item_addon.h" extern int minDanoHabilidade; extern int maxDanoHabilidade; extern int minDanoMedio; extern int maxDanoMedio; CItemAddonManager::CItemAddonManager() { } CItemAddonManager::~CItemAddonManager() { } void CItemAddonManager::ApplyAddonTo(int iAddonType, LPITEM pItem) { if (!pItem) { sys_err("ITEM pointer null"); return; } if (minDanoHabilidade>maxDanoHabilidade) { sys_err("item_addon: minDanoHabilidade [%d] é maior que maxDanoHabilidade [%d]", minDanoHabilidade, maxDanoHabilidade); int bufferFKS = minDanoHabilidade; minDanoHabilidade = maxDanoHabilidade; maxDanoHabilidade = bufferFKS; } if(minDanoMedio==32767) minDanoMedio = (minDanoHabilidade*2); if(maxDanoMedio==32767) maxDanoMedio = (maxDanoHabilidade*2); if (minDanoMedio>maxDanoMedio) { sys_err("item_addon: minDanoMedio [%d] é maior que maxDanoMedio [%d]", minDanoMedio, maxDanoMedio); int bufferDSS = minDanoMedio; minDanoMedio = maxDanoMedio; maxDanoMedio = bufferDSS; } int iSkillBonus = MINMAX(minDanoHabilidade, (int) (gauss_random(0, 5) + 0.5f), maxDanoHabilidade); int iNormalHitBonus = 0; if (abs(iSkillBonus) <= 20) iNormalHitBonus = -2 * iSkillBonus + abs(number(-8, 8) + number(-8, 8)) + number(1, 4); else iNormalHitBonus = -2 * iSkillBonus + number(1, 5); iNormalHitBonus = MINMAX(minDanoMedio, iNormalHitBonus, maxDanoMedio); pItem->RemoveAttributeType(APPLY_SKILL_DAMAGE_BONUS); pItem->RemoveAttributeType(APPLY_NORMAL_HIT_DAMAGE_BONUS); pItem->AddAttribute(APPLY_NORMAL_HIT_DAMAGE_BONUS, iNormalHitBonus); pItem->AddAttribute(APPLY_SKILL_DAMAGE_BONUS, iSkillBonus); } Adicionar o seguinte aos ficheiros CONFIG dos canais: minDanoMedio: Valor maxDanoMedio: Valor minDanoHabilidade: Valor maxDanoHabilidade: Valor Onde diz Valor poderá ser um número desde -32768 até 32767 item_addon.cpp item_addon.cpp 2 1 Link to comment Share on other sites More sharing options...
WLN Posted February 28, 2016 Share Posted February 28, 2016 simplismente fixe Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted March 15, 2016 Author Share Posted March 15, 2016 Atualizado. Faltava a parte dos tokens. Link to comment Share on other sites More sharing options...
bruno Posted May 21, 2016 Share Posted May 21, 2016 Belo topico. mais onde posso por taxa de rodar ficar facil ou dificil de cair dm e dn Link to comment Share on other sites More sharing options...
Karbust Posted May 21, 2016 Share Posted May 21, 2016 As probabilidades acho que são alteradas aqui: int iSkillBonus = MINMAX(minDanoHabilidade, (int) (gauss_random(0, 5) + 0.5f), maxDanoHabilidade); int iNormalHitBonus = 0; if (abs(iSkillBonus) <= 20) iNormalHitBonus = -2 * iSkillBonus + abs(number(-8, 8) + number(-8, 8)) + number(1, 4); else iNormalHitBonus = -2 * iSkillBonus + number(1, 5); No gauss_random e nos number... Mas não tenho a certeza... Tenta e diz o resultado sff... Link to comment Share on other sites More sharing options...
GODSPEED Posted August 19, 2017 Share Posted August 19, 2017 o texto ta deformado seria possivel corrigi-lo? Link to comment Share on other sites More sharing options...
[Admin] tierrilopes Posted August 19, 2017 Author Share Posted August 19, 2017 34 minutes ago, Elliot said: o texto ta deformado seria possivel corrigi-lo? Editado Link to comment Share on other sites More sharing options...
GODSPEED Posted August 19, 2017 Share Posted August 19, 2017 13 minutos atrás, Tierri Lopes disse: Editado podias deixar o aviso se o max dm e max dh for >32767 a colunua do dm buga pois é valor max que o mysql aguenta para os bonus Link to comment Share on other sites More sharing options...
Marco Posted December 28, 2017 Share Posted December 28, 2017 Uma curiosidade... Por exemplo, as armas têm o seu valor max e min de dm/dh. A minha curiosidade é, seria possível deixar as armas iguais e criar algo novo apenas para acessórios e que o max de dm e dh fosse numeros menores? Link to comment Share on other sites More sharing options...
Viniqe Posted August 28, 2018 Share Posted August 28, 2018 Obrigado. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now