Quantcast
Channel: Update + Exec Procedure
Viewing all articles
Browse latest Browse all 39

Update + Exec Procedure

$
0
0


O que eu propus no código #2 foi o esquema de memorizar as pontuações já recompensadas. Você pode informar como é o esquema de recompensa?




acho que com o código todo que eu formulei fica mais fácil para você tentar me ajudar '-' mas basicamente quero que o personagem ganhe uma recompensa acada X quantidade de pontos que ele acumula
1000, 2000, 3000, 4000

acontece que o seguinte, digamos acumulei 4000 mil pontos, ganhei a recompensa, até eu acumular 8mil eu nao ganho mais, porem quando eu acumulo 8mil pontos eu recebo a recompensa dos 4 mil com a dos 8 mil junto

USE [Server01] GO /****** Object: StoredProcedure [dbo].[SP_Cabal_WarHero_Table] Script Date: 14/12/2019 16:14:31 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[SP_Cabal_WarHero_Table] ( @CharacterIdx INT ) AS BEGIN /****** Declaraçoes Do Character_Table******/ DECLARE @CH_EPOINT INT, @CH_NAME varchar(16) SELECT @CH_EPOINT = Epoint, @CH_NAME = Name FROM cabal_character_table WHERE CharacterIdx = @CharacterIdx IF @@ROWCOUNT = 0 BEGIN SELECT -1 COMMIT TRAN RETURN END /****** Declaraçoes Do Cabal_HeroRank_table******/ DECLARE @HPOINT INT, @Last_Reward INT SELECT @HPOINT = HPoint, @Last_Reward = Last_Reward FROM Cabal_HeroRank_Table WHERE CharacterIdx = @CharacterIdx IF @@ROWCOUNT = 0 BEGIN SELECT -1 COMMIT TRAN RETURN END /****** Declaração Para Puxar as infos(IDS) Dos Titulos ******/ DECLARE @Cabo INT = 11034 DECLARE @TerceiroSargento INT = 11035 /****** Declaração Para Enviar Email ******/ DECLARE @ItemIdx INT DECLARE @ItemOption INT DECLARE @Duration INT

/****** Inicio da adição dos Titulos ******/
IF @last_reward is not null
   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;

----------------------------------------------RECOMPENSA--------------------------------------------------------------
IF @last_reward is not null
   and (@HPOINT / 8000 * 8000) > @last_reward
BEGIN
BEGIN TRANSACTION;

 -- Adiciona o Titulo
UPDATE cabal_achievement_title SET TitleData = TitleData + (dbo.Int2Bin(@TerceiroSargento) + 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 [Terceiro-Sargento]', 
'                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 / 8000 * 8000)
WHERE characteridx= @CharacterIdx;
COMMIT;
END;
END





Viewing all articles
Browse latest Browse all 39

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>