Jump to content

[Config] Minimo E Maximo Dm E Dh


tierrilopes
 Share

Recommended Posts

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

  • Like 3
  • Haha 1
Link to comment
Share on other sites

  • 3 weeks later...
  • 2 months later...

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

  • 1 year later...
  • 4 months later...
  • 7 months later...
  • 4 years later...
  • 1 year later...
  • 2 months later...
On 2/28/2016 at 3:42 PM, tierrilopes said:

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:

  Reveal hidden contents
#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

Boa tarde @tierrilopes, estou com uma dúvida...

Nessa parte do Tutorial pedeo seguinte:

 

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;

A minha dúvida é a seguinte, se está configurando todos os dn e ds igaul a 30, sendo essa parte da source, como podemos colocar nos configs, por exemplo 50 para dn e ds, sendo que pelo que eu entendi, está configurado os valorres mínimo para - 32767 e máximo para + 32767, minha pergunta seria a seguinte, aonde está - 30 e + 30 na source não deveria ser os valores que citei de - 32767 e + 32767, e aí sim nos configs colocarmos como desejarmos, respeitando esses valores?
 

Peço desculpas se estiver falando bobagem, mais dúvida existem para serem tiradas né, rsrsrrsrs

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...