Olá pessoal,estava procurando uma maneira de desabilitar o Dark Lord,so consegui encontrar em um tópico muito antigo (quase 10 anos) de um forum estrangeiro,lá vai!
OBS: ANTES DE FAZER ESSE PROCEDIMENTO FAÇA UM BACKUP DA SUA DATABASE PARA EVITAR CHORORO
Como rodar essa query?
Abra o SQL Query Analyzer,loguese com sua senha SA e selecione a database MuOnline.Copie o codigo acima (copie ele todo sem pena) e cole na janela que estara aberta em branco.Feito isso,aperte um botãozinho verde parecido com um "play".Salve,reinicie o SQL e abra seu servidor normal.
Testei em um muserver 99z e funcionol.
OBS: ANTES DE FAZER ESSE PROCEDIMENTO FAÇA UM BACKUP DA SUA DATABASE PARA EVITAR CHORORO
CREATE TRIGGER [prevent_DL] ON [dbo].[Character]
FOR INSERT
AS
--declarations of variables
DECLARE @Acc varchar(10), @Max INT, @Min INT
SET @Min = 250 --troque pelo level minimu desejado para a criação do DL
--cursor with the inserted records (can be many)
DECLARE LISTA CURSOR LOCAL FOR
SELECT AccountID FROM INSERTED
WHERE (Class=64)
OPEN LISTA
FETCH NEXT FROM LISTA INTO @Acc
WHILE @@FETCH_STATUS = 0
BEGIN
--here we get the max level reached for every character on the same account
SET @Max = (SELECT MAX(cLevel) FROM [Character] WHERE (AccountID=@Acc))
IF (@Max < @Min) --if his max level is less than our minimun requiered: KILL!!!!
BEGIN
ROLLBACK TRANSACTION
END
FETCH NEXT FROM LISTA INTO @Acc
END
--gracefully ending the procedure
CLOSE LISTA
DEALLOCATE LISTA
FOR INSERT
AS
--declarations of variables
DECLARE @Acc varchar(10), @Max INT, @Min INT
SET @Min = 250 --troque pelo level minimu desejado para a criação do DL
--cursor with the inserted records (can be many)
DECLARE LISTA CURSOR LOCAL FOR
SELECT AccountID FROM INSERTED
WHERE (Class=64)
OPEN LISTA
FETCH NEXT FROM LISTA INTO @Acc
WHILE @@FETCH_STATUS = 0
BEGIN
--here we get the max level reached for every character on the same account
SET @Max = (SELECT MAX(cLevel) FROM [Character] WHERE (AccountID=@Acc))
IF (@Max < @Min) --if his max level is less than our minimun requiered: KILL!!!!
BEGIN
ROLLBACK TRANSACTION
END
FETCH NEXT FROM LISTA INTO @Acc
END
--gracefully ending the procedure
CLOSE LISTA
DEALLOCATE LISTA
Como rodar essa query?
Abra o SQL Query Analyzer,loguese com sua senha SA e selecione a database MuOnline.Copie o codigo acima (copie ele todo sem pena) e cole na janela que estara aberta em branco.Feito isso,aperte um botãozinho verde parecido com um "play".Salve,reinicie o SQL e abra seu servidor normal.
Testei em um muserver 99z e funcionol.