PDA

View Full Version : [JX] Hỏi Về Scripts Ai Chỉ Dùm



SIR.ThaiBinh
16-07-12, 01:32 PM
Include("\\script\\source\\hamchuot.lua");

function OnDeath()

a = random(1,6)
if a == 1 or a == 3 or a == 5 or a == 6 then
AddEventItem(3)
Msg2Player("NhËn §­îc Hoµng Kim §Ëi Ph¸p")
elseif a == 2 or a == 4 then
AddEventItem(14)
Msg2Player("NhËn §­îc §å Phæ Hoµng Kim LÖnh")
end

Msg2SubWorld("Ng­êi ch¬i "..GetName().." ®· tiªu diÖt ®­îc boss hoµng kim ®¹i !!")
end


mấy anh xem scripts thế nào em viết đúng rồi mà khi giết xong boss nó không ra là sao

Crawler
16-07-12, 04:59 PM
Bạn xem con cửa sổ gameserver.exe xem có báo lỗi gì không

SIR.ThaiBinh
16-07-12, 05:10 PM
không có nó mới ảo chứ có thì fix rồi ^^ :-o:-o

invalidpw
16-07-12, 05:49 PM
Đầu tiên bạn phải kiểm tra xem con Npc đó chết thì có gọi hàm OnDeath hay không bằng cách chỉ để dòng thông báo


function OnDeath()
Msg2Player("Boss da die")
a = random(1,6)
Msg2Player(a)
end
Đánh chết boss xong coi nó có hiện ra câu Boss da die không ?
Có hiện ra số a không ?
Hàm random viết vậy đúng chưa (phân biệt chữ hoa, thường)

SIR.ThaiBinh
16-07-12, 06:10 PM
giờ viết lại thế này
Include("\\script\\source\\hamchuot.lua");

function OnDeath()

Msg2SubWorld("Ng­êi ch¬i "..GetName().." ®· tiªu diÖt ®­îc boss hoµng kim ®¹i !!")
boboss()
end

function doboss()
a = random(1,6)
if a == 1 or a == 3 or a == 5 or a == 6 then
AddEventItem(3)
Msg2Player("NhËn §­îc Hoµng Kim §Ëi Ph¸p")
elseif a == 2 or a == 4 then
AddEventItem(14)
Msg2Player("NhËn §­îc §å Phæ Hoµng Kim LÖnh")
end

