PDA

View Full Version : [KT] Share cách chỉnh boss tự xuất hiện đúng giờ



vipbk
05-07-12, 02:44 PM
Sau mấy hôm test với boss Hỏa Kỳ Lân, tự gọi nó ra đánh mãi cũng chán, ngồi mày mò cuối cùng cũng phát hiện ra cách để boss tự xuất hiện đúng thời gian đã định :)
Dưới đây là cách làm, ai chưa biết thì làm theo, ai biết rồi làm ơn không chém :D

1) mở file: gamecenter\setting\boss\boss_schedule.ini

mình lấy một ví dụ cho các bạn dễ hiểu chứ nói lý thuyết suông hơi khó hiểu :))
ta thấy:


[秦始皇]
TemplateId=2426
Level=120
Series=-1
Time_1=1535
Time_2=2235
Point_1=1540,58208,105024


- [秦始皇] là tiêu đề: có thể là tên boss hoặc ghi chú ...
- TemplateId là id của boss, ví dụ ở trên có id 2426 là boss Tần Thủy Hoàng
- Level là cấp của boss (VD: 120)
- Series là hệ, ở ví dụ là -1 tức là boss xuất hiện random hệ
- Time_1, Time_2 ... là các thời điểm xuất hiện boss

Các bạn có thể add thêm các thời điểm khác tùy thích
1535 tức là 15 giờ 35 phút, tương tự cho 2235

- Point_1, Point_2 ... là các vị trí sẽ xuất hiện boss
1540 là id map, ở đây là map Tần lăng 5
58208 và 105024 là tọa độ x,y

Các bạn lấy tọa độ x chia cho 257 rồi lấy phần nguyên (bỏ đi phần thập phân), ta được x = 226 : đây là tọa độ x trong game
lấy tọa độ y chia cho 517 rồi lấy phần nguyên, ta được y = 203 : đây là tọa độ y trong game

Chú ý: cách tính trên là gần đúng, khi vào game, tọa độ thực tế sẽ có sai lệch nhưng rất ít chỉ khoảng 1 đến 2 là cùng :D

Ngược lại khi đang ở trong game mà muốn add thêm boss ở tọa độ thực (phải ghi nhớ tọa độ này) thì khi khai báo trong file thì lấy tọa độ x trong game nhân với 257 và tọa độ y nhân với 517

2) DEMO thêm con HKL mình mới add:
Mình để thông số là thế này, các bạn có thể thay đổi:


[Hỏa Kỳ Lân]
TemplateId=20005
Level=200
Series=-1
Time_1=1415
Time_2=1515
Time_3=1615
Time_4=2215
Point_1=114,59881,118393


Ở đây mình add vào map Sắc Lặc Xuyên (id 114) cho nó gần với Vân Trung Trấn :D
mình cho nó xuất hiện vào 4 thời điểm như trên
tọa độ của nó trong game sẽ là: (x,y) = (233,229)

hình đây:

<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>

nhìn hình ta thấy tọa độ x của nó chỉ sai lệch có 1 :D, tọa độ y chính xác và nó xuất hiện đúng 14h15 !

Có gì sai sót mong các bạn bỏ qua :D

Chúc các bạn thành công :x

nh0kk3n2310
05-07-12, 03:02 PM
có cách nào chỉ cho nó xuất hiện vào t7 vs cn thôi ko vipbk

vipbk
05-07-12, 03:07 PM
có cách nào chỉ cho nó xuất hiện vào t7 vs cn thôi ko vipbk

chưa biết vụ này :D để tìm thêm đã :D

anhvaem_n2s
05-07-12, 04:04 PM
cái thông báo nghe nói võ lâm cao thủ.......... đó là khi xuất hiện boss là có luôn bác

thêm nữa, chỗ ID có thể viết thêm id của 2 con con lại cách nhau bằng dấu phẩy không bác

