akarizone
08-05-07, 07:10 PM
Mình có ý định phát triển nhiệm vụ 10 môn phái, các bạn sẽ tham gia viết nhiệm vụ cho một phái nào đó rồi tổng hợp lại. Ai có tinh thần xung phong nha
Chi tiết nhiệm vụ ở đây là làm nhiệm vụ để học skill, nên dựa vào cốt truyện của vinagame là hay nhất.
Mình sẽ hỗ trợ các bạn hết mình. Ai có ý kiến gì kooooo
--------------------------------------------------
Dạo này mình hơi bận nên không có thời gian viết nhiều, hy vọng sẽ nhận được sự đóng góp, đoàn kết của các bạn để cùng xây dựng server JX "chơi được".
----------------------------------------------------
Sau đây mình sẽ trình bày một số hàm hỗ trợ các bạn trong quá trình viết script nhiệm vụ.
Hàm giao nhiệm vụ : SetTask(id,value)
dùng để giao nhiệm vụ cho nhân vật khi nói chuyện với npc
id là id của nhiệm vụ, cái này là tự mình đặt, các id nhiệm vụ nên qui hoạch cụ thể và không nên giống nhau.
Ví dụ SetTask(1,10) : giao nhiệm vụ 1 cho nhân vật, giá trị là 10
Hàm kiểm tra nhiệm vụ : GetTask(id)
dùng để kiểm tra nhiệm vụ cho nhân vật khi nói chuyện với npc
id là id của nhiệm vụ, ví dụ nếu sử dụng lệnh GetTask(1) ta sẽ được giá trị là 10
Hàm thêm item nhiệm vụ : AddEventItem(id)
Hàm này có 2 cách sử dụng add bằng id hoặc tên của đồ vật cũng được. Thông tin này chứa trong file questkey.txt trong thư mục settings/item
Ví dụ Thêm miếng da trâu : id 178
AddEventItem(178)
Hàm HaveItem(id) để kiểm tra item trên hành trang(rương) của nhân vật
Ngược lại với hàm trên
DelItem()
Xóa item đi khi đã hoàn thành nv
----------------------------------------------------------
Qua các hàm trên mình nên thống nhất với nhau id nhiệm vụ môn phái qui ước như sau :
Thiếu lâm : 1
Thiên Vương : 2
Ngũ Độc : 3
Đường Môn : 4
Thúy Yên : 5
Nga My : 6
Cái Bang : 7
Thiên Nhẫn : 8
Côn Lôn : 9
Võ Đang : 10
----------------------------------------------------------
Ví dụ về nhiệm vụ : Tôi xin lấy nhiệm vụ cấp 10 phái Cái bang làm ví dụ để mọi người dễ hiểu nha :
Nhiệm vụ cấp 10: - Sẽ được phong là: Chấp Đại Đệ tử - Học được võ công: Cái Bang Bổng pháp <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> Cái Bang Chưởng pháp <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> - Nơi tiếp nhận nhiệm vụ: Bang chủ Hà Nhân Ngã Các bước thực hiện nhiệm vụ:
Bước 1: Đến gặp Bang chủ Hà Nhân Ngã (191/231) , tiếp nhận nhiệm vụ đi mua rượu.
Bước 2: Đến Tửu lầu ở Dương Châu, gặp ông chủ tửu điếm (216/189), nhấp vào lời thoại. Mua được bốn loại rượu , duy chỉ có Huệ Tuyền tửu thì vừa bán cho Túy Bán Tiên mất rồi!
Bước 3: Nhìn sang bên cạnh thấy Túy Bán Tiên đang đứng uống rượu, trả lời đúng ba câu hỏi sẽ nhận được Huệ Tuyền Tửu (Đáp án chính xác là : C, B, D).
Bước 4: Mang năm loại rượu về giao cho Bang chủ Hà Nhân Ngã , hoàn thành nhiệm vụ.
-------------------------------------------------------
Đó là nguyên văn trên web võ lâm.
Phân tích :
Người chơi sẽ qua các bước sau :
0 : Người chơi chưa làm gì hết
1 : Nhận nhiệm vụ tại chỗ HNN
2 : Mua được rượu nhưng thiếu Huệ Huyền Tửu
3 : Trả lời câu hỏi 1 đáp án c/4 câu
4 : trả lời câu hỏi 2 đáp án b/4 câu
5 : trả lời câu hỏi 3 đáp án d/4 câu và nhận Huệ Huyền Tửu
6 : Gặp HNN hoàn thành nv
Hàm ví dụ :
-------------------------------------------------------
Script add vào file Hà Nhân Ngã :
function main(sel)
if (GetTask(7) == 0) then --Bat dau nhan nhiem vu
SayEx({"Ha Nhan Nga : Nhan nhiem vu mua ruou?", "Dong y./yes", "Tu Choi./no"}); -- Hoi xem co muon nhan nhiem vu khong
elseif (GetTask(7) == 5) then --Kiem tra xem da hoan thanh nhiem vu chua
if HaveItem(76) then -- Kiem tra xem co Hue Huyen Tuu hay khong
Talk(1, "", "Ha Nhan Nga : Da hoan thanh nhiem vu")
SetTask(7,6) -- Danh dau da hoan thanh nhiem vu
DelItem(76) -- Xoa item nay di
AddMagic(115) -- Hoc duoc Cai bang bong phap
AddMagic(116) -- Hoc duoc Cai bang chuong phap
else
Talk(1, "", "Ha Nhan Nga : chua co ruou Hue Tuyen Tuu")
end
else -- Neu khong phai gia tri 0 hoac 5
Talk(1, "", "Ha Nhan Nga : Hay lam xong nhiem vu hay den day")
end
end;
function yes()
Talk(1, "", "Ha Nhan Nga : Di mua ruou di.") --Nhan nhiem vu di mua ruou
SetTask(7,1) --Set nhiem vu gia tri 1
end;
function no()
end;
-------------------------------------------------------------------
Script add vào file Chủ tiệm rượu :
function main(sel)
if (GetTask(7) == 1) then --Kiem tra xem co dang thuc hien nv mua ruou hay ko
SayEx({"Chu tiem : Mua ruou?", "Dong y./yes", "Tu Choi./no"}); -- Hoi xem co muon mua ruou khong
else
Talk(1, "", "Ha Nhan Nga : Mua ruou di.")
end
end;
function yes()
Talk(1, "","Chu tiem : Thieu ruou Hue Huyen tuu.");
SetTask(7,2) -- Set gia tri 2
end;
function no()
end;
--------------------------------------------------------------------------
Script add vào file Túy bán tiên :
function main(sel)
if (GetTask(7) == 2) then --Kiem tra xem co dang thuc hien nv mua ruou hay ko
SayEx({"Tuy ban tien : tra loi cau hoi 1?", "dap an 1./sai","dap an 2./sai","dap an 3./dung1", "dap an 4./sai"}); -- Hoi nguoi choi cau hoi 1
elseif (GetTask(7) == 3) then --Kiem tra xem da tra loi dung cau hoi 1 chua
SayEx({"Tuy ban tien : tra loi cau hoi 2?", "dap an 1./sai","dap an 2./dung2","dap an 3./sai", "dap an 4./sai"}); -- Hoi nguoi choi cau hoi 2
elseif (GetTask(7) == 4) then --Kiem tra xem da tra loi dung cau hoi 2 chua
SayEx({"Tuy ban tien : tra loi cau hoi 3?", "dap an 1./sai","dap an 2./sai","dap an 3./sai", "dap an 4./dung3"}); -- Hoi nguoi choi cau hoi 3
else
Talk(1, "", "Ha Nhan Nga : Uong ruou di.")
end
end;
function dung1()
SetTask(7,3) --Set nv len 3
main() -- Hoi cau hoi tiep
end;
function dung2()
SetTask(7,4) -- Set nv len 4
main() -- Hoi cau hoi tiep
end;
function dung3()
SetTask(7,5) --Set nv len 5
AddEventItem(76) -- Cho Ha Huyen Tuu
end;
function sai()
main() -- Hoi cau hoi tiep
end;
function no()
end;
----------------------------------------------------------------
Các bạn nghiên cứu thêm nha, có gì thắc mắc post lên diễn đàn hén.
Bài này cũng có thể tham khảo tại : <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> (<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>)
Chi tiết nhiệm vụ ở đây là làm nhiệm vụ để học skill, nên dựa vào cốt truyện của vinagame là hay nhất.
Mình sẽ hỗ trợ các bạn hết mình. Ai có ý kiến gì kooooo
--------------------------------------------------
Dạo này mình hơi bận nên không có thời gian viết nhiều, hy vọng sẽ nhận được sự đóng góp, đoàn kết của các bạn để cùng xây dựng server JX "chơi được".
----------------------------------------------------
Sau đây mình sẽ trình bày một số hàm hỗ trợ các bạn trong quá trình viết script nhiệm vụ.
Hàm giao nhiệm vụ : SetTask(id,value)
dùng để giao nhiệm vụ cho nhân vật khi nói chuyện với npc
id là id của nhiệm vụ, cái này là tự mình đặt, các id nhiệm vụ nên qui hoạch cụ thể và không nên giống nhau.
Ví dụ SetTask(1,10) : giao nhiệm vụ 1 cho nhân vật, giá trị là 10
Hàm kiểm tra nhiệm vụ : GetTask(id)
dùng để kiểm tra nhiệm vụ cho nhân vật khi nói chuyện với npc
id là id của nhiệm vụ, ví dụ nếu sử dụng lệnh GetTask(1) ta sẽ được giá trị là 10
Hàm thêm item nhiệm vụ : AddEventItem(id)
Hàm này có 2 cách sử dụng add bằng id hoặc tên của đồ vật cũng được. Thông tin này chứa trong file questkey.txt trong thư mục settings/item
Ví dụ Thêm miếng da trâu : id 178
AddEventItem(178)
Hàm HaveItem(id) để kiểm tra item trên hành trang(rương) của nhân vật
Ngược lại với hàm trên
DelItem()
Xóa item đi khi đã hoàn thành nv
----------------------------------------------------------
Qua các hàm trên mình nên thống nhất với nhau id nhiệm vụ môn phái qui ước như sau :
Thiếu lâm : 1
Thiên Vương : 2
Ngũ Độc : 3
Đường Môn : 4
Thúy Yên : 5
Nga My : 6
Cái Bang : 7
Thiên Nhẫn : 8
Côn Lôn : 9
Võ Đang : 10
----------------------------------------------------------
Ví dụ về nhiệm vụ : Tôi xin lấy nhiệm vụ cấp 10 phái Cái bang làm ví dụ để mọi người dễ hiểu nha :
Nhiệm vụ cấp 10: - Sẽ được phong là: Chấp Đại Đệ tử - Học được võ công: Cái Bang Bổng pháp <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> Cái Bang Chưởng pháp <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> - Nơi tiếp nhận nhiệm vụ: Bang chủ Hà Nhân Ngã Các bước thực hiện nhiệm vụ:
Bước 1: Đến gặp Bang chủ Hà Nhân Ngã (191/231) , tiếp nhận nhiệm vụ đi mua rượu.
Bước 2: Đến Tửu lầu ở Dương Châu, gặp ông chủ tửu điếm (216/189), nhấp vào lời thoại. Mua được bốn loại rượu , duy chỉ có Huệ Tuyền tửu thì vừa bán cho Túy Bán Tiên mất rồi!
Bước 3: Nhìn sang bên cạnh thấy Túy Bán Tiên đang đứng uống rượu, trả lời đúng ba câu hỏi sẽ nhận được Huệ Tuyền Tửu (Đáp án chính xác là : C, B, D).
Bước 4: Mang năm loại rượu về giao cho Bang chủ Hà Nhân Ngã , hoàn thành nhiệm vụ.
-------------------------------------------------------
Đó là nguyên văn trên web võ lâm.
Phân tích :
Người chơi sẽ qua các bước sau :
0 : Người chơi chưa làm gì hết
1 : Nhận nhiệm vụ tại chỗ HNN
2 : Mua được rượu nhưng thiếu Huệ Huyền Tửu
3 : Trả lời câu hỏi 1 đáp án c/4 câu
4 : trả lời câu hỏi 2 đáp án b/4 câu
5 : trả lời câu hỏi 3 đáp án d/4 câu và nhận Huệ Huyền Tửu
6 : Gặp HNN hoàn thành nv
Hàm ví dụ :
-------------------------------------------------------
Script add vào file Hà Nhân Ngã :
function main(sel)
if (GetTask(7) == 0) then --Bat dau nhan nhiem vu
SayEx({"Ha Nhan Nga : Nhan nhiem vu mua ruou?", "Dong y./yes", "Tu Choi./no"}); -- Hoi xem co muon nhan nhiem vu khong
elseif (GetTask(7) == 5) then --Kiem tra xem da hoan thanh nhiem vu chua
if HaveItem(76) then -- Kiem tra xem co Hue Huyen Tuu hay khong
Talk(1, "", "Ha Nhan Nga : Da hoan thanh nhiem vu")
SetTask(7,6) -- Danh dau da hoan thanh nhiem vu
DelItem(76) -- Xoa item nay di
AddMagic(115) -- Hoc duoc Cai bang bong phap
AddMagic(116) -- Hoc duoc Cai bang chuong phap
else
Talk(1, "", "Ha Nhan Nga : chua co ruou Hue Tuyen Tuu")
end
else -- Neu khong phai gia tri 0 hoac 5
Talk(1, "", "Ha Nhan Nga : Hay lam xong nhiem vu hay den day")
end
end;
function yes()
Talk(1, "", "Ha Nhan Nga : Di mua ruou di.") --Nhan nhiem vu di mua ruou
SetTask(7,1) --Set nhiem vu gia tri 1
end;
function no()
end;
-------------------------------------------------------------------
Script add vào file Chủ tiệm rượu :
function main(sel)
if (GetTask(7) == 1) then --Kiem tra xem co dang thuc hien nv mua ruou hay ko
SayEx({"Chu tiem : Mua ruou?", "Dong y./yes", "Tu Choi./no"}); -- Hoi xem co muon mua ruou khong
else
Talk(1, "", "Ha Nhan Nga : Mua ruou di.")
end
end;
function yes()
Talk(1, "","Chu tiem : Thieu ruou Hue Huyen tuu.");
SetTask(7,2) -- Set gia tri 2
end;
function no()
end;
--------------------------------------------------------------------------
Script add vào file Túy bán tiên :
function main(sel)
if (GetTask(7) == 2) then --Kiem tra xem co dang thuc hien nv mua ruou hay ko
SayEx({"Tuy ban tien : tra loi cau hoi 1?", "dap an 1./sai","dap an 2./sai","dap an 3./dung1", "dap an 4./sai"}); -- Hoi nguoi choi cau hoi 1
elseif (GetTask(7) == 3) then --Kiem tra xem da tra loi dung cau hoi 1 chua
SayEx({"Tuy ban tien : tra loi cau hoi 2?", "dap an 1./sai","dap an 2./dung2","dap an 3./sai", "dap an 4./sai"}); -- Hoi nguoi choi cau hoi 2
elseif (GetTask(7) == 4) then --Kiem tra xem da tra loi dung cau hoi 2 chua
SayEx({"Tuy ban tien : tra loi cau hoi 3?", "dap an 1./sai","dap an 2./sai","dap an 3./sai", "dap an 4./dung3"}); -- Hoi nguoi choi cau hoi 3
else
Talk(1, "", "Ha Nhan Nga : Uong ruou di.")
end
end;
function dung1()
SetTask(7,3) --Set nv len 3
main() -- Hoi cau hoi tiep
end;
function dung2()
SetTask(7,4) -- Set nv len 4
main() -- Hoi cau hoi tiep
end;
function dung3()
SetTask(7,5) --Set nv len 5
AddEventItem(76) -- Cho Ha Huyen Tuu
end;
function sai()
main() -- Hoi cau hoi tiep
end;
function no()
end;
----------------------------------------------------------------
Các bạn nghiên cứu thêm nha, có gì thắc mắc post lên diễn đàn hén.
Bài này cũng có thể tham khảo tại : <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> (<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>)