Kết quả 141 đến 150 của 2270
-
24-06-09, 09:14 AM #141
- Ngày tham gia
- Jun 2009
- Bài viết
- 14
- Thanks
- 0
- Thanked 0 Times in 0 Posts
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Khách viếng thăm hãy cùng conbaihoa_01 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
24-06-09, 09:20 AM #142
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Khách viếng thăm hãy cùng hongtu1 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
24-06-09, 09:25 AM #143
- Ngày tham gia
- Apr 2008
- Bài viết
- 12,110
- Thanks
- 662
- Thanked 3,168 Times in 1,602 Posts
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
24-06-09, 10:05 AM #144
- Ngày tham gia
- Jun 2009
- Bài viết
- 14
- Thanks
- 0
- Thanked 0 Times in 0 Posts
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
lập trình ra sao anh có thể nói rõ hơn được không ạ. em là dân mới nên chưa biết gì cả.
Khách viếng thăm hãy cùng conbaihoa_01 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
24-06-09, 11:07 AM #145
- Ngày tham gia
- Apr 2008
- Bài viết
- 12,110
- Thanks
- 662
- Thanked 3,168 Times in 1,602 Posts
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Bạn vào thư mục Server --> Vào thư mục Script --> Các file .lua đều là lập trình ngôn ngữ Lua ! Bạn tham khảo cái phần tập viết nhiệm vụ cho game để biết hơn về lập trình lua trích từ Ebook của Cubin :
Bài 1 :
Như các bạn đã biết, các file trong thư mục script của server và client đều có đuôi là .lua . Đây chính là ngôn ngữ lập trình lua 4.0. Để hiểu rõ về ngôn ngữ lập trình này tôi xin giới thiệu sơ qua về các kiểu dữ liệu, từ khóa, cách sử dụng của ngôn ngữ này.
Kiểu dữ liệu :
Các kiểu dữ liệu trong lua4.0 là : nil, number, string, function, userdata, and table.
Các từ khóa :
Code:
and break do else elseif
end for function if in
local nil not or repeat
return then until while
Các dấu toán tử :
Code:
and or
< > <= >= ~= ==
..
+ -
* /
not - (unary)
^
Quyền ưu tiên được tính từ dưới lên.
Cách đặt và gán giá trị cho biến :
Bạn đặt tên biến bình thường như các ngôn ngữ lập trình khác, gán giá trị trực tiếp cho biến
Ví dụ : i = 3 -- ở đây ta đặt tên biến là i và gán giá trị là 3
Cấu trúc lệnh :
Một số cấu trúc lệnh trong lua4.0 như sau :
Code:
while "biểu thức" do "thực hiện" end -- cấu trúc lặp với từ khóa while...do
repeat "thực hiện" until "biểu thức" -- cấu trúc lặp với từ khỏa repeat...until
if "biểu thức 1" then "thực hiện 1" {elseif "biểu thức 2 then "thực hiện 2"} [else "thực hiện 3"] end -- Cấu trúc so sánh if...then..else
for "biến" = "biểu thức 1","biểu thức 2" do "hành động" end -- cấu trúc lặp for...do
Thông thường thì khi kết thúc một cấu trúc điều khiển ta phải kết thúc bằng end
Các bạn lưu ý, đây là ngôn ngữ lập trình có phân biệt chữ hoa và chữ thường, vì vậy nên chú ý khi đặt tên biến và viết các từ khóa
Ví dụ, chuơng trình sẽ báo lỗi nếu bạn viết if thành If.
Định nghĩa hàm trong Lua4.0 :
Cấu trúc khai báo 1 hàm trong lua như sau :
Code:
function tenham(bien1,bien2,...,bienn) -- khai báo tên biến
thực hiện -- các câu lệnh dùng trong hàm
end; -- từ khóa kết thúc hàm
Phần chuơng trình được đặt trong hàm main()
Code:
function main()
--các dòng lệnh
end;
Câu chú thích trong lua được viết sau dấu
Code:
-- câu chú thích
Lệnh để thêm file từ ngoài vào là
Code:
Include("duongdanfile");
OK như vậy là bạn có thể hiểu thêm một chút về ngôn ngữ này, bây giờ mình sẽ làm một ví dụ để bạn hiểu thêm hén
Code:
vidu.lua
Include("\\Script\\Global\\station.lua"); -- thêm file station.lua từ Script\Global vào file này, đường dẫn \ thì thêm dấu \ chuơng trình sẽ hiểu là \
function main() -- phần thân chương trình
i = 3; -- đặt tên biến là 3
if (i = 3) then -- nếu i = 3 thì
xaphu() -- gọi hàm xa phu
else -- nếu i khác 3
exit() -- gọi hàm exit
end -- hết cấu trúc if
end; -- hết phần thân chương trình
function xaphu() -- khai báo hàm xaphu()
if (HaveMagic(210)==-1) then
AddMagic(210)
end -- hết hàm if
end;
function exit() -- khai báo hàm exit()
i = 2
end;
Hy vọng các bạn sẽ hiểu phần nào về ngôn ngữ lập trình này để chúng ta có thể hiểu rõ hơn về các file script trong JX.
P/S : ai có hứng thú về ngôn ngữ này hãy tìm hiểu thêm tại [Only registered and activated users can see links. ]
Sau đây mình xin trình bày một số hàm mẫu cơ bản để lập trình script.Trích dẫn từ bài viết của Akarizone.
Trích dẫn:
Hàm Say : nói chuyện, giao tiếp với NPC, có lựa chọn
Code:
Say("lời nói",0) --Hiện câu thông báo và 1 chọn lựa thoát khỏi câu thông báo
Say("lời nói", n, "lựa chọn 1/hàm 1", "lựa chọn 2/hàm 2",..., "lựa chọn n/hàm n") --Hiện câu thông báo và n lựa chọn, mỗi lựa chọn sẽ tương ứng thực hiện hàm n. n có thể là 2, 3, 4...
Ví dụ :
Say("Xa phu : Nguoi muon di dau ?", 4, "Chien truong tong kim/gotk", "Bien Kinh/gobk", "Khong muon di dau/cancel")
Hiển thị
------------------------------------------------------
Xa phu : Nguoi muon di dau ?
Chien truong tong kim
Bien Kinh
Khong muon di dau
-------------------------------------------------------
Hàm Talk : hiển thị bảng thông báo không có lựa chọn
Code:
Talk(Talk(1,"","câu thông báo"); --Bạn chỉ cần thay câu thông báo thành câu muốn nói
Ví dụ :
Talk(1,"","Vo dang de tu :Ban thuoc he Kim, khong the gia nhap phai Vo Dang");
Hiển thị :
--------------------------------------------------------
Vo dang de tu :Ban thuoc he Kim, khong the gia nhap phai
Vo Dang
--------------------------------------------------------
Hàm NewWorld(nMap, posx, posy) : dùng để di chuyển nhân vật đến vị trí posx,posy trên bản đồ nMap
Code:
NewWorld(nMap, posx, posy)
nMap : id của bản đồ, có thể tìm trong file maplist.ini ở thư mục server\settings, và id này phải được khai báo trong file worldset.ini ở thư mục server\maps
posx,posy : là số tọa độ điểm của nơi cần đến được tính như sau :
posx = tọa độ x trong game * 8
posy = tọa độ y trong game * 16
Ví dụ : Muốn di chuyển nhân vật đến Biện Kinh ở tọa độ 204,198
id map Biện Kinh, tìm trong maplist.ini là 37
posx = 204 * 8 (1632)
posy = 198 * 16 (3168)
Như vậy bạn phải viết là
NewWorld(37,1632,3168)
Các hàm liên quan : GetCash(), Pay(), SetFightState(), AddTermini()
Hàm AddMagic(sId, sLevel) : thêm kĩ năng cho nhân vật.
Code:
AddMagic(sId, sLevel)
sId : id của kĩ năng trong file skills.txt.
sLevel : đẳng cấp của kĩ năng đó
Ví dụ : muốn thêm kĩ năng Thiên địa vô cực(id=365) cấp 20 cho nhân vật
AddMagic(365, 20)
Hàm AddItem(nItemClass,nDetailType,nParticualrType,nLe vel,nSeries,nLuckn,nItemLevel) : thêm vật dụng cho nhân vật.
Code:
AddItem(nItemClass,nDetailType,nParticualrType,nLe vel,nSeries,nLuckn,nItemLevel)
nItemClass : Hạng mục item, hiện tại có những giá trị sau :
0 : vật dụng mang trên người(vũ khí, áo, mũ...)
1 : vật dùng hồi sức(máu, mana...)
4 : vật phẩm nhiệm vụ
5 : thổ địa phù
nDetailType : loại item giá trị từ 0 đến 10 tuơng tứng với [Vũ khí gần, Vũ khí xa, Áo, Nhẫn, Dây chuyền, Giày, Thắt lưng, Mũ, Bao tay, Ngọc bội, Ngựa]
nParticualrType : các item trong loại đó, ví dụ vũ khí gần sẽ có kiếm, đao, côn... Tùy vào loại item sẽ có nhiều hay ít item
nLevel : đẳng cấp món đồ 1 - 10
nSeries : thuộc tính ngũ hành 0 - 4 tương ứng Kim, Mộc, Thủy, Hỏa, Thổ
nLuckn : chỉ số may mắn cái này nên để là 0, vì theo mình được biết, cái này càng nhỏ, may mắn càn cao
nItemLevel : đẳng cấp phép thuật của món đồ, giá trị từ 1 - 10, số càng cao, dòng trên món đồ càng xịn
Ví dụ : muốn thêm một thanh đao vip cấp 10 cho nhân vật
AddItem(0,0,1,10,2,0,10)
Sẽ được 1 thanh đao có hút sinh lực, nội lực, tốc độ đánh, băng sát...
Như vậy các bạn tham khảo nha. Đây chỉ là một số hàm cơ bản
Bài 2 :
Phần I: Mở đầu về các lí thuyết của script nhiệm vụ.
Phát Triển Nhiệm Vụ Võ Lâm Offline!
Sau khi các bạn cài đặt được Jx thì các bạn sẽ nghĩ đến nhiệm vụ cho jx. Đối với Võ Lâm online phần hay nhất là event , nhiệm vụ môn phái , thế giới , nhiệm vụ Hoàng Kim… Vậy võ lâm off chúng ta cũng vậy. Nhiệm vụ là hồn của võ lâm. Hiện tại thì đã có nhiệm vụ thôn ,….
Hôm nay mình muốn kêu gọi mọi người cùng nhau phát triển nhiệm vụ 10 môn phái.Các bạn sẽ đăng kí qua emails của mình , mình sẽ lập nên một đội viết nhiệm vụ,mỗi người viết một phái rồi tổng hợp lại up lên cho mọi người test thử.Hiện tại mình đã viết được nhiệm vụ cái bang + thiên vương full , Ngũ độc 1xà5x , Thiếu Lâm 1xà3x(Nhiệm vụ Thiếu Lâm là của levantai).
Nếu bạn nào có tinh thần thì mình sẽ hướng dẫn kĩ đễ các bạn có thể viết script nhiệm vụ được.Chỉ cần có tinh thần(nhưng cũng phải có xíu nhiểu biết nha).
Nhiẹm vụ môn phái là để học skill nên theo mình nghĩ dùng nội dung của Vina Game là hay nhất. Thường thì nội dung cũng vậy nhưng phần maps thì không nên dùng như trên mạng.Các bạn nên tận dụng tối đa , tức là không nên mở thêm các maps như các phòng ám khí,các đại điện…
Nói chung mình sẽ nói rõ hơn qua emails.
Thật sự mình không có thời gian nên không thể viết nhiều nên mong các bạn giúp đỡ.
Sau đây mình xin trình bày một số hàm mẫu cơ bản để lập trình script.Trích dẫn từ bài viết của Akarizone.
Trích dẫn:
Hàm Say : nói chuyện, giao tiếp với NPC, có lựa chọn
Code:
Say("lời nói",0) --Hiện câu thông báo và 1 chọn lựa thoát khỏi câu thông báo
Say("lời nói", n, "lựa chọn 1/hàm 1", "lựa chọn 2/hàm 2",..., "lựa chọn n/hàm n") --Hiện câu thông báo và n lựa chọn, mỗi lựa chọn sẽ tương ứng thực hiện hàm n. n có thể là 2, 3, 4...
Ví dụ :
Say("Xa phu : Nguoi muon di dau ?", 4, "Chien truong tong kim/gotk", "Bien Kinh/gobk", "Khong muon di dau/cancel")
Hiển thị
------------------------------------------------------
Xa phu : Nguoi muon di dau ?
Chien truong tong kim
Bien Kinh
Khong muon di dau
-------------------------------------------------------
Hàm Talk : hiển thị bảng thông báo không có lựa chọn
Code:
Talk(Talk(1,"","câu thông báo"); --Bạn chỉ cần thay câu thông báo thành câu muốn nói
Ví dụ :
Talk(1,"","Vo dang de tu :Ban thuoc he Kim, khong the gia nhap phai Vo Dang");
Hiển thị :
--------------------------------------------------------
Vo dang de tu :Ban thuoc he Kim, khong the gia nhap phai
Vo Dang
--------------------------------------------------------
Hàm NewWorld(nMap, posx, posy) : dùng để di chuyển nhân vật đến vị trí posx,posy trên bản đồ nMap
Code:
NewWorld(nMap, posx, posy)
nMap : id của bản đồ, có thể tìm trong file maplist.ini ở thư mục server\settings, và id này phải được khai báo trong file worldset.ini ở thư mục server\maps
posx,posy : là số tọa độ điểm của nơi cần đến được tính như sau :
posx = tọa độ x trong game * 8
posy = tọa độ y trong game * 16
Ví dụ : Muốn di chuyển nhân vật đến Biện Kinh ở tọa độ 204,198
id map Biện Kinh, tìm trong maplist.ini là 37
posx = 204 * 8 (1632)
posy = 198 * 16 (3168)
Như vậy bạn phải viết là
NewWorld(37,1632,3168)
Các hàm liên quan : GetCash(), Pay(), SetFightState(), AddTermini()
Hàm AddMagic(sId, sLevel) : thêm kĩ năng cho nhân vật.
Code:
AddMagic(sId, sLevel)
sId : id của kĩ năng trong file skills.txt.
sLevel : đẳng cấp của kĩ năng đó
Ví dụ : muốn thêm kĩ năng Thiên địa vô cực(id=365) cấp 20 cho nhân vật
AddMagic(365, 20)
Hàm AddItem(nItemClass,nDetailType,nParticualrType,nLe vel,nSeries,nLuckn,nItemLevel) : thêm vật dụng cho nhân vật.
Code:
AddItem(nItemClass,nDetailType,nParticualrType,nLe vel,nSeries,nLuckn,nItemLevel)
nItemClass : Hạng mục item, hiện tại có những giá trị sau :
0 : vật dụng mang trên người(vũ khí, áo, mũ...)
1 : vật dùng hồi sức(máu, mana...)
4 : vật phẩm nhiệm vụ
5 : thổ địa phù
nDetailType : loại item giá trị từ 0 đến 10 tuơng tứng với [Vũ khí gần, Vũ khí xa, Áo, Nhẫn, Dây chuyền, Giày, Thắt lưng, Mũ, Bao tay, Ngọc bội, Ngựa]
nParticualrType : các item trong loại đó, ví dụ vũ khí gần sẽ có kiếm, đao, côn... Tùy vào loại item sẽ có nhiều hay ít item
nLevel : đẳng cấp món đồ 1 - 10
nSeries : thuộc tính ngũ hành 0 - 4 tương ứng Kim, Mộc, Thủy, Hỏa, Thổ
nLuckn : chỉ số may mắn cái này nên để là 0, vì theo mình được biết, cái này càng nhỏ, may mắn càn cao
nItemLevel : đẳng cấp phép thuật của món đồ, giá trị từ 1 - 10, số càng cao, dòng trên món đồ càng xịn
Ví dụ : muốn thêm một thanh đao vip cấp 10 cho nhân vật
AddItem(0,0,1,10,2,0,10)
Sẽ được 1 thanh đao có hút sinh lực, nội lực, tốc độ đánh, băng sát...
Như vậy các bạn tham khảo nha. Đây chỉ là một số hàm cơ bản. Nếu bạn nào đăng kí tham gia viết nhiệm vụ thì mình sẽ hỗ trợ nhiều hơn.
Thân chào các bạn!
Theo Akarizone thì các bạn nên thống nhất với nhau id nhiệm vụ của môn phái qui ước như sau:
Thiếu Lâm:1 Tức là Task_TL=1
Thiên Vương:2 Task_TV=2
Ngũ Độc:3 Task_ND=1
Đường Môn:4 Task_DM=1
Thuý Yên:5 Task_TY=1
Nga Mi:6 Task_NM=1
Cái Bang:7 Task_CB=1
Thiên Nhẫn:8 Task_TN=1
Côn Lôn:9 Task_CL=1
Võ Đang:10 Task_VD=1
Vậy thì các bạn sẽ dùng các hàm kiểm tra các bứơc nhiệm vụ như sau:
Vi Dụ: nhiệm vụ cái bang thì
SetTask(Task_CB,xx) ---Đánh dấu hoàn thành nhiệm vụ Cái Bang bước xx
if (GetTask(Task_CB)==xx)then ----Kiểm tra đã hoàn thành bước nhiệm vụ cái bang xx chưa.
Tương tự đối với các môn phái khác.
Phần II: Một số mẫu nhiệm vụ của CuBin(các bạn nên xem kĩ)
Ví Dụ 1:
Sau đây là một mẫu script nhiệm vụ phái Cái Bang mà mình up để cho mọi người tham khảo và hiểu hơn.
Nhiệm Vụ Môn Phái
I.Cái Bang:
1.Nhiệm vụ Cái bang cấp 10: (Task_CB)
-Giá trị nhiệm vụ: xx=0 thì tức là chưa làm nhiệm vụ gì thuộc môn phái Cái Bang; 1:Nhận nhiệm vụ đi đánh Mộc Nhân ở phái Bắc phái Cái Bang; 2:Hoàn thành xong việc đánh Mộc Nhân; 3: Đánh dấu hoàn thành nhiệm vụ cấp 10 phái Cái Bang.
-Yêu cầu: Đã gia nhập phái Cái Bang
-Chức danh: Chấp Đại Đệ Tử (Rankid=37)
-Võ công học được: Cái Bang Bổng Pháp , Cái Bang Chưởng Pháp
-Nơi tiếp nhận nhiệm vụ: Bang Chủ Hà Nhân Ngã (ID 98) tại tọa độ 191,231
-Nội dung nhiệm vụ:
Cái Bang Bang Chủ: Ta thấy ngươi chăm chỉ luyện công , có muốn học thêm võ công của bổn môn không?
Cái Bang Bang Chủ: Ngươi mau đến phía bắc phái Cái Bang tìm đánh bọn Mộc Nhân (ID 190) lấy lại Mộc Ngư (ID item 31) đem về đây cho ta.
Ra sau núi toạ độ 191,213…..đánh bọn Mộc Nhân lấy lại được Mộc Ngư rồi quay về gặp Cái Bang Bang Chủ.
Cái Bang Bang Chủ: Chúc mừng ngươi đã hoàn thành nhiệm vụ Cái Bang cấp 10.
Học được võ công phụ trợ.
Phần Hướng Dẫn Viết Nhiệm Vụ:
*Tạo NPC Cái Bang Bang Chủ :
-Mở file “script/global/mapnpc/npc_monphai.lua” lên . Tìm dòng
function npc_monphai_caibang()
end;
Sửa lại thành:
function npc_caibang()
AddNPCEx(98,1,115,191,231,1,3,"\\script\\monphai\\ caibang\\caibangbangchu.lua",6) --Them Cai Bang Bang Chu
AddNPCEx(235,1,115,187,229,1,3,"\\script\\xaphu.lu a") --them xa phu
-Tạo thêm mục tên “mophai” trong mục script.
-Tạo thêm mục tên “caibang” trong mục monphai.
-Vào (\script\monphai\caibang\) toạ file tên “npc_nhiemvucaibang.lua”.Với nội dung:
Include("\\Script\\global\\serverlib.lua");
function npc_nv_caibang()
npc_10_caibang()
end;
function npc_10_caibang()
--AddNPCEx(nId,nLevel, nMap,nX,nY,nOffsetX,nOffsetY,nScript,nCurCamp)
AddNPCEx(190,1,115,191,213,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,194,212,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,195,214,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,196,215,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,193,215,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,198,215,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,190,211,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,189,210,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,194,210,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
AddNPCEx(190,1,115,194,208,1,3,"\\script\\monphai\ \caibang\\npc_10_ondeath.lua",5)
end;
-Tạo thêm file tên “npc_10_ondeath.lua” trong mục caibang với nội dung:
Include("\\script\\global\\serverlib.lua");
function OnDeath()
if ((GetTask(Task_CB)==1) and (num_count<10)) then
count_npcdie()
Talk(1,"","Da giao danh duoc" ..num_count.. "ten moc nhan...")
if (num_count == 10) then
AddEventItem(31)
Talk(1,"","Da lay duoc <color=red>Moc Ngu<color>. Quay ve gap De Tu Cai Bang de hoan thanh nhiem vu...")
SetTask(Task_CB,2)
end;
end;
end;
-Tạo file “caibangbangchu.lua” trong mục caibang:
Nội dung:
Include("\\script\\global\\serverlib.lua");
Include("\\script\\monphai\\caibang\\npc_nhiemvuca ibang.lua");
function main(sel)
NV_10()
end;
--Nhiem vu cap 10--
function NV_10()
if ((GetLevel() >= 10) and (GetRank() == 37)) then --ktra xem co phai Phai Cai bang va Level >10 ko?
if(GetTask(Task_CB) == 0) then --bat dau nhan NV
SayEx({"Cai Bang Bang Chu: Ta thay nguoi cham chi luyen cong, co muon hoc them vo cong bon mon khong ?","Vang de tu muon hoc/hoc_10","De tu dang ban/khong_hoc"});
elseif (GetTask(Task_CB) == 2) then --ktra xem da hoan thanh NV chua.
if (HaveItem(31) == 1) then -- Ktra xem co Moc Ngu chua.
Talk(1,"","<color=yellow>Chuc mung da hoan thanh nhiem vu cap 10<color>")
SetTask(Task_CB,3) --danh dau hoanthanh NV
DelItem(31) --xoa Item NV
AddMagic(115) --hoc dc Cai bang Bong Phap
AddMagic(116) --hoc duoc Cai Bang Chuong Phap
SetRank(38) ---Duoc phong la Chap Dai De Tu
Talk(1,"","-Duoc phong la<color=yellow>Chap Dai De Tu<color>\n- Hoc duoc vo cong<color=yellow>Cai Bang Bong Phap<color>va<color=yellow>Cai Bang Chuong Phap<color>.")
AddMagicPoint(1)
AddProp(5)
--Talk(1,"","Ban duoc tang 1 diem ky nang va 5 diem tiem nang.\nHay tiep tuc co gang len nhe!")
else
Talk(1,"","Chua co <color=yellow>Moc Ngu<color> gap ta lam gi ??")
end;
else
if (GetFightState()==0) then
SetFightState(1)
else
Talk(1,"","Cai Bang Bang Chu: Chua lam xong nhiem vu gap ta lam gi !");
end;
end;
end;
end;
function hoc_10()
SetTask(Task_CB,1)
Talk(1,"","Bi kip vo cong nhap mon cua Cai Bang bao gom:\n- Cai Bang Chuong Phap.\n- Cai Bang Bong Phap.\nCac vo cong nay duoc viet trong mot vat co ten la <color=yellow>Moc Ngu<color> nguoi hay di ve huong bac tim di")
npc_10_caibang() --add NPC lam NV cai bang cap 10
Msg2Player("Set nhiem vu cap 10..ok")
Msg2Player("Toa do nhiem vu o phia bac 191/213..")
SetFightState(1);
end;
function khong_hoc()
Talk(1,"","Dung la do luoi bieng, di chan de di")
end;
Như vậy là các bạn có thể vào để test thử nhiệm vụ rồi đó.
Chúc các bạn thành công!
Thân!
Ví dụ 2
*Tạo NPC Ngũ Độc Bang Chủ :
-Mở file “script/global/mapnpc/npc_monphai.lua” lên . Tìm dòng
function npc_monphai_ngudoc()
end;
Sửa lại thành:
function npc_ngudoc()
AddNPCEx(118,1,ID Maps Ngũ Độc,Tọa độ X,Tọa Dộ Y,5,5,"\\Script\\monphai\\ngudoc\\ngudoc.lua",6)
Trong đó:
-Maps Ngũ Độc: Các bạn xem ID trong maplist.ini nha.
-Tọa Độ X,Tọa Độ Y: Tọa độ các bạn muốn đặt npc.
-Tạo thêm mục tên “monphai” trong mục script.
-Tạo thêm mục tên “ngudoc” trong mục monphai.
-Vào (\script\monphai\ngudoc\) toạ file tên “npc_nhiemvungudoc.lua”.Với nội dung:
Include("\\Script\\global\\serverlib.lua");
function npc_nv_ngudoc()
npc_10_ngudoc()
end;
function npc_10_ngudoc()
--AddNPCEx(nId,nLevel, nMap,nX,nY,nOffsetX,nOffsetY,nScript,nCurCamp)
AddNPCEx(45,15,53,180,213,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,179,212,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,177,214,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,181,214,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,183,212,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,189,211,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,200,215,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,209,213,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,219,207,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
AddNPCEx(45,15,53,221,201,1,3,"\\script\\monphai\\ ngudoc\\npc_10_ondeath.lua",5)
end;
-Tạo thêm file tên “npc_10_ondeath.lua” trong mục ngudoc với nội dung:
Include("\\script\\global\\serverlib.lua");
function OnDeath()
if ((GetTask(Task_ND)==1) and (num_count<10)) then
count_npcdie()
Talk(1,"","Da danh duoc " ..num_count.. " con nhen...")
if (num_count == 10) then
Talk(1,"","Da danh du 10 con <color=red>Nhen<color>. Quay ve gap Mac Thu Huong Chu de hoan thanh nhiem vu...")
SetTask(Task_ND,2)
end;
end;
end;
-Tạo file “ngudoc.lua” trong mục ngudoc:
Include("\\script\\global\\serverlib.lua");
Include("\\script\\monphai\\ngudoc\\npc_nhiemvungu doc.lua");
function main(sel)
if((GetLevel()>=10)and(GetRank()==49))then
if(GetTask(Task_ND)==0)then
SayEx({"Mac Thu Huong Chu:Nguoi la de tu moi nhap mon.Nguoi co muon thuc hien mot vai khao nghiem cua ta khong?","De tu dong y./hoc_10","Khong de tu chua muon lam./khong_hoc"});
elseif(GetTask(Task_ND)==3)then
if(HaveItem(141)==1)then
Talk(1,"","<color=pink>Chuc mung nguoi da hoan thanh nhiem vu cap 10<color>")
SetTask(Task_ND,4)
DelItem(141)
AddMagic(62)
AddMagic(60)
AddMagic(67)
SetRank(50)
Talk(1,"","- Duoc phong lam <color=pink>Doat Hon Tan Nhan<color>.\n- Hoc duoc vo cong cap 10: <color=pink>Ngu Doc Dao Phap , Ngu Doc Chuong Phap , Cuu Thien Cuong Loi<color>.")
else
Talk(1,"","Viec ta giao nguoi lam chua xong ma den day lam gi?")
end;
else
if (GetFightState()==0) then
SetFightState(1)
else
Talk(1,"","Cai Bang Bang Chu: Chua lam xong nhiem vu gap ta lam gi !");
end;
end;
end;
end;
function hoc_10()
SetTask(Task_ND,1)
Talk(1,"","Nguoi mau den <color=Red>Ba Lang Huyen<color> toa do (180,213;179,212;177,214;181,214;183,212;189,211;2 00,215;209,213;219,207;221,201)tim danh du <color=Red>10 con nhen<color>.Sau do den <color=Red>Duoc Diem<color>(Tuc la <color=Red>Ngo Than Y<color>) mua <color=Red>10 bao Tin Thach<color>.")
npc_10_ngudoc()
Msg2Player("Set nhiem vu cap 10...")
Msg2Player("Den Ba Lang Huyen.....")
SetFightState(1)
end;
function khong_hoc()
Talk(1,"","Vay thi ta khong ep")
end;
Như vậy là bạn đã có thể hỉu phần nào về cách viết nhiệm vụ rùi ha!Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
24-06-09, 07:53 PM #146
- Ngày tham gia
- Jun 2009
- Bài viết
- 14
- Thanks
- 0
- Thanked 0 Times in 0 Posts
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
hix ai giúp em lỗi này em bái làm sư phụ luôn. em hoàn tất hết rùi nhưng khi vào chơi báo là "Liên kết máy chủ thất bại", ở link đầu tiên có ghi lỗi là S3PDB_MSSQL Server_Connection:: Do COM error: IDispatch error #3092. Còn link 6 thì PlayerDb Loading Failed. Em thử trong SQL và chỉnh lại thông số rồi nhưng không được. Chờ một người cao thủ giải đáp!!!
Khách viếng thăm hãy cùng conbaihoa_01 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
24-06-09, 08:43 PM #147
- Ngày tham gia
- Apr 2008
- Bài viết
- 12,110
- Thanks
- 662
- Thanked 3,168 Times in 1,602 Posts
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Tui chỉ giúp bạn về PlayerDBLoading Failed thui àh ! Cái kia ko rõ !
Trích từ Ebook của Cubin :
Hôm nay mình xin hướng dẫn các bạn Test Server nhanh !
Đầu tiên mình sẽ nói sơ qua về cấu trúc Server hoàn chỉnh !
Theo mình thì chia ra thành 2 phần chính :
+ Dữ liệu account và 5 links
+ Server chính
Trong Server chính thì có 3 thư mục tạo thành :
+ Script
+ maps
+ Settings
Ba thư mục Script, Settings và maps tạo nên 1 Server ! Còn Dữ liệu account và 5 links thì chỉ là giúp ta tạo account và lưu trữ dữ liệu mà thôi !
Vì thế khi muốn xài Server của ai thì bạn chỉ cần chép 3 thư mục Script, Settings và maps của Server mới, paste sang Server cũ thì vào game dữ liệu account vẫn còn và ko hề bị thay đổi !
*Ví dụ cho các bạn dễ hiểu nè :
Trích:
Tui đang xài Server Alex chẳng hạn nhưng muốn chuyển sang xài Server Minh Đăng !
Thường thì các bạn sẽ làm gì ?
Đó là các bạn giải nén nguyên Server Minh Đăng và cứ Attack Database vào dữ liệu mới bên Server MĐ để tạo account chơi !
Nhưng nhiều khi ko thành công có thể dẫn tới vài lỗi như PlayerDBLoading Failed hoặc Ket noi may chu that bai hoặc ko tạo account dc...v.v..
Cách giải quyết cho bạn là :
Bạn còn nhớ Server cũ của bạn đang xài ngon là Server Alex ko ?
Cứ để đó và chỉ xóa 3 thư mục Script, Settings và maps trong Server Alex đi !
Sau đó chép 3 thư mục Script, Settings và maps trong Server MĐ vào Server Alex lại !
Như vậy account cũ của bạn vẫn còn ! Chỉ thay đổi về các NPC trong maps và các Settings thôi !
Vậy là có thể chơi Server MĐ trên dữ liệu account và dữ liệu cũ của Server Alex dc rồi !
Do có 1 số bạn khởi động 6 link ko dc nên mình xin share file vlserver.rar !
Chú ý trong vlserver.rar có dữ liệu database vừa đủ và 3 thư mục Script, Settings và maps mình để trống !
Nếu các bạn muốn chơi Server nào thì cứ chép 3 thư mục Script, Settings và maps ! Paste đè vào thư mục multiserver trong thư mục vlserver vừa giải nén là có thể chơi dc !
Trong vlserver.rar mình đã cho GameServer.exe ko cần crack và CoreServer.dll thích hợp nên ko còn bị lỗi nữa !
Đây là 2 link quan trọng :
+ Link vlserver.rar : [Only registered and activated users can see links. ]
+ Link Hướng dẫn cài SQL Server 2000 và cách cài pass của sa cho vlserver.rar (Video) : [Only registered and activated users can see links. ]
Chúc các bạn thành công ! ^__^
Trích thaihoa91Khách viếng thăm hãy cùng thaihoa91 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
25-06-09, 08:01 AM #148
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Các anh ơi giúp em với!!! Em vào màn hình đang nhập đc rồi, tạo nhân vật đc luôn(mừng muốn chết)--->nhưng khi đăng nhập thì nó báo "Sever bị gián đoạn, hãy thử lại" (thử lại gần chục lần rồi đó, tính luôn cả việc restart máy)
Khách viếng thăm hãy cùng theboy159 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
25-06-09, 08:28 AM #149
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Khách viếng thăm hãy cùng hongtu1 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
25-06-09, 08:40 AM #150
Ðề: Trung Tâm Giaỉ Đáp Thắc Mắc Về JX SERVER
Mình sử dụng sever MD, hok bit co cần font hok
Khách viếng thăm hãy cùng theboy159 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
[JX] Trung Tâm Giải Đáp Thắc Mắc Về JX SERVER
Bởi [S]ocola[S]an trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 145Bài viết cuối: 08-03-12, 12:21 PM -
Trung tâm giải đáp thắc mắc về GB Server
Bởi YeuVo_ThuongCon trong diễn đàn Gunbound ServerTrả lời: 64Bài viết cuối: 25-02-12, 10:02 AM -
Server Trung Quốc
Bởi [S]ocola[S]an trong diễn đàn Võ Lâm Truyền Kỳ (Jx Server)Trả lời: 13Bài viết cuối: 22-07-10, 09:10 PM -
Xin server bản tiếng Trung
Bởi viyeumasong trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 3Bài viết cuối: 03-04-10, 04:42 PM