PDA

View Full Version : [KT] Hỏi code Gọi boss và thanh pk



lctung2015
02-04-15, 12:28 AM
bác nào biết 2 code này cho mình xin với, xem hàm của bác satthupro k có, ai có shers cho 2 cái này nha!, tks trước + like
1/ hàm gọi NPC Boss, check bang hội.
- ý là: gọi 1 con boss check cho bang hội tên [LongHon],nghĩa là bang LongHon k đánh đc boss vì cùng phe như tống kim vậy, chỉ bang khác mới đánh đc Boss.
2/ hàm check khi vào 1 mạp k cho chuyển PK.
- gióng như mạp tần lăng vậy, vào là nó tự chuyển PK Bang hội luôn, và k cho chuyển đổi PK khác.

__Jie__
02-04-15, 11:40 AM
1 vs 2 có thể thực hiện mà không cần quá nhiều kiến thức
1. Tạo 1 map mới vs 1 NPC dịch chuyển để vào và ra map đó
Qui định tại NPC bang hội nào được phép thông cổng vào hoặc không thể vào
2. Khi tạo map thì qui định luôn có chuyển pk được không. Xem 1 số map liên quan để biết .( tui toàn dùng script nên chả nhớ) =))

lctung2015
02-04-15, 12:29 PM
Mình có tiềm hàm code rồi, nhưng quy trình code them vào lỗi k chạy đc, nên mới xin, bác jie có cho mình xin hướng dẫn với.

__Jie__
02-04-15, 07:15 PM
Bạn biết tạo map chứ? Biết hàm check tên bang hội ? Nếu không biết thì xem lại topic hỏi đáp có 1 bài hỏi tôi đã giải đáp rồi
Nếu biết tạo map thì sẽ biết và để ý InfoMap đây là bước gọi là khai báo class cho map hoặc thuộc tính của map
Hoặc bí quá copy dòng Tân Lăng 5 rồi edit ID lại
Tìm đến file qinshihuangling_5.lua sẽ thấy 1 đoạn script mô tả về map này cần chú ý
local tbMap = Map:GetClass(1540);-- ID cua map


function tbMap:OnEnter(szParam)
self:_SetState(me);
end;
function tbMap:OnLeave(szParam)
self:_ResetState(me);
end;


function tbMap:_SetState(pPlayer)
pPlayer.nPkModel = Player.emKPK_STATE_TONG;
pPlayer.DisabledStall(1);
pPlayer.nForbidChangePK = 1;
end


function tbMap:_ResetState(pPlayer)
pPlayer.DisabledStall(0);
pPlayer.nForbidChangePK = 0;
end
Như vậy là được rồi đến đây còn ko làm được thì bỏ tiền túi ra là vừa nhé ;))

lctung2015
03-04-15, 12:41 AM
tks bác nhiều, mình biết cách này hồi sáng rồi, mình cũng mò trong mạp tần lăng cũng đã ra, nhưng cái mình bí nhất ở đây là, check Nhân vật vào mạp theo id Camp đó bạn, gióng tống kim vậy.. là Phe tống mới đánh đc NPC Phe Kim, và Nhân Vật Tống k đánh đc NPC Tống, cái này là check ham code Camp, mình đã tiềm hiểu là liên quan tới code Camp, nhưng quy trình chuyển đổi k khớm, bác có thể giải thích quy trình code của Camp nó thế nào để check code k?

__Jie__
04-04-15, 10:33 PM
local pNpc = KNpc.Add2(20148, 1, 0, 130, 1710, 3457);
pNpc.SetVirtualRelation(Npc.emNPCVRELATIONTYPE_TON E, me.dwTongId);
Của bạn đây khỏi giải thích có 2 dòng thôi :D theo Camp Bang Hội nhé

lctung2015
05-04-15, 02:44 AM
mình làm như thế này, thì mình hiểu là nó check theo bang hội của người gọi ra, có nghĩa bang hội nhân vật là gì thì gọi NPC ra là Camp id bang hội đó, theo code


function tbGMCard:GoiBoss()
local pTong = KTong.GetTong(me.dwTongId);
local pNpc = KNpc.Add2(20148, 1, 0, 130, 1793, 3561);
pNpc.SetVirtualRelation(Npc.emNPCVRELATIONTYPE_TON E, me.dwTongId, me.GetName);
end;


còn cái mình cần là, check nó theo tên bang hội muốn viết trong code luôn. là mình ghi trong code tên Bang Hội nào, là gọi NPC ra y bang hội đó.
- Tương tự như hàm nhận thưởng này

if pTong.GetName() ~= "VoSong" then, mà mình k biết chuyển thể nó làm sao cho đúng để làm như trên

__Jie__
05-04-15, 11:33 AM
nghĩa là bạn dùng câu lệnh gọi boss ra cho bang hội ABCXYZ ăn mà không cho bang khác tác động vào. Đúng chứ
<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>
Làm gì phải dùng thẻ GM cho mệt thân mình .
Cứ qui định giờ giấc cho bọn nó tự nhận =))

lctung2015
05-04-15, 04:25 PM
uhm tks bác nhiều, cuối cùng cũng đã tiềm ra cách check camp của nv rồi.