[Help] Xin hướng dẫn tạo sub sever giới hạn rs.

hungtru55

New member
Mình muốn làm 1 sub giới hạn rs cho newbie vào chơi. Top ko vào dc thì phải config như thế nào?
Mong các pro chỉ giáo
 
Cô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:
Nguồn: Lập Trình Game | Phát Triển Game | MMORPG Server Development Forums
 
Cô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:
Nguồn: Lập Trình Game | Phát Triển Game | MMORPG Server Development Forums
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

  • 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
phải làm thế nào hả bác?
 
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

  • 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
phải làm thế nào hả bác?
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é
Phần SV1 trên 100 lần thì cứ để bình thường, vì những bạn mới chơi không ai dại gì qua SV rs cao cả.
Phần RS thấp hơn 100 lần
Bạn tạo 1 thư mục ghi tên SV2 rồi để toàn bộ 3 thư mục IA Julia, Data và thư mục GameServer
Trong thư mục IA Julia có file tên ResetSystems, bạn chỉnh như bên dưới
.
[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
 
Sửa lần cuối:
Back
Top