Chat global
[Resolvido] Trigger na tabela CheatLog
Faaala devs, blz? 🍵
Recentemente um colega ADM de servidor pediu para eu criar uma forma automática de banimento por MACID e block da conta toda vez que um ID for inserido na tabela CheatLog. Vou compartilhar com vocês aqui pois pode ser útil para alguém de alguma forma. O melhor jeito que pensei para resolver isso, era meter uma trigger na tabela cheatlog, assim fica easy peasy para resolver o problema.
No caso dele resolveu, porém essa trigger pode precisar de algumas melhorias, de acordo com a necessidade... Anyway, vou deixar ela aqui para vocês 😘
USE [LogDB]
GO
CREATE TRIGGER trg_AfterInsert_CheatLog
ON [dbo].[CheatLog]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
-- Inserindo os dados na tabela BannedMac
INSERT INTO [UserDB].[dbo].[BannedMac] (Name, MacAddress, szHDUUID, Banned)
SELECT
AL.szID AS Name,
AL.szMac AS MacAddress,
AL.szHDUUID AS szHDUUID,
1 AS Banned
FROM inserted I
INNER JOIN [LogDB].[dbo].[AccountLogin] AL ON I.ID = AL.szID
WHERE AL.szMac IS NOT NULL;
-- Atualizando a tabela Users para bloquear o usuário
UPDATE U
SET U.Blocked = 1
FROM [UserDB].[dbo].[Users] U
INNER JOIN inserted I ON U.Username = I.ID;
END
GO
Como vocês podem ver, ela pega as info que inseriu na CheatLog, e usa elas para fazer o banimento do MAC e da conta também.
Espero que possa ser útil para alguém aí 😘
William Varvenczak
Obrigado por contribuir com a comunidade 🍾
Apenas criando um legado 😊
Top demais Will! valeu muito por compartilhar!
- 20 Fóruns
- 253 Tópicos
- 1,448 Posts
- 3 Online
- 267 Membros