Faker
16-07-12, 06:15 PM
cái script bạn bị lỗi font kia mình hok hiểu đc :(

mấy em xem scripts thế nào em viết đúng rồi mà khi giết xong boss nó không ra là sao ???

SIR.ThaiBinh
16-07-12, 06:21 PM
cái script bạn bị lỗi font kia mình hok hiểu đc :(
???

xem dùm cái bác xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Edward_Newgate
16-07-12, 06:30 PM
giờ viết lại thế này
Include("\\script\\source\\hamchuot.lua");

function OnDeath()

Msg2SubWorld("Ng­êi ch¬i "..GetName().." ®· tiªu diÖt ®­îc boss hoµng kim ®¹i !!")
boboss()
end

function doboss()
a = random(1,6)
if a == 1 or a == 3 or a == 5 or a == 6 then
AddEventItem(3)
Msg2Player("NhËn §­îc Hoµng Kim §Ëi Ph¸p")
elseif a == 2 or a == 4 then
AddEventItem(14)
Msg2Player("NhËn §­îc §å Phæ Hoµng Kim LÖnh")
end



Include("\\script\\source\\hamchuot.lua");

function OnDeath()
Msg2SubWorld("Ng­êi ch¬i "..GetName().." ®· tiªu diÖt ®­îc boss hoµng kim ®¹i !!")
doboss()
end

function doboss()
a = random(1,6)
if a == 1 or a == 3 or a == 5 or a == 6 then
AddEventItem(3)
Msg2Player("NhËn §­îc Hoµng Kim §Ëi Ph¸p")
else
AddEventItem(14)
Msg2Player("NhËn §­îc §å Phæ Hoµng Kim LÖnh")
end
end


Ở trên ghi boboss() mà dưới lại là doboss(), thiếu end ở cuối.
Bỏ cái đoạn code ở trên vào xem đc chưa?

cái script bạn bị lỗi font kia mình hok hiểu đc :(
???
Không phải lỗi font đâu, do JX dùng bảng mã TCVN3 (ABC) nên phải viết vậy thì nó mới hiển thị tiếng việt có dấu trong game.

SIR.ThaiBinh
16-07-12, 06:50 PM
Include("\\script\\source\\hamchuot.lua");

function OnDeath()
Msg2SubWorld("Ng­êi ch¬i "..GetName().." ®· tiªu diÖt ®­îc boss hoµng kim ®¹i !!")
doboss()
end bo cai nay ak

function doboss()
a = random(1,6)
if a == 1 or a == 3 or a == 5 or a == 6 then
AddEventItem(3)
Msg2Player("NhËn §­îc Hoµng Kim §Ëi Ph¸p")
else
AddEventItem(14)
Msg2Player("NhËn §­îc §å Phæ Hoµng Kim LÖnh")
end
end


Ở trên ghi boboss() mà dưới lại là doboss(), thiếu end ở cuối.
Bỏ cái đoạn code ở trên vào xem đc chưa?

Không phải lỗi font đâu, do JX dùng bảng mã TCVN3 (ABC) nên phải viết vậy thì nó mới hiển thị tiếng việt có dấu trong game.
30 chu xxxxxxxxxxxxxxxxxxxxxxxxxx

passika
17-07-12, 07:51 AM
Có thể bạn đã chọn đường dẫn không đúng trong hàm Add con NPC đó.
Script của bạn ở dòng elseif đâu cần phải cho nó random 2 or 4 và hàm random không phân biệt hoa thường.bạn xem trong GS có gọi file đó không?

--- Chế độ gộp bài viết ---


giờ viết lại thế này
Include("\\script\\source\\hamchuot.lua");

function OnDeath()

Msg2SubWorld("Ng­êi ch¬i "..GetName().." ®· tiªu diÖt ®­îc boss hoµng kim ®¹i !!")
boboss()
end

function doboss()
a = random(1,6)
if a == 1 or a == 3 or a == 5 or a == 6 then
AddEventItem(3)
Msg2Player("NhËn §­îc Hoµng Kim §Ëi Ph¸p")
elseif a == 2 or a == 4 then
AddEventItem(14)
Msg2Player("NhËn §­îc §å Phæ Hoµng Kim LÖnh")
end

Trong function doboss() bạn thiếu end vì có sử dụng cấu trúc rẽ nhánh if!

SIR.ThaiBinh
17-07-12, 07:53 AM
Có thể bạn đã chọn đường dẫn không đúng trong hàm Add con NPC đó.
Script của bạn ở dòng elseif đâu cần phải cho nó random 2 or 4 và hàm random không phân biệt hoa thường.bạn xem trong GS có gọi file đó không?

--- Chế độ gộp bài viết ---



Trong function doboss() bạn thiếu end vì có sử dụng cấu trúc rẽ nhánh if!
cảm ơn bạn đã góp ý |-)|-)|-).......................

passika
17-07-12, 07:53 AM
cái script bạn bị lỗi font kia mình hok hiểu đc :(
???
Cái đó chẳng liên quan gì đến toàn bộ file đó vì nó nằm trong hàm thông báo mà đâu có truy vấn gì đâu.
SIR.ThaiBinh: Bạn thử kiểm tra theo cách của invalidpw để xem nó có sử dụng file lua đó không.Cậu invalidpw viết thiếu thư viện, script sai ở hàm Msg2pPlayer thứ 2 (thiếu " ").

hoivegame
17-07-12, 12:08 PM
<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>

invalidpw
17-07-12, 12:40 PM
Việc dò cú pháp để bắt lỗi rất mất thời gian. Tốt nhất là đưa hàm về dạng đơn giản rồi đặt các câu thông báo để tìm xem bị gián đoạn ở chỗ nào rồi mới tìm cách fix được, chứ đi liệt kê tất cả nguyên nhân có thể rồi dò thì lâu lắm.

Hàm Msg2Player thứ nhất nhằm kiểm tra function OnDeath có được gọi hay không.
Hàm Msg2Player thứ hai in ra giá trị của biến a, mục đích để kiểm tra hàm random có chạy đúng không, nên không có dấu ""