Kết quả 1 đến 10 của 22
-
16-02-14, 10:21 PM #1
- Ngày tham gia
- May 2006
- Đang ở
- Unknow
- Bài viết
- 2,925
- Thanks
- 122
- Thanked 2,109 Times in 650 Posts
Hướng dẫn add 1 khung giao diện mới
Như các bạn đã biết, Game.exe phiên bản hiện tại chỉ load được một số khung giao diện nhất định, để có thể hiển thị được thêm các khung của các tính năng mới như Tu luyện, Bí tịch, Võ hồn,... ta cần có các thao tác khai báo, chỉnh sửa và gọi khung giao diện đó.
Phần này yêu cầu các bạn cần có 1 chút kiến thức về lập trình, cụ thể ở đây sử dụng ngôn ngữ lua, hiểu biết sơ qua về cấu trúc của server và client tlbb
1. Căn bản
Các file giao diện đều nằm trong các folder con của Interface.axp
1 Khung giao diện căn bản gồm 2 file .lua và xml.
File lua có cấu trúc căn bản gồm các hàm:
_PreLoad() --Khai báo các sự kiện được phép nhận trong file
_OnLoad() -- Dạng như cấu hình, khai báo ban đầu của file
_OnEvent(event) --Hàm chờ các sự kiện
Các hàm con...
2. Khai báo khung giao diện
Khai báo để Game.exe load được file giao diện mới trong file InterfaceEx.txt trong Config.axp
Ví dụ:
252 SuperWeaponUp SuperWeaponUp/SuperWeaponUp.layout.xml SuperWeaponUp/SuperWeaponUp.lua 3 0 0 ÉñÆ÷Éý¼¶
253 Xiulian Xiulian\Xiulian.layout.xml Xiulian\Xiulian.lua 2 xljs 19 20 ÐÞÁ¶
3. Chỉnh sửa file giao diện
Quá trình này hơi phức tạp và đòi hỏi bạn cần có kiến thức về lập trình
2 File giao diện là lua và xml thì các bạn chỉ cần quan tâm tới file lua
Vì là file giao diện mới nên có thể trong file sẽ có 1 số hàm mới mà Game.exe không load được, do vậy ta cần tìm các hàm này và bỏ đi
Ví dụ trong file Xiulian.lua (khung tu luyện) có 1 số hàm:-- local level_11 = Player:GetXiuLianMiJiInfo(11,"Level")
--local level_12 = Player:GetXiuLianMiJiInfo(12,"Level")
Có thể gọi từ server hoặc client, khung giao diện dạng như Tu luyện, võ hồn thì sẽ gọi từ client (Từ tab trang bị chuyển qua); khung giao diện đục lỗ, điêu văn thì cần gọi từ server (qua NPC)
Mình ví dụ gọi khung Tu luyện từ khung trang bị:
Các bạn mở file lua của khung trang bị SelfEquip.lua tìm đến hàm XiuLian_Page_Switch() xóa nội dung hàm và thay bằng PushEvent("UI_COMMAND",20111212)
function XiuLian_Page_Switch()
PushEvent("UI_COMMAND",20111212) --Truyền sự kiện UI_COMMAND với tham số 20111212 (số này để bất kỳ miễn không trùng với khung khác)
SelfEquip_SetTabColor(0);
end
P/s: Bạn có thể gọi từ server bằng hàm:BeginUICommand( sceneId )
--UICommand_AddInt( sceneId, Prama) -- Prama: tham số truyền lên client nếu cần
EndUICommand( sceneId )
DispatchUICommand( sceneId, selfId, 20111212)
this:RegisterEvent("UI_COMMAND");--Khai báo sự kiện lệnh của UI, hầu hết các khung đều được khai báo sự kiện này
if ( event == "OPEN_XIULIAN_PAGE" ) then
..........
end
if ... then
...
end
if (event == "UI_COMMAND" and tonumber(arg0) == 20111212) then
if(this:IsVisible()) then
this:Hide();
return;
end
local selfUnionPos = Variable:GetVariable("SelfUnionPos");
if(selfUnionPos ~= nil) then
Xiulian_Frame:SetProperty("UnifiedPosition", selfUnionPos);
end
XIULIAN_BOOK_SELECT = 1;
XIULIAN_MIJI_SELECT = -1;
this:Show();
Xiulian_Update()
Xiulian_SetTabState()
end
Demo:
[Only registered and activated users can see links. ]
Sau khi đã hoàn thành add khung giao diện mới bạn có thể tiến hành phát triển trên nó như tạo tính năng tu luyện, điêu văn, võ hồn,...mới đây hơn là Kinh mạch, Bí tịch
Nếu có thắc mắc xoay quanh các bạn vui lòng hỏi ở dưới.
Chúc các bạn thành công!Khách viếng thăm hãy cùng huuduyen_05 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
The Following 26 Users Say Thank You to huuduyen_05 For This Useful Post:
13giay (16-02-14), 1st.TheKing (18-03-14), abPro (17-02-14), akiem9x (16-02-14), chenglong (17-02-14), commale (22-08-14), dinhdtd (18-05-14), duc2071990 (24-03-14), hoangnhut1 (21-05-15), laemdo0705 (10-04-15),
lamthanhat(18-02-14), LaoDaiPK (13-05-15), legend1250 (09-06-14), lexuanbach (28-02-14), LuxuryAngel (16-02-14), Oack123 (01-08-14), rikudo (17-02-14), ronglam (17-02-14), sac_no (04-05-15), Sói Đẹp Trai (16-02-14), songtu (01-03-14), thmodz (03-03-14), tualua2010 (17-02-14), vanthanh70 (18-02-14), versmore (15-07-14), vuhuy99v (16-02-14)
-
17-02-14, 04:16 PM #2
- Ngày tham gia
- Oct 2010
- Bài viết
- 610
- Thanks
- 196
- Thanked 218 Times in 99 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
Ngoài a huuduyen ra bao nhiêu người đã làm đến cái này rồi nhỉ
Có thời gian thì khai thác bên client đi mấy bạn , cứ quay đi quay lại mấy cái event tự nghĩ trong game thì sẽ không tiến bộ được đâu !Lần sửa cuối bởi rikudo, ngày 17-02-14 lúc 04:20 PM.
Không có gì là không thể
-
Các thành viên gởi lời cảm ơn đến rikudo vì bài viết này !
commale (22-08-14)
-
17-02-14, 05:05 PM #3
- Ngày tham gia
- Apr 2011
- Đang ở
- 地獄
- Bài viết
- 3,991
- Thanks
- 369
- Thanked 4,069 Times in 1,403 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
Bạn có ý kiến thì cứ ý kiến đừng có đánh giá kiểu một chiều như vậy nhé. Ai thích mảng nào người ta sẽ phát triển mảng đó. Không tiến bộ thì đã chẳng ai làm.
Phát triển event là một cái khá là hay. Game không có event thì có được nhiều người chơi không? Tất nhiên bên client đóng vai trò khá quan trọng. Mỗi người có một sở trường nhất định của mình, không thể nào kham hết được tất cả đâu.Lần sửa cuối bởi Sói Đẹp Trai, ngày 17-02-14 lúc 05:07 PM.
Khách viếng thăm hãy cùng Sói Đẹp Trai 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 Sói Đẹp Trai vì bài viết này !
thmodz (03-03-14)
-
17-02-14, 06:54 PM #4
- Ngày tham gia
- Jul 2010
- Bài viết
- 620
- Thanks
- 215
- Thanked 281 Times in 126 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
1/Song tiện cho em hỏi, khi mình mún học 1 cuốn bảo điển như trong hình thì mình phải click chuột vào nó và chọn chữ học, song em chỉ làm đc double click để học,anh có thể chỉ giúp phần còn lại đc ko!??
[Only registered and activated users can see links. ]
2/Cho em xin hàm lấy giới tính của nhân vật trong client(em đã thử sử dụng hàm Player:GetMySex() nhưng không thnh công!??)Khách viếng thăm hãy cùng vuhuy99v xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
17-02-14, 07:28 PM #5
- Ngày tham gia
- May 2006
- Đang ở
- Unknow
- Bài viết
- 2,925
- Thanks
- 122
- Thanked 2,109 Times in 650 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
1- Bạn gửi khung của bạn lên để mình xem sai chỗ nào nhé.
2- Thửlocal pSex = Player:GetData("SEX")Khách viếng thăm hãy cùng huuduyen_05 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
-
17-02-14, 07:36 PM #6
- Ngày tham gia
- Jul 2010
- Bài viết
- 620
- Thanks
- 215
- Thanked 281 Times in 126 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
1/nãy em mới coi lại, lúc em code em wen để cái local xiulian_liliang = Get_XParam_INT(1); này ngay trong cho click để chọn nên nó sai!^^"
if XIULIAN_MIJI_SELECT == 1 then
local xiulian_liliang = Get_XParam_INT(1);
Clear_XSCRIPT();
Set_XSCRIPT_Function_Name("XiulianStudy_CL");
Set_XSCRIPT_ScriptID(390101);
Set_XSCRIPT_Parameter(0,tonumber(g_ServerNpcId));
Set_XSCRIPT_Parameter(1,xiulian_liliang);
Set_XSCRIPT_ParamCount(3);
Send_XSCRIPT();
XiulianStudy_Update()
còn chân nguyên có ý tưởng ít ít định code thử^^Khách viếng thăm hãy cùng vuhuy99v xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
17-02-14, 09:38 PM #7
- Ngày tham gia
- May 2006
- Đang ở
- Unknow
- Bài viết
- 2,925
- Thanks
- 122
- Thanked 2,109 Times in 650 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
à, nhắc mới nhớ. ko có hàm get giới tính ở client. Cái khung này mình cần lấy biến trả về từ server.
Khách viếng thăm hãy cùng huuduyen_05 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
-
01-03-14, 07:24 PM #8
- Ngày tham gia
- Feb 2014
- Đang ở
- Còn lâu mới nói
- Bài viết
- 625
- Thanks
- 83
- Thanked 241 Times in 181 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
Thắc mắc về khung giao diện điêu văn 1 chút!! khi mình nhấn chuột vào món đồ thì sao nó ko chui vào ô mà lại bị mặc lên người mất nhi?? ai có cao kiến xin chỉ giáo !!
Khách viếng thăm hãy cùng songtu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
03-03-14, 09:30 PM #9
- Ngày tham gia
- Nov 2007
- Đang ở
- Hà Nội
- Bài viết
- 312
- Thanks
- 96
- Thanked 89 Times in 79 Posts
Ðề: Hướng dẫn add 1 khung giao diện mới
Khách viếng thăm hãy cùng ronglam xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
-
03-05-14, 07:59 PM #10
- Ngày tham gia
- Apr 2011
- Bài viết
- 20
- Thanks
- 11
- Thanked 1 Time in 1 Post
Ðề: Hướng dẫn add 1 khung giao diện mới
Mình cũng gặp vấn đề khi add khung giao diện điêu văn vào, khi ấn chuột vào món đồ thì nó mặc lên người. Với lại, trong mấy code client thì mình cũng không thấy đoạn nào thực hiện việc này cả, có pro nào giúp mình với
Khách viếng thăm hãy cùng eddie1412 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!
Các Chủ đề tương tự
-
[MU] ai giúp mình về khung chát với
Bởi Darkku trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 27-08-13, 10:43 AM -
[MU] Hiện kết quả từ 1 tới 1 của 1 Mất khung Màu chữ,Cỡ chữ,Font chữ khung soạn thảo
Bởi YouTobe trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 0Bài viết cuối: 04-12-12, 04:06 PM -
[JX] Cần giúp về việc để vật phẩm ở khung phím tắt
Bởi assaa trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 3Bài viết cuối: 26-08-12, 11:51 PM -
[JX] Làm sao viết chữ vào khung nhắc nhở
Bởi nhoxmap_b7 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 12Bài viết cuối: 20-08-12, 11:01 AM -
Chỉnh server không giao dịch, có giao dịch.
Bởi ngoctak546 trong diễn đàn Hỏi Đáp/ Yêu CầuTrả lời: 1Bài viết cuối: 20-08-11, 05:19 PM