vipbk
05-07-12, 04:10 PM
cái thông báo nghe nói võ lâm cao thủ.......... đó là khi xuất hiện boss là có luôn bác

thêm nữa, chỗ ID có thể viết thêm id của 2 con con lại cách nhau bằng dấu phẩy không bác

- chính xác, vì con boss này dùng chung script với TTH và boss 95 :D
- không viết như vậy được, bạn phải khai báo thêm 1 mục nữa dành cho con khác: 2 con là 2 mục ;)

vip38a
05-07-12, 08:31 PM
ình có thể lấy ID bos ở đâu vậy. :)

vipbk
05-07-12, 08:38 PM
ình có thể lấy ID bos ở đâu vậy. :)

gameserver\setting\npc\npc.txt

huylouis1996
05-07-12, 08:55 PM
Có thể dùng cách như addNPC k

Đó là vào game ra tọa độ đó ấn Alt+1 , VD như đc 2,4442,4423

thì mình lấy 4442 x 32 và 4423 x 32 => sẽ ra đc tọa độ 58208,105024

rồi add vào vị trí đó :-?

k biết đc k nhỉ

vipbk
05-07-12, 09:09 PM
Có thể dùng cách như addNPC k

Đó là vào game ra tọa độ đó ấn Alt+1 , VD như đc 2,4442,4423

thì mình lấy 4442 x 32 và 4423 x 32 => sẽ ra đc tọa độ 58208,105024

rồi add vào vị trí đó :-?

k biết đc k nhỉ

hình như tọa độ x nhân với 16, tọa độ y nhân với 32 :-?
nhưng đó không phải là boss tự xuất hiện mà là cậu tự add nó :|

huylouis1996
06-07-12, 09:10 PM
hình như 3 con HKL k thể xuất hiện đúng giờ cùng 1 lúc :)

mình đã thử add 3 con khác thời điểm là mỗi con cách nhau 2p mới xuất hiện lúc 13h : 1300 - 1302 - 1304

nhưng đợi mà k thấy 2 con lúc 1302 và 1304 xuất hiện

chỉ xuất hiện con lúc 1300

anhvaem_n2s
07-07-12, 12:00 PM
hình như là mình cũng bị, add 3 con 1 lần nhưng mà không xuất hiện 3 con

nh0kk3n2310
07-07-12, 02:15 PM
3 con này có thể xuất hiện cùng lúc nhưng ko thể cùng địa điễm thữ cho nó ở nơi khác xem mình đã thữ và thành công :D

anhvaem_n2s
07-07-12, 03:21 PM
mình cho 3 con xuất hiện cùng lúc tại 2 map thì map 1 xuất hiện 2 con, map 2 xuất hiện 1 con còn lại :))

lamvh
09-07-12, 12:35 AM
bạn VIPBK cho mình hỏi , khi bạn add Hỏa Kỳ Lân vào thì Tần Thủy Hoàng tầng 5 bạn đánh có rớt vật phẩm ko ? Vì mình add xong Hỏa Kỳ Lân nó lấy Class trong npc là boss_qinshihuang nên đánh TTH nó ko rớt đồ ra nữa . Nhưng HKL vẫn rớt đồ ra bình thường .

Lãng Tử Sầu
09-07-12, 09:08 AM
Thay đổi droprate thì bạn vào NPC.txt để chỉnh file của nó ấy :)!

vipbk
09-07-12, 09:37 AM
bạn VIPBK cho mình hỏi , khi bạn add Hỏa Kỳ Lân vào thì Tần Thủy Hoàng tầng 5 bạn đánh có rớt vật phẩm ko ? Vì mình add xong Hỏa Kỳ Lân nó lấy Class trong npc là boss_qinshihuang nên đánh TTH nó ko rớt đồ ra nữa . Nhưng HKL vẫn rớt đồ ra bình thường .

2 con này dùng chung script, còn 2 file drop là khác nhau => rớt đồ bình thường :)

