bom, desculpa a demora estava realizando alguns testes baseado nas informações que vocês me atualizaram
e cheguei a essa conclusão
-- Código # V2.5 IF @Last_Reward IS NOT NULL AND (@HPOINT / 4000 * 4000) >= 0 AND (@HPOINT / 4000 * 4000) < 11000 AND (@HPOINT / 4000 * 4000) > @Last_Reward BEGIN BEGIN TRANSACTION; -- Adiciona o Titulo UPDATE cabal_achievement_title SET TitleData = TitleData + (dbo.Int2Bin(@Cabo) + 0x0000) WHERE CharacterIdx = @CharacterIdx -- Envia O Email SET @ItemIdx=7884 SET @ItemOption=1 SET @Duration=0 EXEC Server01.dbo.cabal_sp_mail_send_GM @characterIdx, 'Medalha de Honra [Cabo]', ' Parabéns você acaba de ser Graduado. Aproveite a recompensa da sua Graduação!', @ItemIdx, @ItemOption, @Duration, 0 -- Alz -- Atualiza o HeroRank - Para Nao Recebeber Novamente essa Recompensa UPDATE Cabal_HeroRank_Table SET Last_Reward = ((@HPOINT / 4000)) * 4000 WHERE characteridx= @CharacterIdx; COMMIT; END;
da maneira que tu tinhas me passado Junior, com o "=" ele não pegava um range numérico
desta maneira ele esta pegando números de 0 a 11.000
se o personagem tiver qualquer pontuação dentro dessa faixa ele recebe a recompensa, exemplo: 9445
ai por exemplo no próximo código eu fiz.
IF @Last_Reward IS NOT NULL AND (@HPOINT / 11000 * 11000) >= 11000 AND (@HPOINT / 11000 * 11000) < 24000 AND (@HPOINT / 11000 * 11000) > @Last_Reward
a principio resolveu todos os problemas, ele recebe cada recompensa apenas uma vez, mesmo que suba para o próximo range de recompensa.
vou continuar realizando mais testes, qualquer coisa eu posto aqui, obrigado novamente pelo tempo e ajuda de vocês
CONCLUSÃO: Bom, Acredito que agora esta finalizado, vou pedir ajuda de 1 amigo pra testar com efetividade pq ao todo são 20 recompensas, mas com alguns
testes que eu fiz até agora, parece que corrigiu os problemas que persistiam!
E mais uma vez eu agradeço! qualquer problema que houver, eu posto aqui novamente :D