• Bem vindo à nossa comunidade - Quer se juntar ao resto dos nossos membros? Registre-se*Registros aprovados pela adminitração

[Tutorial][SQL] - Bonus ao Criar Conta

Status
Não esta aberto para novas mensagens.

fluira0

Honrado XPZ
[Tutorial não criado por mim]

Antes de tudo: REALIZE UM BACKUP DE SEU BANCO DE DADOS. Independente da ação simples desta trigger, não custa nada realizar um backup do banco de dados, antes de testar qualquer coisa.

Qual a função desta trigger:

Ao se criar novos personagens em jogo, oferecer-lhes algum tipo de bonus. Neste script atual, estão disponiveis quantidade de resets, pontos iniciais, e zen.

Requisito Básico:

Coluna "Resets" criada na tabela "Character" do banco de dados, o que normalmente já é um padrão utilizado pelo pessoal, para armazenar os resets de um personagem.

Como pré-configurar:

Você pode definir os resets iniciais, pontos de distribuição iniciais e dinheiro inicial no local em destaque do script. NÃO INSIRA valores negativos, e para não utilizar um dos atributos, basta manter o valor "0". E NÃO INSIRA mais de 2kkk em Dinheiro, para não bugar o personagem.

Como instalar o trigger:

Basta rodar o script abaixo uma única vez no query analyzer e pronto.

USE MuOnline

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'MUC_BONUS' AND type = 'TR')

DROP TRIGGER MUC_BONUS

GO

CREATE TRIGGER MUC_BONUS ON Dbo.Character FOR INSERT

AS

BEGIN

-- Bonus para Novos Chars -- Por Alex do Muciados

DECLARE

@Resets INT,

@Pontos INT,

@Dinheiro INT,

@Char varchar(10)

SELECT @Char = Name FROM INSERTED

SET @Resets = 10 -- INSERIR QUANTIDADE DE RESETS

SET @Pontos = 3500 -- INSERIR QUANTIDADE DE PONTOS INICIAIS

SET @Dinheiro = 1000000 -- INSERIR QUANTIDADE DE DINHEIRO

UPDATE Dbo.Character

SET Resets = @Resets, LevelUpPoint = @Pontos, Money = @Dinheiro

WHERE Name = @Char

END

Como remover o trigger:

Basta rodar o script abaixo uma única vez no query analyzer e estará removida.

USE MuOnline

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'MUC_BONUS' AND type = 'TR')

DROP TRIGGER MUC_BONUS

GO
 

PsikO

Usuário XPZ
Instalar do mesmo do outro so que aquele codigo era 10 Resets e 3500 pontos

esse eu puis 1 reset e 1000 pontos pra um mu mais difisel !

USE MuOnline

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'MUC_BONUS' AND type = 'TR')

DROP TRIGGER MUC_BONUS

GO

CREATE TRIGGER MUC_BONUS ON Dbo.Character FOR INSERT

AS

BEGIN

-- Bonus para Novos Chars -- Por Alex do Muciados

DECLARE

@Resets INT,

@Pontos INT,

@Dinheiro INT,

@Char varchar(10)

SELECT @Char = Name FROM INSERTED

SET @Resets = 1 -- INSERIR QUANTIDADE DE RESETS

SET @Pontos = 1000 -- INSERIR QUANTIDADE DE PONTOS INICIAIS

SET @Dinheiro = 1000000 -- INSERIR QUANTIDADE DE DINHEIRO

UPDATE Dbo.Character

SET Resets = @Resets, LevelUpPoint = @Pontos, Money = @Dinheiro

WHERE Name = @Char

END

Como remover o trigger:

Basta rodar o script abaixo uma única vez no query analyzer e estará removida.

USE MuOnline

IF EXISTS (SELECT name FROM sysobjects

WHERE name = 'MUC_BONUS' AND type = 'TR')

DROP TRIGGER MUC_BONUS

