Ir para conteúdo
  • Cadastre-se

Botar EXP no codigo da source antes do numeros


Posts Recomendados

Alguem sabe em qual linha eu posso esta modificando para que antes ou depois da exp (numeros de exp) subirem aparecer o EXP

Exemplo: matou um rot ai ganhou a exp 5563, nesse caso so mostra os numeros, queria q identificasse ao mostrar na tela do player assim.... EXP: 5563

Como esta na foto.

Ja vi em alguns ots.

 

exp.png

Se pá, possa ser por aqui, na linha ''grifada''. So n sei como faz. Alguem pra ajudar ? xD

 

Citar

void Creature::onGainSharedExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainSharedExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << (uint64_t)gainExp;
    g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());
}

 

Link para o post
Compartilhar em outros sites
void Creature::onGainSharedExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainSharedExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << "EXP: " << (uint64_t)gainExp;
    g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());
}

 

Link para o post
Compartilhar em outros sites
1 hora atrás, GM Vortex disse:

void Creature::onGainSharedExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainSharedExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << "EXP: " << (uint64_t)gainExp;
    g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());
}

 

Funcionou nao, continua só saindo a numeraçao =[

Link para o post
Compartilhar em outros sites

Já leu o nome do método? onGainSharedExperience;

Tente fazer modificações também em onGainExperience;

 

void Creature::onGainExperience(double& gainExp, bool fromMonster, bool multiplied)
{
	if(gainExp <= 0)
		return;

	if(master)
	{
		gainExp = gainExp / 2;
		master->onGainExperience(gainExp, fromMonster, multiplied);
	}
	else if(!multiplied)
		gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

	int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
	if(color < 0)
		color = random_range(0, 255);

	std::stringstream ss;
	ss << "Exp: " << (uint64_t)gainExp;
	g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());

}

 

Link para o post
Compartilhar em outros sites
36 minutos atrás, Anderson Sacani disse:

Já leu o nome do método? onGainSharedExperience;

Tente fazer modificações também em onGainExperience;

 




void Creature::onGainExperience(double& gainExp, bool fromMonster, bool multiplied)
{
	if(gainExp <= 0)
		return;

	if(master)
	{
		gainExp = gainExp / 2;
		master->onGainExperience(gainExp, fromMonster, multiplied);
	}
	else if(!multiplied)
		gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

	int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
	if(color < 0)
		color = random_range(0, 255);

	std::stringstream ss;
	ss << "Exp: " << (uint64_t)gainExp;
	g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());

}

 

Obrigado em.
Botei onde voce falou, o problema e q com esse adicional de letras, ele come os numeros q mostra quanto ganhou de exp (exemplo, antes motravava 600000, agora so mostra 600)

Tem alguma forma NAO q altere o quanto relmante ganha de exp ?

Editado por Doidodepeda (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
void Creature::onGainSharedExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainSharedExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << (uint64_t)gainExp;

    TextMessage msg;
    msg.addString("EXP: ");
    msg.addNumber((uint64_t)gainExp);
    msg.setColor(static_cast<uint8_t>(color));

    g_game.addTextMessage(getPosition(), msg);
}

 

Link para o post
Compartilhar em outros sites
6 minutos atrás, GM Vortex disse:

void Creature::onGainSharedExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainSharedExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << (uint64_t)gainExp;

    TextMessage msg;
    msg.addString("EXP: ");
    msg.addNumber((uint64_t)gainExp);
    msg.setColor(static_cast<uint8_t>(color));

    g_game.addTextMessage(getPosition(), msg);
}

 



Deu seguinte error

uuuuuuuuuuuuuuuu.png

Link para o post
Compartilhar em outros sites
void Creature::onGainExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << "EXP: " << (uint64_t)gainExp;

    g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());
}

tentar ai.

Link para o post
Compartilhar em outros sites
13 minutos atrás, Anderson Sacani disse:

std::stringstream ss;
    ss << (uint64_t)gainExp;

    std::string expText = "EXP: " + ss.str();
    
    g_game.addAnimatedText(getPosition(), (uint8_t)color, expText);
}

 

Mesma coisa, continua comendo os numeros !
Mas fico muito grato por tentar ajudar !
Caso consiga ''resolver'' n esqueça desse post nao em xD

Deus te abençoes e obrigado !

30 minutos atrás, GM Vortex disse:

