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

Update + Exec Procedure

$
0
0

Kary,

Minha sugestão, acrescente o comando Print ou Select em partes do seu código, para identificar como se fosse um debug o local ou trecho que esta acontecendo este comportamento que você destacou.

Se possível dentro fazer a execução de procedure inicialmente no SQL Server Management Studio para conseguir identificar o retorno e o momento em que o Print ou Select é apresentado.

Veja um exemplo:

	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;

Select 'Passou por aqui, recompensa de 4.000 pontos'

 -- 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;


Suspeito que este comportamento destacado anteriormente por você, esteja acontecendo, neste trecho:

	IF @Last_Reward IS NOT NULL
	AND (@HPOINT / 4000 * 4000) >= 0
	AND (@HPOINT / 4000 * 4000) < 11000
	AND (@HPOINT / 4000 * 4000) > @Last_Reward
		BEGIN

Eu reforço o que comentei anteriormente, você vai ter que estabelecer uma tabela com as faixas de valores, níveis e formas de recompensar os jogadores, desta forma vai ficar mais fácil e lógico de se controlar.

Com base nesta tabela, você vai poder ir gerenciando mais fácilmente o crescimento do jogador durante a evolução dele dentro do jogo, deixar isso em uma Stored Procedure, vai exigir muitas condições e ajustes constantes.



Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]


Viewing all articles
Browse latest Browse all 39

Trending Articles



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