Kết quả 1 đến 10 của 20
-
18-09-16, 08:36 PM #1
- Ngày tham gia
- Apr 2010
- Đang ở
- https://t.me*********
- Bài viết
- 217
- Thanks
- 32
- Thanked 97 Times in 40 Posts
Giúp đỡ làm NPC tự di chuyển theo tọa độ
Số là đang mò viết code vận tiêu lục tung các code các npc thì thấy có cái code towerdefen có cái hộ tống npc viết bằng code nên mần mò viết theo .Code chạy ko có báo lỗi load nhưng khi thực thi hàm npcMove thì nó chỉ xóa npc tạo lại npc ngay vị trí đó chứ npc ko di chuyển ai ghóp ý code với
Code:local tbNpc = Npc:GetClass("npc_tudichuyen"); tbNpc.tbNpcMoveLeft = {}; tbNpc.tbNpcMoveRight = {}; function tbNpc:OnDialog() DoScript("\\script\\npc\\npc_tudichuyen.lua"); local tbOpt = {}; table.insert(tbOpt, 1, {"<pic=283><color=yellow>[Chức năng]<color> <color=cyan>NPC di chuyển<color>", self.SetNpcMoveAI, self,9713}); table.insert(tbOpt, 2, {"<pic=288>Kết Thúc đối thoại"}); Dialog:Say("<color=green>Xin Chào <color=cyan>" ..me.szName.. "<color>.",tbOpt); end local tbMove_Right = Lib:LoadTabFile("\\script\\npc\\toado\\npc_move_right.txt"); local tbBossMove = Lib:LoadTabFile("\\script\\ncp\\toado\\boss_move.txt"); for _, pos in ipairs(tbMove_Right) do table.insert(tbNpc.tbNpcMoveRight, {tonumber(pos["TRAPX"]), tonumber(pos["TRAPY"])}); end function tbNpc:SetNpcMoveAI(nNpcId) local pNpc = KNpc.GetById(nNpcId); if not pNpc then return 0; end local tbNpcMove = {}; tbNpcMove = self.tbNpcMoveRight; local nCurMapId, nCurPosX, nCurPosY = him.GetWorldPos(); him.Delete(); local pFightNpc = KNpc.Add2(9713, 150, -1, nCurMapId, nCurPosX, nCurPosY, 0, 0, 1); -- tbInstancing.nGirlId = pFightNpc.dwId; pFightNpc.szName = "Tiểu Liên"; pFightNpc.SetTitle("Do đội của <color=yellow>"..me.szName.."<color> hộ tống"); pFightNpc.SetCurCamp(0); pFightNpc.RestoreLife(); -- pFightNpc.GetTempTable("Npc").tbOnArrive = {tbNpc.OnArrive, tbNpc, pFightNpc, me}; pFightNpc.AI_ClearPath(); for _,Pos in ipairs(tbNpcMove) do if (Pos[1] and Pos[2]) then pFightNpc.AI_AddMovePos(tonumber(Pos[1])*32, tonumber(Pos[2])*32) Dialog:Say("<color=green>Xin Chào <color=cyan>" ..tonumber(Pos[1])*32 .. " + " ..tonumber(Pos[2])*32 .. "<color>.",tbOpt); end end; pFightNpc.SetNpcAI(9, 50, 1,-1, 25, 25, 25, 0, 0, 0, me.GetNpc().nIndex); -- tbInstancing.nGirlProStep = 1; end
Khách viếng thăm hãy cùngkebactinh86xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-09-16, 04:42 PM #2
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Lần sửa cuối bởi visaothe123, ngày 19-09-16 lúc 04:46 PM.
Khách viếng thăm hãy cùng visaothe123 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-09-16, 05:51 PM #3
- Ngày tham gia
- Apr 2010
- Đang ở
- https://t.me*********
- Bài viết
- 217
- Thanks
- 32
- Thanked 97 Times in 40 Posts
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Vâng bác chính là cái độ tống vận tiêu đó.Mình có thử xuất 2 biến tọa độ load từ trong file txt ra thì thấy tọa độ chuẩn so vs mình để bên file txt rồi mà sao npc chỉ xóa npc cũ và tạo 1 npc mới đứng yên đó thôi bác ah
Khách viếng thăm hãy cùngkebactinh86xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-09-16, 06:07 PM #4
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Khách viếng thăm hãy cùng visaothe123 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-09-16, 07:28 PM #5
- Ngày tham gia
- Mar 2014
- Bài viết
- 365
- Thanks
- 118
- Thanked 25 Times in 25 Posts
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Khách viếng thăm hãy cùnghxhhxhzxây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-09-16, 09:48 PM #6
- Ngày tham gia
- Jan 2012
- Bài viết
- 2,412
- Thanks
- 2,567
- Thanked 1,842 Times in 880 Posts
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
nghiên cứu cái protect npc, truyền tham số vào hàm
Khách viếng thăm hãy cùng satthupro95 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
19-09-16, 10:05 PM #7
- Ngày tham gia
- Sep 2008
- Bài viết
- 1,320
- Thanks
- 256
- Thanked 740 Times in 559 Posts
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Làm trong code thì hình như chỉ di chuyển dc trong 1 map không thể qua map khác (chưa view sâu vào code nên không biết có thể mở rộng không).
Nên nghiên cứu về task_publish lão toại hình như biết pm lão thử
-
20-09-16, 07:55 PM #8
- Ngày tham gia
- Apr 2010
- Đang ở
- https://t.me*********
- Bài viết
- 217
- Thanks
- 32
- Thanked 97 Times in 40 Posts
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Task mình có unpack ra cũng tìm tới chỗ nó gọi protec NPC cơ mà ko thấy khúc truyền tọa độ và ko biết khúc npc gọi hoặc load file xml ra sao hihi
Khách viếng thăm hãy cùngkebactinh86xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-09-16, 09:04 PM #9
- Ngày tham gia
- Apr 2010
- Đang ở
- https://t.me*********
- Bài viết
- 217
- Thanks
- 32
- Thanked 97 Times in 40 Posts
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
Code:local tbNpc = Npc:GetClass("hotongMiNu"); tbNpc.tbTrack = { {1696, 3659}, {1680, 3613}, {1674, 3581}, {1647, 3544}, {1604, 3522}, {1640, 3483 }, {1630, 3417}, {1652, 3361}, {1645, 3313}, {1679, 3374}, {1727, 3348}, {1769, 3367}, } tbNpc.NRANGE = 200; local tbEvent = { Player.ProcessBreakEvent.emEVENT_MOVE, Player.ProcessBreakEvent.emEVENT_ATTACK, Player.ProcessBreakEvent.emEVENT_SITE, Player.ProcessBreakEvent.emEVENT_USEITEM, Player.ProcessBreakEvent.emEVENT_ARRANGEITEM, Player.ProcessBreakEvent.emEVENT_DROPITEM, Player.ProcessBreakEvent.emEVENT_SENDMAIL, Player.ProcessBreakEvent.emEVENT_TRADE, Player.ProcessBreakEvent.emEVENT_CHANGEFIGHTSTATE, Player.ProcessBreakEvent.emEVENT_CLIENTCOMMAND, Player.ProcessBreakEvent.emEVENT_ATTACKED, Player.ProcessBreakEvent.emEVENT_DEATH, Player.ProcessBreakEvent.emEVENT_LOGOUT, } function tbNpc:OnDialog() DoScript("\\script\\Copdakto\\npc\\HoTong.lua"); local nKeys = me.GetItemCountInBags(18,1,95,1); --if nKeys > 0 then Dialog:Say("Hiệp sĩ, không tìm được chiếc chìa khóa đó sao?", { {"Nào, để ta giúp ngươi mở chiếc khóa này!", tbNpc.Release, tbNpc, him.dwId}, {"Hãy đợi", tbNpc.OnExit, tbNpc}, }); --else --Dialog:Say("Cái bọn khốn khiếp đó…chỉ cần ngươi mở giúp ta cái khóa chết tiệt này, ta sẽ giúp ngươi mở đại môn đó, tiêu diệt sạch lũ cướp kia!"); --return; --end; end; function tbNpc:Release(nNpcId) local nKeys = me.GetItemCountInBags(18,1,95,1); --if nKeys <=0 then -- Dialog:Say("Hầy!...Cứ đi trong thành, ráng tìm cho được chiếc chìa khóa đó đi!"); -- return; --end; local pNpc = KNpc.GetById(nNpcId); if not pNpc then return; end; me.ConsumeItemInBags(1, 18, 1, 95, 1); local pDialogNpc = KNpc.GetById(pNpc.dwId); local tbFightNpc = {10141, 10234, 20152, 2421, 2422, 2423, 2424, 2425, 2426}; local nRand = MathRandom(#tbFightNpc); local tbNpcFight = tbFightNpc[nRand]; local nCurMapId, nCurPosX, nCurPosY = pNpc.GetWorldPos(); --pNpc.Delete(); local pFightNpc = KNpc.Add2(tbNpcFight, 1, -1, nCurMapId, nCurPosX, nCurPosY, 0, 0, 1); --pFightNpc.szName = "Úy Lữ"; pFightNpc.SetTitle(" Do đội <color=yellow>"..me.szName.."<color> bảo vệ"); pFightNpc.SetCurCamp(0); pFightNpc.RestoreLife(); pFightNpc.AI_ClearPath(); --pFightNpc.AddTaskState(1475); for _,Pos in ipairs(self.tbTrack) do if (Pos[1] and Pos[2]) then pFightNpc.AI_AddMovePos(tonumber(Pos[1])*32, tonumber(Pos[2])*32) end end pFightNpc.SetNpcAI(9, 0, 0, -1, 25, 25, 25, 0, 0, 0, 0, me.GetNpc().nIndex); --Timer:Register(12 * Env.GAME_FPS, self.Chat, self, pFightNpc); end; function tbNpc:Chat(pFightNpc) if pFightNpc then local tbMsg = {"Bọn bây rồi sẽ biết mùi vị đau đớn như thế nào...", "Đói bụng quá không thể về nhà được~~~", "Các ngươi đâu cả rồi~~~", "Hãy xem ta đây~~~", "Theo gái sướng hơn~~~", "Giết hết, giết hết~~~~", "Nơi đây vốn không phải là địa bàn của các ngươi!~~~", "Chào mừng bạn đến với Ngọa Long Kiếm!"}; local nRand = MathRandom(#tbMsg); pFightNpc.SendChat(tbMsg[nRand]); end end; -- 護送 NPC 小憐被殺死 function tbNpc:OnDeath(pNpc) local nMapId, nMapX, nMapY = him.GetWorldPos(); local tbInstancing = TreasureMap:GetInstancing(nMapId); tbInstancing.nGirlKilled = 1; end;
Code:for _,Pos in ipairs(self.tbTrack) do if (tonumber(Pos[1])==1769 and tonumber(Pos[2])==3367) then thực thi lệnh xóa npc và add phần thưởng end end
Khách viếng thăm hãy cùngkebactinh86xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
23-09-16, 09:23 PM #10
Ðề: Giúp đỡ làm NPC tự di chuyển theo tọa độ
nếu cách đó đang bí, có thể dùng cách trả tiêu xa cho npc như bên phong thần vậy.
Khách viếng thăm hãy cùng wermanhme1990 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
[JX] Help Đổi xếp hạng ? k xếp theo rank mà xếp hiện thị theo số lượng tinh lực
Bởi HungDevJX trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 20Bài viết cuối: 30-07-16, 11:21 AM -
[TLBB] Dịch Chuyển Theo Thời Gian Hệ THống
Bởi haxlaye trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 02-10-15, 11:23 PM -
Chuyên dụng chẩn đoán và theo dõi sức khỏe của ổ đĩa
Bởi anhkhongdoiqua trong diễn đàn Công cụ dành cho PCTrả lời: 0Bài viết cuối: 02-11-14, 05:40 PM -
Mepmedia Absolute Audio Converter - Chuyển đổi âm thanh chuyên nghiệp gọn nhẹ
Bởi PandavB trong diễn đàn Phần mềm dành cho Giải TríTrả lời: 0Bài viết cuối: 20-02-14, 09:22 AM -
[MU] Vẫn chuyện của ngày xưa: Máy chủ tăng ram dần dần theo time chạy Server
Bởi eva0001 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 09-09-12, 11:48 AM