void Creature::onGainExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << "EXP: " << (uint64_t)gainExp;

    g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());
}

tentar ai.

Mesma coisa man, continua comendo os numero, mas fico muito grato por tentar ajudar, caso ache a soluçao, o post ta aq em ashuauhs. Muito obrigado mesmo !

Acho q pra resolver isso so com o cidigo daqueles ots EXP 9999999x q tem dano, healing e a propria exp ganha em ''K'' ''KK'' ou ''KKK''
Mas vai ser dificil esses caras liberarem o codigo yhashahus =[

Link para o post
Compartilhar em outros sites
38 minutos atrás, Doidodepeda disse:

tem dano, healing e a propria exp ganha em ''K'' ''KK'' ou ''KKK''

Já existe o código aberto para a comunidade, sim. Basta procurar lá na OTLand, tem sim.

void Creature::onGainExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if (gainExp <= 0)
        return;

    if (master)
    {
        gainExp /= 2;
        master->onGainExperience(gainExp, fromMonster, multiplied);
    }
    else if (!multiplied)
    {
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);
    }

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if (color < 0)
    {
        color = random_range(0, 255);
    }

    std::stringstream ss;

    if (gainExp >= 1e9) // Bilhões
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp / 1e6) << "KKK";
    }
    else if (gainExp >= 1e6) // Milhões
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp / 1e3) << "KK";
    }
    else if (gainExp >= 1e3) // Milhares
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp);
    }
    else
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp);
    }

    g_game.addAnimatedText(getPosition(), static_cast<uint8_t>(color), ss.str());
}
38 minutos atrás, Doidodepeda disse:

tem dano, healing e a propria exp ganha em ''K'' ''KK'' ou ''KKK''

Já existe o código aberto para a comunidade, sim. Basta procurar lá na OTLand, tem sim.

Editado por GM Vortex (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
34 minutos atrás, GM Vortex disse:

Já existe o código aberto para a comunidade, sim. Basta procurar lá na OTLand, tem sim.


void Creature::onGainExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if (gainExp <= 0)
        return;

    if (master)
    {
        gainExp /= 2;
        master->onGainExperience(gainExp, fromMonster, multiplied);
    }
    else if (!multiplied)
    {
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);
    }

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if (color < 0)
    {
        color = random_range(0, 255);
    }

    std::stringstream ss;

    if (gainExp >= 1e9) // Bilhões
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp / 1e6) << "KKK";
    }
    else if (gainExp >= 1e6) // Milhões
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp / 1e3) << "KK";
    }
    else if (gainExp >= 1e3) // Milhares
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp);
    }
    else
    {
        ss << "EXP: " << static_cast<uint64_t>(gainExp);
    }

    g_game.addAnimatedText(getPosition(), static_cast<uint8_t>(color), ss.str());
}

Já existe o código aberto para a comunidade, sim. Basta procurar lá na OTLand, tem sim.

Nossa man, nem sabia !
Mas obrigado por informar !

deixa eu te falar, pra poder funcionar tem q alterar o onGainSharedExperience tbm, teria como vc alterar ele tbm pf ?

 

Citar

void Creature::onGainSharedExperience(double& gainExp, bool fromMonster, bool multiplied)
{
    if(gainExp <= 0)
        return;

    if(master)
    {
        gainExp = gainExp / 2;
        master->onGainSharedExperience(gainExp, fromMonster, multiplied);
    }
    else if(!multiplied)
        gainExp *= g_config.getDouble(ConfigManager::RATE_EXPERIENCE);

    int16_t color = g_config.getNumber(ConfigManager::EXPERIENCE_COLOR);
    if(color < 0)
        color = random_range(0, 255);

    std::stringstream ss;
    ss << (uint64_t)gainExp;
    g_game.addAnimatedText(getPosition(), (uint8_t)color, ss.str());
}

 

1 hora atrás, Doidodepeda disse:

Nossa man, nem sabia !
Mas obrigado por informar !

deixa eu te falar, pra poder funcionar tem q alterar o onGainSharedExperience tbm, teria como vc alterar ele tbm pf ?

 

 

Conseguir adapitar, funcionou em ''KK'' porem nao sai todos pq o nome EXP: conta como caracteres, ai fica comendo os ''KKS''. Mas obrigado por ajudar man!
Mais uma coisa, teria o link do codigo da source q vc comentou ali emcima, teria como passar pf ?

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo