Kết quả 1 đến 4 của 4
-
05-05-09, 07:18 PM #1
- Ngày tham gia
- Dec 2008
- Bài viết
- 229
- Thanks
- 0
- Thanked 103 Times in 17 Posts
Một Trigger đơn giản mà hay dành cho những Sub phân cấp độ
Ví dụ luôn nhá : Bạn đã tạo một sub giới hạn lần reset < 200 chẳng hạn, nhưng nhiều member không để ý và dẫn tới vào nhầm Sub và kết quả là bị block nhân vật. Lại phải ra web rửa tội, bắt buộc ở website bạn phải code trang giải block cho nhân vật. Nhưng theo tôi thì có một cách cực đơn giản mà ai cũng có thể làm được.
Chẳng hạn tôi có 1 sub đã add Trigger giới hạn 200 reset đổ lại :
CREATE TRIGGER RESETS ON [dbo].[MEMB_STAT]
FOR update
AS
begin
declare
@rs int,
@name varchar(10),
@acc varchar(10),
@ns varchar(15)
select @acc=memb___id FROM inserted where servername='SUB'
update [dbo].[MEMB_INFO] set vaonham='1' where memb___id=@acc
update [dbo].[character] set CtlCode='1' where accountid=@acc and Resets>'200'
end
CREATE TRIGGER giaiblock ON [dbo].[MEMB_STAT]
FOR update
AS
BEGIN
declare
@rs int,
@name varchar(10),
@acc varchar(10),
@check varchar(10),
@ns varchar(15)
select @acc=memb___id FROM inserted where servername='GS'
select @check=vaonham FROM [dbo].[MEMB_INFO] WHERE memb___id=@acc
IF (@check = '1')
BEGIN
update [dbo].[character] set CtlCode='0' where accountid=@acc
update [dbo].[MEMB_INFO] set vaonham='0' where memb___id=@acc
END
END
Vì vậy khi quay lại Server 1 ( Public ) sẽ có một đoạn check Member này có vào nhầm Sub giới hạn không, nếu vào nhầm sẽ giải block cho nhân vật này, ngược lại nhân vật này bị block do tác động của Admin thì vẫn không thể vào được. ( Chỉ giải Block cho Member vào nhầm Sub )Khách viếng thăm hãy cùng ghvn1991 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
05-05-09, 07:38 PM #2
- Ngày tham gia
- May 2006
- Đang ở
- Chuyển bị lặn
- Bài viết
- 482
- Thanks
- 13
- Thanked 357 Times in 119 Posts
Ðề: Một Trigger đơn giản mà hay dành cho những Sub phân cấp độ
CREATE TRIGGER Block_RS
ON [dbo].[MEMB_STAT]
FOR UPDATE
AS
BEGIN
DECLARE
@ACCOUNT_ID nvarchar(10),
@IP_LOG nvarchar(15),
@S_NAME nvarchar(20),
@CHECK1 nvarchar(15),
@CHECK2 nvarchar(15),
@CHECK3 nvarchar(15),
@CHECK4 nvarchar(15)
SET @CHECK1='1'
SET @CHECK2='1'
SELECT @ACCOUNT_ID=memb___id,@S_NAME=ServerName FROM inserted
SELECT @CHECK1=Reset FROM [dbo].[character] WHERE Reset > '200' AND memb___id=@ACCOUNT_ID
IF (@CHECK1 = '1')
BEGIN
SET @CHECK3='1'
END
ELSE
BEGIN
SET @CHECK3='0'
END
IF (@CHECK2 = '1')
BEGIN
SET @CHECK4='1'
END
ELSE
BEGIN
SET @CHECK4='0'
END
IF (@S_NAME='Ten_Server_chung')
BEGIN
UPDATE [dbo].[character] SET lock_info='0',CtlCode='0' WHERE AccountID=@ACCOUNT_ID and lock_info='1' and CtlCode<>'32'
END
IF ((@CHECK3 = '1') AND (@CHECK4 = '1')) AND (@S_NAME='Ten_Server_GioiHan')
BEGIN
UPDATE [dbo].[character] SET lock_info='1',CtlCode='1' WHERE AccountID=@ACCOUNT_ID and CtlCode<>'32'
END
END
mà đoạn trên nếu là Admin ko đáp ứng yêu cầu nó block còn của tớ nếu kiểm tra là admin thì ko block đâu ah nha
chạy thêm đoạn này chọn MuOnlien nhé ( chắc ai cũng biết rồi)
alter table dbo.Character add lock_info int not null default 0Các PRO Tha Em
-
05-05-09, 10:55 PM #3
- Ngày tham gia
- Aug 2008
- Đang ở
- Love Info Heart
- Bài viết
- 631
- Thanks
- 16
- Thanked 111 Times in 52 Posts
Ðề: Một Trigger đơn giản mà hay dành cho những Sub phân cấp độ
Cái này dh_notable có hướng dẫn rùi mà.Vào server ko giới hạn nó sẽ tự giải block.Thế là hay nhất.
CREATE TRIGGER test ON [dbo].[MEMB_STAT]
FOR update
AS
begin
declare
@rs int,
@name varchar(10),
@acc varchar(10),
@acc1 varchar(10),
@ns varchar(15)
select @acc=memb___id FROM inserted where servername='ten_server_gioi_han_reset_<10'
select @acc1=memb___id FROM inserted where servername='sv_thuong'
select @ns=servername FROM inserted
if(@ns='ten_server_gioi_han_reset_<10')
begin
update [dbo].[character] set CtlCode='1' where accountid=@acc and reset>'10'
end
if(@ns='sv_thuong')
begin
update [dbo].[character] set CtlCode='0' where accountid=@acc1
end
end
-
15-08-12, 05:25 PM #4
- Ngày tham gia
- May 2012
- Bài viết
- 174
- Thanks
- 47
- Thanked 40 Times in 30 Posts
Ðề: Một Trigger đơn giản mà hay dành cho những Sub phân cấp độ
Cho xin cái hướng dẫn cụ thể đi ạ
Khách viếng thăm hãy cùng sunnight xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!