[KT] Xin Cách Fix Lỗi Vô Lý Khi Add NPC
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 12
  1. #1
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    80
    Thanks
    33
    Thanked 2 Times in 2 Posts

    Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    [Only registered and activated users can see links. ]

    Đây là hàm mình viết khi tiêu diệt boss thì sẽ Add tượng ở thành

    Code:
    function tbQinshihuang1Boss:OnDeath(pNpcKiller)
    	
    	Boss.tbUniqueBossCallOut[him.nTemplateId] = nil;
    	
    	Boss.Qinshihuang:ClearPassNpc();
    	Boss.Qinshihuang:ClearInfo();
    	
    	local pPlayer = pNpcKiller.GetPlayer();
    	
    	if not pPlayer then
    		return 0;
    	end
    	
    	local nTeamId = pPlayer.nTeamId;
    	if nTeamId == 0 then
    		pPlayer.AddKinReputeEntry(5, "sieuboss");
    	else
    		local tbPlayerId, nMemberCount = KTeam.GetTeamMemberList(nTeamId);
    		for i, nPlayerId in pairs(tbPlayerId) do
    			local pTeamPlayer = KPlayer.GetPlayerObjById(nPlayerId);
    			if (pTeamPlayer and pTeamPlayer.nMapId == him.nMapId) then
    				pTeamPlayer.AddKinReputeEntry(5, "sieuboss");
    			end
    		end
    	end
    	
    	KNpc.Add2(3622, 60, 0, 1734, 1686, 3277)-- Vẫn xuất hiện bình thường
    
    if me.nSex == 0 then--Tạo Tượng
    	ClearMapNpcWithName(24, "Thiết Phù Thành Chủ");--Xóa NPC
    		local pNpc = KNpc.Add2(26012, 60, 0, 24, 1752, 3492) --  Báo Lỗi, NPC Add Không Xuất Hiện 
    		local szTitle = "<color=red>Tượng Của <color=green>"..pPlayer.szName;
    		pNpc.SetTitle(szTitle);
    	else
    	ClearMapNpcWithName(24, "Thiết Phù Thành Chủ");--Xóa NPC
    		local pNpc = KNpc.Add2(26013, 60, 0, 24, 1752, 3492)
    		local szTitle = "<color=red>Tượng Của <color=green>"..pPlayer.szName;
    		pNpc.SetTitle(szTitle);
    	end
    
    
    	
    end;
    Nhưng khi đặt

    Code:
    if me.nSex == 0 then--Tạo Tượng
    	ClearMapNpcWithName(24, "Thiết Phù Thành Chủ");--Xóa NPC
    		local pNpc = KNpc.Add2(26012, 60, 0, 24, 1752, 3492) --  
    		local szTitle = "<color=red>Tượng Của <color=green>"..pPlayer.szName;
    		pNpc.SetTitle(szTitle);
    	else
    	ClearMapNpcWithName(24, "Thiết Phù Thành Chủ");--Xóa NPC
    		local pNpc = KNpc.Add2(26013, 60, 0, 24, 1752, 3492)
    		local szTitle = "<color=red>Tượng Của <color=green>"..pPlayer.szName;
    		pNpc.SetTitle(szTitle);
    	end[/COLOR]
    vào thẻ GM và click thì NPC xuất hiện và không báo lỗi j

    Tất cả các hàm

    Code:
    local pNpc = KNpc.Add2(x, y, 0, o, t, e) --
    trong script đều bị lỗi tuơng tự
    Khách viếng thăm hãy cùng nhtlquan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên Tâm Huyết __Jie__'s Avatar
    Ngày tham gia
    Sep 2008
    Bài viết
    1,320
    Thanks
    256
    Thanked 740 Times in 559 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    đổi me thành pPlayer thử nhé
    chúc thành công
    Nhận viết sự kiện Kiếm Thế PC - Mobile
    Auto PK 6 acc Kiếm Thế PC không cần sanboxie hoặc autoupdate
    Web: [Only registered and activated users can see links. ]

  3. Các thành viên gởi lời cảm ơn đến __Jie__ vì bài viết này !

    nhtlquan (06-02-15)

  4. #3
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    80
    Thanks
    33
    Thanked 2 Times in 2 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    Trích dẫn Gửi bởi __Jie__ [Only registered and activated users can see links. ]
    đổi me thành pPlayer thử nhé
    chúc thành công
    Em đổi rồi khoing được bác ak.
    Khách viếng thăm hãy cùng nhtlquan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #4
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    80
    Thanks
    33
    Thanked 2 Times in 2 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    Trích dẫn Gửi bởi __Jie__ [Only registered and activated users can see links. ]
    đổi me thành pPlayer thử nhé
    chúc thành công
    Mình đã tìm được lỗi, là do Map kill boss và map add NPC không cùng 1 GS. Nhưng đó là với kill boss, còn như đốt lửa trại thì có liên quan đến GS đâu nhi? Nó cũng bảo lỗi a nil value

    Mình cũng đăng dính lỗi đi vào map Vũ Lăng Sơn thì bị close "Game.exe". Mong bác chỉ giáo.@@
    Lần sửa cuối bởi nhtlquan, ngày 06-02-15 lúc 10:11 AM.
    Khách viếng thăm hãy cùng nhtlquan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #5
    Thành Viên vd_tt's Avatar
    Ngày tham gia
    Jul 2011
    Bài viết
    605
    Thanks
    422
    Thanked 190 Times in 160 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    Trích dẫn Gửi bởi nhtlquan [Only registered and activated users can see links. ]
    Mình đã tìm được lỗi, là do Map kill boss và map add NPC không cùng 1 GS. Nhưng đó là với kill boss, còn như đốt lửa trại thì có liên quan đến GS đâu nhi? Nó cũng bảo lỗi a nil value

    Mình cũng đăng dính lỗi đi vào map Vũ Lăng Sơn thì bị close "Game.exe". Mong bác chỉ giáo.@@
    1. khai báo map cho script vd mapindex
    2. dis game.exe là do res không đồng bộ, vào client sửa res npc là được
    Khách viếng thăm hãy cùng vd_tt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. Các thành viên gởi lời cảm ơn đến vd_tt vì bài viết này !

    nhtlquan (06-02-15)

  8. #6
    Thành Viên anhnhianh's Avatar
    Ngày tham gia
    Jan 2014
    Bài viết
    625
    Thanks
    134
    Thanked 91 Times in 73 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    Trích dẫn Gửi bởi nhtlquan [Only registered and activated users can see links. ]
    Mình đã tìm được lỗi, là do Map kill boss và map add NPC không cùng 1 GS. Nhưng đó là với kill boss, còn như đốt lửa trại thì có liên quan đến GS đâu nhi? Nó cũng bảo lỗi a nil value

    Mình cũng đăng dính lỗi đi vào map Vũ Lăng Sơn thì bị close "Game.exe". Mong bác chỉ giáo.@@
    lỗi của bác lúc trước e cũng đã bị và e đã giải quyết đc là do lỗi res npc client và sever không đồng bộ
    Khách viếng thăm hãy cùng anhnhianh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. Các thành viên gởi lời cảm ơn đến anhnhianh vì bài viết này !

    nhtlquan (06-02-15)

  10. #7
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    80
    Thanks
    33
    Thanked 2 Times in 2 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    Trích dẫn Gửi bởi vd_tt [Only registered and activated users can see links. ]
    1. khai báo map cho script vd mapindex
    2. dis game.exe là do res không đồng bộ, vào client sửa res npc là được
    Thank bạn. Lỗi 2 mình đã fixx được. Nhưng lỗi một thì mình k hiểu lắm. Bạn ns rõ hộ mình được k. Ví dụ lửa trại khi tiêu diệt bos thủ lĩnh
    Code:
    function tbGouhuoItem:CallGouhuoNpc(nX, nY, nExistentTime, nBaseMultip)
    	local tbNpc	= Npc:GetClass("gouhuonpc");
    	local nMapIdx		= SubWorldID2Idx(me.nMapId);
    	local pNpc	= KNpc.Add(tbNpc.nNpcId, 1, -1, nMapIdx, nX, nY);		-- 获得篝火Npc
    	tbNpc:InitGouHuo(pNpc.dwId, 1,	nExistentTime, 5, 40, nBaseMultip, 1)
    	tbNpc:SetTeamId(pNpc.dwId, me.nTeamId)
    	tbNpc:StartNpcTimer(pNpc.dwId)
    	
    	me.SendMsgToFriend("Hảo hữu [" ..me.szName.. "] đã đốt lửa trại.");
    	Player:SendMsgToKinOrTong(me, " đã dốt lửa trại.", 0);
    	self:ExEvent();
    end
    Nó báo lỗi "a nil value" pNpc
    Khách viếng thăm hãy cùng nhtlquan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  11. #8
    Thành Viên NhanVT's Avatar
    Ngày tham gia
    Jan 2013
    Bài viết
    348
    Thanks
    20
    Thanked 120 Times in 103 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    local pNpc = KNpc.Add(tbNpc.nNpcId, 1, -1, nMapIdx, nX, nY);
    "a nil value" NPC chưa add =>
    tbNpc.nNpcId = ?, NPC này có yêu cầu script ? -> nil?
    nMapIdx =?, -> nil? hoặc giá trị không hợp lệ
    local nMapIdx = SubWorldID2Idx(me.nMapId);
    nX = ? -> nil? hay giá trị không hợp lệ
    nY = ? -> nil? hoặc giá trị không hợp lệ

    Mấy lỗi dạng này chỉ cần thêm vài dòng là có thể tìm được cách fix
    function tbGouhuoItem:CallGouhuoNpc(nX, nY, nExistentTime, nBaseMultip)
    local tbNpc = Npc:GetClass("gouhuonpc");
    print(tostring(tbNpc))
    print(tostring(tbNpc.nNpcId))
    local nMapIdx = SubWorldID2Idx(me.nMapId);
    print(tostring(nMapIdx))
    print(tostring(nX))
    print(tostring(nY))
    local pNpc = KNpc.Add(tbNpc.nNpcId, 1, -1, nMapIdx, nX, nY); -- 获得篝火Npc
    if pNpc then
    tbNpc:InitGouHuo(pNpc.dwId, 1, nExistentTime, 5, 40, nBaseMultip, 1)
    tbNpc:SetTeamId(pNpc.dwId, me.nTeamId)
    tbNpc:StartNpcTimer(pNpc.dwId)

    me.SendMsgToFriend("Hảo hữu [" ..me.szName.. "] đã đốt lửa trại.");
    Player:SendMsgToKinOrTong(me, " đã dốt lửa trại.", 0);
    self:ExEvent();
    end
    end
    Khách viếng thăm hãy cùng NhanVT xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  12. Các thành viên gởi lời cảm ơn đến NhanVT vì bài viết này !

    nhtlquan (06-02-15)

  13. #9
    Thành Viên
    Ngày tham gia
    Oct 2012
    Bài viết
    80
    Thanks
    33
    Thanked 2 Times in 2 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    Trích dẫn Gửi bởi NhanVT [Only registered and activated users can see links. ]
    local pNpc = KNpc.Add(tbNpc.nNpcId, 1, -1, nMapIdx, nX, nY);
    "a nil value" NPC chưa add =>
    tbNpc.nNpcId = ?, NPC này có yêu cầu script ? -> nil?
    nMapIdx =?, -> nil? hoặc giá trị không hợp lệ
    local nMapIdx = SubWorldID2Idx(me.nMapId);
    nX = ? -> nil? hay giá trị không hợp lệ
    nY = ? -> nil? hoặc giá trị không hợp lệ

    Mấy lỗi dạng này chỉ cần thêm vài dòng là có thể tìm được cách fix
    function tbGouhuoItem:CallGouhuoNpc(nX, nY, nExistentTime, nBaseMultip)
    local tbNpc = Npc:GetClass("gouhuonpc");
    print(tostring(tbNpc))
    print(tostring(tbNpc.nNpcId))
    local nMapIdx = SubWorldID2Idx(me.nMapId);
    print(tostring(nMapIdx))
    print(tostring(nX))
    print(tostring(nY))
    local pNpc = KNpc.Add(tbNpc.nNpcId, 1, -1, nMapIdx, nX, nY); -- 获得篝火Npc
    if pNpc then
    tbNpc:InitGouHuo(pNpc.dwId, 1, nExistentTime, 5, 40, nBaseMultip, 1)
    tbNpc:SetTeamId(pNpc.dwId, me.nTeamId)
    tbNpc:StartNpcTimer(pNpc.dwId)

    me.SendMsgToFriend("Hảo hữu [" ..me.szName.. "] đã đốt lửa trại.");
    Player:SendMsgToKinOrTong(me, " đã dốt lửa trại.", 0);
    self:ExEvent();
    end
    end
    Thank bác, Đã fixx được, không biết lỡ tay xóa NPC lúc nào không biết.
    Nhưng lỗi dis Game.exe em đã biết nguyên nhân do client và gs k đồng bộ nhưng hiện tại em đang dùng res của VNG , đồng bộ sang GS rồi nhưng vẫn diss Game.exe. Con dùng res đi theo gameserver thì lại k việc j.
    Khách viếng thăm hãy cùng nhtlquan xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  14. #10
    Thành Viên vd_tt's Avatar
    Ngày tham gia
    Jul 2011
    Bài viết
    605
    Thanks
    422
    Thanked 190 Times in 160 Posts

    Ðề: Xin Cách Fix Lỗi Vô Lý Khi Add NPC

    mở map vũ lăng sơn lên, xem thử có npc nào, qua res của gs, lấy res của npc ấy add vào res bên client là được , hoặc lấy res của vng add vào client, add từng cái và ko cần đồng bộ gs cũng được
    Khách viếng thăm hãy cùng vd_tt xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 04:44 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.