Windows7
22-07-12, 10:21 PM
dùng cái gs của a3pick hình như chỉ gọi được Hỏa kỳ lân thì phải :-? không gọi được 2 con kia, bác nào fix được cái này không nhỉ :-?

divine9966
23-07-12, 01:45 PM
sr bác vipbk vì post bài sai.nhưng e tìm mãi ko thấy được.mong bác giúp cho a.
bác chỉ cho e cách chỉnh lại thông báo khi giết xong con boss HKL ak

:)

vipbk
23-07-12, 04:15 PM
sr bác vipbk vì post bài sai.nhưng e tìm mãi ko thấy được.mong bác giúp cho a.
bác chỉ cho e cách chỉnh lại thông báo khi giết xong con boss HKL ak

:)

trong file này: gameserver\script\boss\qinshihuang\npc\boss_qinshi huang.lua
dòng 94

kieuduybl
31-05-13, 03:36 AM
Cái này có cần đồng bộ Client và GS ko các bác

omasa
31-05-13, 12:58 PM
Sau mấy hôm test với boss Hỏa Kỳ Lân, tự gọi nó ra đánh mãi cũng chán, ngồi mày mò cuối cùng cũng phát hiện ra cách để boss tự xuất hiện đúng thời gian đã định :)
Dưới đây là cách làm, ai chưa biết thì làm theo, ai biết rồi làm ơn không chém :D

1) mở file: gamecenter\setting\boss\boss_schedule.ini

mình lấy một ví dụ cho các bạn dễ hiểu chứ nói lý thuyết suông hơi khó hiểu :))
ta thấy:


[秦始皇]
TemplateId=2426
Level=120
Series=-1
Time_1=1535
Time_2=2235
Point_1=1540,58208,105024


- [秦始皇] là tiêu đề: có thể là tên boss hoặc ghi chú ...
- TemplateId là id của boss, ví dụ ở trên có id 2426 là boss Tần Thủy Hoàng
- Level là cấp của boss (VD: 120)
- Series là hệ, ở ví dụ là -1 tức là boss xuất hiện random hệ
- Time_1, Time_2 ... là các thời điểm xuất hiện boss

Các bạn có thể add thêm các thời điểm khác tùy thích
1535 tức là 15 giờ 35 phút, tương tự cho 2235

- Point_1, Point_2 ... là các vị trí sẽ xuất hiện boss
1540 là id map, ở đây là map Tần lăng 5
58208 và 105024 là tọa độ x,y

Các bạn lấy tọa độ x chia cho 257 rồi lấy phần nguyên (bỏ đi phần thập phân), ta được x = 226 : đây là tọa độ x trong game
lấy tọa độ y chia cho 517 rồi lấy phần nguyên, ta được y = 203 : đây là tọa độ y trong game

Chú ý: cách tính trên là gần đúng, khi vào game, tọa độ thực tế sẽ có sai lệch nhưng rất ít chỉ khoảng 1 đến 2 là cùng :D

Ngược lại khi đang ở trong game mà muốn add thêm boss ở tọa độ thực (phải ghi nhớ tọa độ này) thì khi khai báo trong file thì lấy tọa độ x trong game nhân với 257 và tọa độ y nhân với 517

2) DEMO thêm con HKL mình mới add:
Mình để thông số là thế này, các bạn có thể thay đổi:


[Hỏa Kỳ Lân]
TemplateId=20005
Level=200
Series=-1
Time_1=1415
Time_2=1515
Time_3=1615
Time_4=2215
Point_1=114,59881,118393


Ở đây mình add vào map Sắc Lặc Xuyên (id 114) cho nó gần với Vân Trung Trấn :D
mình cho nó xuất hiện vào 4 thời điểm như trên
tọa độ của nó trong game sẽ là: (x,y) = (233,229)

hình đây:

<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>)

