Trigger tạo Server cho nhân vật reset thấp

viper9x

New member
Đây là Trigger tạo Server cho nhân vật reset thấp với các đặc điểm:

- Không mất quyền GM khi nhân vật GM đăng nhập vào Server.
- Chỉ block nhân vật reset cao, những nhân vật reset thấp trong cùng account vẫn vào bình thường.
- Tự giải block khi đăng nhập Server thường.

TRIGGER
CREATE TRIGGER HieuChieftain ON [dbo].[MEMB_STAT]
FOR update
AS
BEGIN

declare
@acc varchar(10),
@checkblock tinyint,
@checkreset int,
@checksv varchar(50)

select @acc=memb___id FROM inserted
select @checksv=ServerName FROM inserted WHERE memb___id=@acc
select @checkreset=Resets FROM [dbo].[Character] WHERE Name=@acc
select @checkblock=CtlCode FROM [dbo].[Character] WHERE Name=@acc

if ((@checksv = 'TênServerResetThấp') and (@checkblock = '0') and (@checkreset > '100'))
Begin
update [dbo].[character] set CtlCode='1' where Name=@acc
End

if ((@checksv = 'TênServerThường') and (@checkblock='1'))
Begin
update [dbo].[character] set CtlCode='0' where Name=@acc
End

END

Hướng dẫn:
Enterprise Manager >> ... >> MuOnline >> Tables >> MEMB_STAT (Chuột phải >> All Tasks >> Manage Triggers)

Xóa tất cả và copy Trigger trên vào. OK

Chú ý: Có thể Data của bạn không phải Resets mà lại là Reset thì sửa lại ở chữ Resets màu đỏ trên kia nhé!

Nguồn: clbgamesvn
 
mình kiểm tra database và xem từng colum lẫn kiểu dữ liệu thấy triger rất chính xác nhưng mình ko hiểu sao khi làm việc không hiệu quả

mình đã dùng triger trên và test thử thì khi tự cày RESET thì vượt quá vào phòng là bị cấm
nhưng mình tự set cho RESET để test thì khi vào lại không bị cấm.

hồi đầu băn khoan nghĩ hay do phân biệt hoa thường thì xem kiểu dữ kiệu là varchar thì chẳng phân biệt gì cả mà không hiểu nguyên nhân do đâu mà làm việc không tối ưu
 
hiểu ra vấn đề :| không hoạt động là do thuật toán sai :|

select được mu__id là select cái tài khoản đưa vào biến @acc nhưng khi check reset lại where Name=@acc mà trong khi đó Name là char nếu như thế thì chỉ dùng triger trên cho những nhân vật trùng tên với tài khoản thôi.

tôi ko hiểu rõ về triger cho lắm ko hiểu triger có thể dùng while để select dc tất cả tên nhân vật trong 1 acc khi nó đăng nhập vào server đó không, nếu có thể thì sẽ có cách tối ưu hơn.
 
Back
Top