
mcjc
-
Content Count
60 -
Joined
-
Last visited
-
Days Won
1
-
Dan
pode me ajudar com uma questão que estou quebrando a cabeça ?
bom estou aprendendo sobre adidicionar icones ao nome do usuarios tipo o do helm nightmare, e consegui fazer um codigo de leitura para eles para o character.cpp porem ao adicionar o parametro i=1 ele fica fixado ao icone evil_lvl 1 e não atualiza quando o equipamento atualiza, o que estou fazendo de errado ?
estou editando em UIHeadSay.ccp
character.cpp
if (_pHeadSay) {
// Verifica se o ID do equipamento é 9160
if (stPart.SLink[enumEQUIP_HEAD].sID == 9160) {
_pHeadSay->SetIsShowEvil(1); // Ativa a exibição do "Evil"
// Obtém o valor da energia
int energyValue = stPart.SLink[enumEQUIP_HEAD].sEnergy[1];
// Verifica se o valor da energia é negativo, se for, define como 0
if (energyValue < 0) energyValue = 0;
// Define o nível de "Evil" com base no valor de energia progressivamente de 2 a 5
int evilLevel = 0;
if (energyValue >= 1 && energyValue < 2) {
evilLevel = 2;
stPart.SLink[enumEQUIP_HEAD].sEnergy[2] = 2; // Ajusta a energia para 2
} else if (energyValue >= 2 && energyValue < 3) {
evilLevel = 3;
stPart.SLink[enumEQUIP_HEAD].sEnergy[3] = 3; // Ajusta a energia para 3
} else if (energyValue >= 3 && energyValue < 4) {
evilLevel = 4;
stPart.SLink[enumEQUIP_HEAD].sEnergy[4] = 4; // Ajusta a energia para 4
} else if (energyValue >= 4) {
evilLevel = 5;
stPart.SLink[enumEQUIP_HEAD].sEnergy[5] = 5; // Ajusta a energia para 5
}
// Define o nível de Evil
_pHeadSay->SetEvilLevel(evilLevel);
} else {
_pHeadSay->SetIsShowEvil(0);
}
}
RefreshItem( true );
}
UIHeadSay.ccp
for (int i = 0; i < EVIL_MAX; i++) {
char buffer[64] = {0};// Dependendo do índice (i), definimos o nível de 'evil' e a imagem
if (i == 0) {
sprintf(buffer, "texture/icon/evil_lv%d.tga", 1); // Nível 1
} else if (i == 1) {
sprintf(buffer, "texture/icon/evil_lv%d.tga", 2); // Nível 2
} else if (i == 2) {
sprintf(buffer, "texture/icon/evil_lv%d.tga", 3); // Nível 3
} else if (i == 3) {
sprintf(buffer, "texture/icon/evil_lv%d.tga", 4); // Nível 4
} else if (i == 4) {
sprintf(buffer, "texture/icon/evil_lv%d.tga", 5); // Nível 5
}
if (!_pImgEvil)
break;_pImgEvil.LoadImage(buffer, 16, 16, 0, 0, 0, 0.0, 0.0);
}
return true;
}