nhìn hình ta thấy tọa độ x của nó chỉ sai lệch có 1 :D, tọa độ y chính xác và nó xuất hiện đúng 14h15 !

Có gì sai sót mong các bạn bỏ qua :D

Chúc các bạn thành công :x


1 số map áp dụng cách này hình như ko chuẩn. Bị lệch khá lớn. Mình thử áp dụng lấy tọa độ XY nhân với 32 thì kết quả thấy khả quan hơn.
Còn 1 số map lại áp dụng theo cách của Vipk thì lại ổn. :(

satthupro95
31-05-13, 01:09 PM
1 số map áp dụng cách này hình như ko chuẩn. Bị lệch khá lớn. Mình thử áp dụng lấy tọa độ XY nhân với 32 thì kết quả thấy khả quan hơn.
Còn 1 số map lại áp dụng theo cách của Vipk thì lại ổn. :(

Mình thấy cái :
local nMapId, nPosX, nPosY = me.GetWorldPos();
local sms = string.format(" Tọa độ đang đứng là:<color=yellow> %d <color>-<color=green> %d <color>",nPosX*32, nPosY*32);
Dialog:Say(sms);
Dùng cho tất cả mà lại chuẩn ^^

__Jie__
31-05-13, 01:20 PM
Vào interface\Tools\script\window\GetIDNPC.lua

Chèn nó vào nếu chưa có thì save đúng tên bỏ vào đó

Vào game alt + 1 sẽ có 3 option hiển thị
<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> g?rand=0.5092479537706822 (<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> g?rand=0.5092479537706822)


local self = tbGetIdNpc;

local tbGetIdNpc = Map.tbGetIdNpc or {};
Map.tbGetIdNpc = tbGetIdNpc;
local CountThat = 0;


local szCmd = [=[
Map.tbGetIdNpc:GetIdNpcSwitch();
]=];
UiShortcutAlias:AddAlias("GM_C1", szCmd);


function tbGetIdNpc:GetIdNpcSwitch()
local nMyMapId, nMyPosX, nMyPosY = me.GetWorldPos();
me.Msg("Get ID Map<enter><color=green>Mã bản đồ: <color=orange>"..nMyMapId.."<color><enter>Mã tọa độ: <color=orange>"..nMyPosX.." / "..nMyPosY.."<color><enter>Mã màn hình: <color=orange>"..(nMyPosX*32).." / "..(nMyPosY*32));
local _, x, y = me.GetWorldPos();
local nMapId = me.nTemplateMapId
local szPosTexta = "";
local szPosText = "";
szPosText = string.format("<link=pos:%s(%d.%d),%d,%d,%d>",
GetMapNameFormId(nMapId), x / 8, y / 16, nMapId, x, y);
local tbAroundNpc = KNpc.GetAroundNpcList(me, 10);
local nMinLenSquare = math.huge;
local pNearNpc = nil;
for _, pNpc in ipairs(tbAroundNpc) do
if (pNpc.nKind ~= 1) then
local _, nNpcX, nNpcY = pNpc.GetWorldPos();
local nThisLenSquare = (nNpcX - x) ^ 2 + (nNpcY - y) ^ 2;
if (nThisLenSquare < nMinLenSquare) then
nMinLenSquare = nThisLenSquare;
pNearNpc = pNpc;
end
end
end
if (not pNearNpc) then
me.Msg("Get ID NPC<enter><color=green>Không tìm thấy Npc đứng gần");
return;
end
szPosText = string.format("<color=green>Mã NPC: <color=orange>%d - %s", pNearNpc.nTemplateId, pNearNpc.szName);
me.Msg("Get ID NPC<enter>"..szPosText);
end


function tbGetIdNpc:GetAroundNpcId(nTempId)
local tbAroundNpc = KNpc.GetAroundNpcList(me, 10);
for _, pNpc in ipairs(tbAroundNpc) do
if (pNpc.nTemplateId == nTempId) then
return pNpc.nIndex
end
end
return
end