bác cho e hỏi cáiCông dụng của Trigger này là giới hạng server đó nhân vật có số lần reset thấp hơn X lần mới vào đc còn không thì bị khóa nhân vật đó.
Bước 1 : Vào mssql chọn database Muonline -> Table MEMB_STAT
Kết tiếp click chuột phải chọn All Tasks => Manager Triggers
Hiện lên cái bảng : xóa hết trong đó copy đoạn dưới đây vào.
CREATE TRIGGER Sub_TienNu 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='TienNu'
select @ns=servername FROM inserted
if(@ns='TienNu')
begin
update [dbo].[character] set CtlCode='1' where accountid=@acc and resets>'100'
end
if(@ns='TienNu')
begin
update [dbo].[character] set CtlCode='1' where accountid=@acc and Relifes>'0'
end
end
Các bạn lưu ý vài chổ sau đây :
TienNu : Tên Server Bạn muốn đặt giới hạng. muốn biết thì vào GameServer\Data\ServerInfo.dat thấy dòng ServerName là biết, nhớ đánh chính xác nha.
resets>'100' : đây là giới hạng nhân vật có số lần resets lớn hơn 100 vào server sẽ bị khóa. lưu ý có 1 số server thì không phải chử resets mà là reset các bạn tự xem sửa lại.
Relifes>'0' : nhân vật có số lần relifes lớn hơn 0 cũng bị khóa.
Vậy là xong phần server giới hạng resets giờ làm server mở khóa nhân vật.
Làm giống bước 1 nhưng thay bằng đoạn code này :
CREATE TRIGGER PhuThuy 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='PhuThuy'
select @ns=servername FROM inserted
if(@ns='PhuThuy')
begin
update [dbo].[character] set CtlCode='0' where accountid=@acc and resets>'0'
end
end
Vài chổ lưu ý :
PhuThuy : Tên Server
resets>'0' : Tất cả nhân vật có số lần Resets lớn hơn 0 khi vào sẽ được mở khóa.
Ví dụ : nếu bạn có 2 server. Server 1 sẽ là PhuThuy. Còn server 2 giới hạng Resets là TienNu.
Khi những gamer có trên 100 lần resets cố tình vào server TienNu thì sẽ bị khóa. họ chỉ cần đăng nhập lại server PhuThuy là tự động được mở khóa.
Lưu ý : còn 1 vấn đề nếu nhân vật là Admin muốn vào server TienNu thì bạn tốt nhất cho nhân vật Admin đó resets dưới mức quy định nha.
Link gốc:You must be registered for see links
Nguồn: Lập Trình Game | Phát Triển Game | MMORPG Server Development Forums
Mình chỉ biết hỗ trợ cho SV của mình là Server IA Julia 2.0 mong bạn thông cảm nhébác cho e hỏi cái
vd : e có 1 sub mang tên : Mu online >trong sub đó có 3 sub nhỏ khác - SV1 - SV2 - SV3
e muốn cho Sub con
phải làm thế nào hả bác?
- SV1 : Trade + Train + Non PK ( sub này ai cũng vô dc)
- SV2 : e muốn cho các nhân vật có số lần RS cao hơn 100 + Train + PK
- SV3 : e muốn cho các nhân vật có số lần RS nhỏ hơn 100 + Train + PK
[Customs]
EnableResetSystem = 1
MaximumResets = 100 // SV chỉ dành cho nhân vật nhỏ hơn 100 lần
NumStates = 1 // [1-100]
ResetColumn = Resets
[State1]
MaxResets = 100 // SV chỉ dành cho nhân vật nhỏ hơn 100 lần
Need.Zen = 100000000 // [0-2000000000] Needed zen for reset; 0 - noneed
Need.PcPoint = 0 // Needed PcPoint for reset
Need.WCoin = 0 // Needed WCoin for reset
Need.LvlDK = 400 // [0-400] Needed lvl for DK to reset
Need.LvlDW = 400 // [0-400] Needed lvl for DW to reset
Need.LvlDL = 400 // [0-400] Needed lvl for DL to reset
Need.LvlSUM = 400 // [0-400] Needed lvl for SUM to reset
Need.LvlELF = 400 // [0-400] Needed lvl for ELF to reset
Need.LvlMG = 400 // [0-400] Needed lvl for MG to reset
Need.NumItems = 0 // [0-20] NumItems needed for Reset; 0 - noneed items
Clear.Inventire = 0 // [1/0] Clear Inventire
Clear.Quests = 0 // [1/0] Clear Quests
Clear.Skills = 1 // [1/0] Clear Skills
Clear.Points = 1 // [1/0] Clear Stats
Clear.Command = 1 // [1/0] Clear Command for DL
Clear.PcPoint = 0 // [1/0] Clear PcPoints
Clear.WCoin = 0 // [1/0] Clear WCoins
Clear.Zen = 0 // [1/0] Clear Zen
Add.Formula = 0 // [0-2]
Add.PointsDK = 1000 // [0-32000] Points added to DK for reset
Add.PointsDW = 1000 // [0-32000] Points added to DW for reset
Add.PointsDL = 1300 // [0-32000] Points added to DL for reset
Add.PointsSUM = 1000 // [0-32000] Points added to SUM for reset
Add.PointsELF = 1000 // [0-32000] Points added to ELF for reset
Add.PointsMG = 1300 // [0-32000] Points added to MG for reset
Add.PcPoint = 200 // Added PcPoint for reset
Add.WCoin = 20 // Added WCoin for reset
//Need.Item[1] - example with Jewel Of Chao
Need.Item[1].Num = 0 // [1-20] Num of such kind of items you need for reset
Need.Item[1].Index = 12 // [0-15] Index of [1] needed Item
Need.Item[1].Type = 15 // [0-255] Type of [1] needed Item
Need.Item[1].Lvl = 0 // [0-13] Lvl of [1] needed Item
Need.Item[1].Luck = 0 // [1/0] Luck of [1] needed Item
Need.Item[1].Skill = 0 // [1/0] Skill of [1] needed Item
Need.Item[1].Opt = 0 // [0-7] Opt of [1] needed Item
Need.Item[1].Exc = 0 // [0-63] Exc of [1] needed Item
//Need.Item[2] - example with Jewel Of Jewel of Creation
Need.Item[2].Num = 0 // Num of such kind of items you need for reset
Need.Item[2].Index = 14 // [0-15] Index of [2] needed Item
Need.Item[2].Type = 22 // [0-200] Type of [2] needed Item
Need.Item[2].Lvl = 0 // [0-13] Lvl of [2] needed Item
Need.Item[2].Luck = 0 // [1/0] Luck of [2] needed Item
Need.Item[2].Skill = 0 // [1/0] Skill of [2] needed Item
Need.Item[2].Opt = 0 // [0-7] Opt of [2] needed Item
Need.Item[2].Exc = 0 // [0-63] Exc of [2] needed Item