Kết quả 1 đến 8 của 8
-
01-09-15, 05:54 PM #1
Xin hỏi về lỗi đánh quái nhận đồng thường
e dùng sever 2.6 . e add code nhận đồng khi giết quái vào player.lua vào game đánh quái thì lại ko ra đồng thường e cũng đã copy cái player bản gốc nhưng vẫn ko đc ko biết còn liên quan đến cái gì nữa mong pro nào chỉ giáo với. sau đây là code e add vào player
PHP Code:function Player:_OnKillNpc()
-- 如果是精英怪,首领怪,判断是否要给玩家的同伴添加经验
if him.GetNpcType() ~= 0 then
Partner:OnKillBoss(me, him);
end
Task:OnKillNpc(me,him);
local nMapId = me.GetWorldPos();
if (nMapId == 1536) and (nMapId == 1537) and (nMapId == 1538) and (nMapId == 1539) then
me.AddJbCoin(10);
me.Msg("<color=wheat>Bạn nhận được<color=red> 10 <color> đồng <color>");
end
end
Khách viếng thăm hãy cùng anhnhianh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
01-09-15, 08:52 PM #2
- Ngày tham gia
- Sep 2008
- Bài viết
- 1,321
- Thanks
- 256
- Thanked 742 Times in 560 Posts
Ðề: Xin hỏi về lỗi đánh quái nhận đồng thường
Không thấy sai gì có khả năng là do sai cách dùng and . Không chuyên lập trình nên không biết nhưng thấy kì kì ở chổ
if (nMapId == 1536) and (nMapId == 1537) and (nMapId == 1538) and (nMapId == 1539) then .
Thông thường : Nếu And xuất hiện trong if nghĩa là điều kiện hiển nhiên đúng mới thực hiện hàm. Ví dụ đang đứng ở Map 1536 nhưng cú pháp lại là and 1537. Chương trình sẽ hiểu là nếu bạn đang đứng ở map 1536 = 1537 thì sẽ chạy... ( bất khả thi ngay tại đây ).
Nếu dùng Or thì hoàn toàn khác. Or có nghĩa là hoặc ví dụ if nMapId == 1536 or nMapId == 1537 then. Nghĩa là nếu bạn đang đứng ở 1536 hoặc 1537 thì điều kiện được thực thi.
Nếu dùng and thì nên viết theo dạng khoảng cách giữa các số.
Có thể viết lại theo cách này.
Code:local nMapId, nPosX, nPosY = me.GetWorldPos(); if nMapId >= 1536 and nMapId <= 1539 then me.AddJbCoin(2); me.Msg(string.format("Nhân vật đã nhận <color=yellow>2 đồng<color> từ hoạt động")); end
Đoán đại thôi
-
Các thành viên gởi lời cảm ơn đến __Jie__ vì bài viết này !
anhnhianh (02-09-15)
-
01-09-15, 11:02 PM #3
- Ngày tham gia
- Jan 2012
- Bài viết
- 2,415
- Thanks
- 2,567
- Thanked 1,846 Times in 882 Posts
Ðề: Xin hỏi về lỗi đánh quái nhận đồng thường
if (nMapId == 1536) and (nMapId == 1537) and (nMapId == 1538) and (nMapId == 1539) then -- And có nghĩa là đồng thời, đổi thành Or (hoặc) là được
Khách viếng thăm hãy cùng satthupro95 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
Các thành viên gởi lời cảm ơn đến satthupro95 vì bài viết này !
anhnhianh (02-09-15)
-
02-09-15, 07:46 AM #4
-
Các thành viên gởi lời cảm ơn đến na.ilusm89 vì bài viết này !
anhnhianh (02-09-15)
-
02-09-15, 10:16 AM #5
Ðề: Xin hỏi về lỗi đánh quái nhận đồng thường
à thì ra là sai hàm tks mấy đại ca khó hiểu 2 chữ or và and quá chả biết lúc nào dùng cho hợp
Khách viếng thăm hãy cùng anhnhianh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
02-09-15, 11:07 AM #6
- Ngày tham gia
- Sep 2008
- Bài viết
- 1,321
- Thanks
- 256
- Thanked 742 Times in 560 Posts
Ðề: Xin hỏi về lỗi đánh quái nhận đồng thường
Như tôi đã giải thích phía trên chắc từ nay sẽ Hiểu.
Đơn giản nếu dùng and trong if có nghĩa là luôn luôn đúng mới thực thi.
Nếu dùng and thì dùng cách điếm khoảng cách giữa các số kết hợp các phép toàn >= and <=.
Còn nhiều cái ở Plugin nó hiểu nhưng chưa có dịp thử trên server không biết nó hiểu ko
Ví dụ : if string.find(GetMapNameFormId(me.nTemplateMapId), "Tần Lăng") then -- doc vào chắc hiểu mục đích nó làm gì
-
Các thành viên gởi lời cảm ơn đến __Jie__ vì bài viết này !
anhnhianh (02-09-15)
-
02-09-15, 11:17 AM #7
- Ngày tham gia
- Apr 2014
- Bài viết
- 78
- Thanks
- 25
- Thanked 5 Times in 4 Posts
Ðề: Xin hỏi về lỗi đánh quái nhận đồng thường
If (Điều kiện A) and (Điều kiện B) and (Điều kiện C) then
(Hàm Thực Thi X)
end
- Dùng 'and' thì phải thoả mãn cả 3 điều kiện A, B, C thì mới thực thi được hàm X
If (Điều kiện A) or (Điều kiện B) or (Điều kiện C) then
(Hàm Thực Thi X)
end
- Dùng 'or' thì chỉ cần thỏa mãn 1 trong 3 điều kiện A hoặc B hoặc C là đã có thể thực thi được hàm XKhách viếng thăm hãy cùng SInSu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 2 Users Say Thank You to SInSu For This Useful Post:
anhnhianh (02-09-15), nnquyen309 (30-03-24)
-
02-09-15, 11:27 AM #8
Ðề: Xin hỏi về lỗi đánh quái nhận đồng thường
Khách viếng thăm hãy cùng anhnhianh xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!