PDA

View Full Version : Một Trigger đơn giản mà hay dành cho những Sub phân cấp độ



ghvn1991
05-05-09, 07:18 PM
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)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
end



Làm thế nào để giải block?



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)
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END
END


Giải thích : Tôi sẽ tạo một colume "vaonham" ở Memb_info cho nó là tinyint và đặt giá trị ngầm định là "0". Nếu một Member nào đó vào nhầm sub giới hạn Reset sẽ có một đoạn Query Update "vaonham"=1.
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 )

YeuVo_ThuongCon
05-05-09, 07:38 PM
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)

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>


<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END
ELSE
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END
ELSE
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END


<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
BEGIN
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
END

END



Ko cần chạy 2 đoạn Trigger cho SQl thêm nặng sao k chạy một như trên có phải là đơn giản như đang giỡn ko nhỉ
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 0

Mr.Noob
05-05-09, 10:55 PM
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
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>

<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
begin
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
end


<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
begin
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
end
end

sunnight
15-08-12, 05:25 PM
Cho xin cái hướng dẫn cụ thể đi ạ