GO
 

XPZIN

Usuário XPZ
DECLARE

@Resets INT,

@Pontos INT,

@Dinheiro INT,

@Char varchar(10)

SELECT @Char = Name FROM INSERTED

SET @Resets = 10 -- INSERIR QUANTIDADE DE RESETS

SET @Pontos = 3500 -- INSERIR QUANTIDADE DE PONTOS INICIAIS

SET @Dinheiro = 1000000 -- INSERIR QUANTIDADE DE DINHEIRO

UPDATE Dbo.Character

SET Resets = @Resets, LevelUpPoint = @Pontos, Money = @Dinheiro

WHERE Name = @Char

END

AI NO CASO TERIA QUE BOTAR ASSIM?:

DECLARE

@Resets INT,

@VIP INT

@Pontos INT,

@Dinheiro INT,

@Char varchar(10)

SELECT @Char = Name FROM INSERTED

SET @VIP = 7 ---------VIP

SET @Resets = 10 -- INSERIR QUANTIDADE DE RESETS

SET @Pontos = 3500 -- INSERIR QUANTIDADE DE PONTOS INICIAIS

SET @Dinheiro = 1000000 -- INSERIR QUANTIDADE DE DINHEIRO

UPDATE Dbo.Character

SET Resets = @VIP, @Resets, LevelUpPoint = @Pontos, Money = @Dinheiro

WHERE Name = @Char

END

OBRIGADO
 

Christian Lima

Novato XPZ
Olá pessoal

Me desculpe por estar ressuscitando esse tópico, mas é que ja virei a internet no avesso procurando por esse bonus ao cria conta no mu.

Server aqui é acumulativo com reset automati

(graças aos que colaboram aqui no xpzone, consegui fazer algumas coisa
default_biggrin.png
)

Queria por:

- 4 resets

- 2000 pontos

- 3 dias de vip

Li esse ultimo post mas nao entendi bem ate pq, como eu disse o meu serfver é acumulativo e esse código parece que é para "resets + pontos".

Grato.
 

_UzUmAkI_x

Novato XPZ
AI NO CASO TERIA QUE BOTAR ASSIM?:

DECLARE

@Resets INT,

@VIP INT

@Pontos INT,

@Dinheiro INT,

@Char varchar(10)

SELECT @Char = Name FROM INSERTED

SET @VIP = 3 ---------VIP

SET @Resets = 4 -- INSERIR QUANTIDADE DE RESETS

SET @Pontos = 2000 -- INSERIR QUANTIDADE DE PONTOS INICIAIS

SET @Dinheiro = 1000000 -- INSERIR QUANTIDADE DE DINHEIRO

UPDATE Dbo.Character

SET Resets = @VIP, @Resets, LevelUpPoint = @Pontos, Money = @Dinheiro

WHERE Name = @Char

END

espero ter ajudado

e so vc modificar a parte vermelha de acordo com  o bonus.
 

Christian Lima

Novato XPZ
Opa

ajuda sim man, já vou testar aqui.

Vlw

Edit

Oi, testei mas infelizmente não funcionou, dá um erro ao executar o código no Query Analyzer, daí crio uma acc pra ver se tá com o VIP e nada.
 
Editado por um moderador:

Christian Lima

Novato XPZ
Por favor, Entrar ou Registrar para ver o conteúdo das citações!
Mas essa palavra errada não faz parte de código jovem, logo ela não tem efeito algum.

PS: Ainda estou na mesma. Se alguém souber como posso add esse bonus ao cria acc:

- Vip de 3 dias

- 4 resets

- 2000 pontos

- Dinheiro (zen)

Obs.: Está funcionando 3 desses, so falta o VIP de 3 dias

Tente o código citado no post "#5" mas não deu certo, dá um erro no Query Analyzer.

Quem poder ajudar, grato!
 
Status
Não esta aberto para novas mensagens.
Topo Bottom