[TLBB] Xin giúp đỡ về add item vào khung giao diện client
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 14
  1. #1
    Thành Viên
    Ngày tham gia
    Feb 2013
    Bài viết
    45
    Thanks
    3
    Thanked 5 Times in 4 Posts

    Xin giúp đỡ về add item vào khung giao diện client

    Như tiêu đề của mình!

    Mình đã gọi được khung giao diện ở client hiện ra rồi.

    [Only registered and activated users can see links. ]

    Nhưng không add được bất kỳ item nào vào khung giao diện này cả, click chuột phải vào item không được, kéo item vào khung cũng không được và cũng không có thông báo gì!
    link file khung giao diện: [Only registered and activated users can see links. ]

    có ai biết xin được chỉ giáo.
    Khách viếng thăm hãy cùng nvanh2611 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    Feb 2013
    Bài viết
    45
    Thanks
    3
    Thanked 5 Times in 4 Posts

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Có vẻ không có ai đào sâu về code trên client ngoài Hữu Duyên.

    nhưng cũng không thấy Hữu Duyên cho 1 cái gợi ý nhỉ?

    Cho mình xin Quy trình thực hiện giữa client và server - khai báo - hàm - hay câu lệnh gì đó cũng được.

    Đã dùng các bảng tương tự đổi tên các hàm ở file lua và xml add vào vẫn hiện được bảng nhưng vẫn bị lỗi.
    Khách viếng thăm hãy cùng nvanh2611 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Because I'm Stupid makute7413's Avatar
    Ngày tham gia
    Jan 2014
    Đang ở
    LA
    Bài viết
    1,232
    Thanks
    286
    Thanked 1,099 Times in 474 Posts

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Chắc bạn đang tìm cái này nhỉ, thấy nó nằm trong topic [Only registered and activated users can see links. ]

    Một điều cuối cùng khá quan trọng chính là thao tác kết nối giữa SV với Client và ngược lại, giải thích nguyên lý hoạt động của file Lua bên Client.
    1. UI_COMMAND và XScript
    Đây chính là công cụ kết nối Server và Client.
    Muốn truyền dữ liệu từ Server lên, ta dùng UI_COMMAND theo cấu trúc
    Code:
    
    BeginUICommand(sceneId)
    	UICommand_AddInt(sceneId,GetMissionData(sceneId,selfId,y)
    	UICommand_AddString(sceneId,GetMissionData(sceneId,selfId,z)
    EndUICommand(sceneId)
    DispatchUICommand(sceneId,selfId,x)
    
    Truyền UI_COMMAND với số đại diện là x lên Client và truyền các biến tương ứng lên Client, y kiểu nguyên và z kiểu chuỗi. Các bạn có thể thay đổi tùy mục đích, tối đa là 15 biến truyền từ sv lên thôi nhé.
    Cái x kia đặt bất kỳ kiểu nguyên miễn không trùng với UI_COMMAND khác.
    Tại client ta check UI_COMMAND như sau:
    Xét hàm PreLoad, ta sẽ khai báo thêm 1 dòng sử dụng chức năng UI_COMMAND cho nó như sau:
    Code:
    this:RegisterEvent("UI_COMMAND")
    Thế là ok rồi. Giờ ta sẽ get giá trị được truyền từ Server lên như sau:
    Xét hàm OnEvent
    , ta sẽ kiểm tra như sau
    Code:
    
    if event == "UI_COMMAND" and tonumber(arg0) == x then
    	local z=Get_XParam_INT(0)
    	local y=Get_XParam_String(1)
    end
    
    Thì biến z này chính là biến kiểu nguyên mà sv truyền lên và y là biến kiểu chuỗi. SV truyền lên các biến đánh số từ 0 nhé. Và UI_COMMAND này nhận dạng nó là số x
    Ngoài ra bạn cũng có thể truyền UI_COMMAND từ file Lua khác bên Client qua bằng cấu trúc
    Code:
    PushEvent("UI_COMMAND",x,Danh_sách_các_tham_biến_cần_truyền)
    Với x cũng là giá trị nguyên bất kỳ đúng với cái UI_COMMAND trỏ tới. Và các biến truyền sang là dạng chuỗi đánh số từ arg1 trở lên (vì arg0 là cái x kia rồi). Cái arg1 trở lên ko cần khai báo nhé nó mặc định được định nghĩa rồi. Và lấy giá trị bạn chỉ cần lấy 1 biến = cái arg1 này là xong.

    Vậy là xong việc truyền dữ liệu từ SV lên, bây giờ ta quan tâm truyền dữ liệu từ Client về Sv nhé.
    Đó chính là cái XScript. Cấu trúc như sau
    Code:
    
    Clear_XSCRIPT();
    	Set_XSCRIPT_Function_Name("Tên_hàm_thao_tác_tại_SV")
    	Set_XSCRIPT_ScriptID(ID_Script_thao_tác)
    	Set_XSCRIPT_Parameter(0,x)
    	Set_XSCRIPT_Parameter(1,y)
    	...
    	Set_XSCRIPT_Parameter(n,z)
    	Set_XSCRIPT_ParamCount(n+1)
    Send_XSCRIPT()
    
    Nó sẽ gửi các tham biến trên về cái hàm được khai báo trong Server. Các tham biến đó sẽ đứng sau sceneId và selfId.
    Tùy mục đích bạn sử dụng nó như thế nào.
    Một chú ý là cái hàm kia bạn phải khai báo nó trong tlbb/Server/Config/AllowableScriptFunc.txt nếu không nó sẽ diss ngay. Cái này đơn giản để chống hack thôi mà.

    Chú ý cuối cùng là UI_COMMAND khi gọi từ SV lên nếu gọi nhiều cái cùng lúc thì nó chỉ thực hiện cái UI_COMMAND cuối cùng thôi nhé. Mình cũng không hiểu vì sao. Còn XScript thì bạn truyền vô tư nhiều cái 1 lúc không sao.
    Và trong code hạn chế việc chuyển dữ liệu qua lại sv và client nhé nó đỡ lag SV hơn.

    Với các thứ trên bạn hoàn toàn fake được vài thứ rồi đấy.
    2. XML và Lua trong Interface
    Nếu bạn học qua lập trình Java thì bạn sẽ hiểu vai trò của xml file. Nó để dựng khung giao diện và bắt các sự kiện khi người dùng thao tác vào đâu đó. Nói cái này để bạn hiểu mấy cái hàm trong Lua tại Client ấy để khi edit bị lỗi còn xem lại.
    Ngoài ra để khai báo 1 file Lua nào bên Client ta khai báo trong file InterfaceEx.txt trong Config.axp. Bạn cũng nên biết qua về xml thì bạn sẽ rõ hoạt động của file Lua tại Interface. Thông thường khi copy file từ đâu đó vào ví dụ của FPT qua bị lỗi thì ngoài Lua file bạn cũng nên để ý cái xml này.
    Trên đây là tất cả những gì sơ đẳng nhất liên quan đến Client, ngoài ra có vài hàm đặc biệt thì bạn phải hiểu xml và thực hành nhiều nhé. Để làm đc cái khung dễ nhất như cái tu luyện thì bạn cũng cần biết nhiều và đến đây bạn cũng khá pro rồi đó nhe
    Khách viếng thăm hãy cùng makute7413 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    Thành Viên songtu's Avatar
    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

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    mình nhớ là đã trả lời một câu hỏi tương tự thế này rồi, muốn item hiển thị lên đc khung thì phải xem cả script trong Packet.lua, để bắt sự kiện click vào item trong túi đồ , rồi gửi đến khung mình cần nó hiển thị...!! Chịu khó đọc lại topic cũ , cũng nhiều cái hay đó !!
    Thân!!
    Khách viếng thăm hãy cùng songtu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. Các thành viên gởi lời cảm ơn đến songtu vì bài viết này !

    nvanh2611 (08-05-15)

  6. #5
    Thành Viên
    Ngày tham gia
    Oct 2008
    Bài viết
    456
    Thanks
    58
    Thanked 114 Times in 96 Posts

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Nếu bạn học qua lập trình Java thì bạn sẽ hiểu vai trò của xml file


    Cái này cần nói cho chính xác, hầu như tất cả ngôn ngữ lập trình đều có thể xử lý được file XML, cho nên không nên kéo Java vô đây làm gì.
    Khách viếng thăm hãy cùng vocweb xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #6
    Thành Viên
    Ngày tham gia
    Feb 2013
    Bài viết
    45
    Thanks
    3
    Thanked 5 Times in 4 Posts

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Trích dẫn Gửi bởi songtu [Only registered and activated users can see links. ]
    mình nhớ là đã trả lời một câu hỏi tương tự thế này rồi, muốn item hiển thị lên đc khung thì phải xem cả script trong Packet.lua, để bắt sự kiện click vào item trong túi đồ , rồi gửi đến khung mình cần nó hiển thị...!! Chịu khó đọc lại topic cũ , cũng nhiều cái hay đó !!
    Thân!!
    Mình cũng đã lục lọi lại rồi! giờ mới biết packet.lua này ảnh hưởng tới việc đó! để mình tìm hiểu xem.
    Trước mình chỉ chăm chăm đào sâu vào khung mình muốn add mà không để ý đến cái túi đồ này.
    Cảm ơn bạn nhé!
    Khách viếng thăm hãy cùng nvanh2611 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #7
    Thành Viên
    Ngày tham gia
    Feb 2013
    Bài viết
    45
    Thanks
    3
    Thanked 5 Times in 4 Posts

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Đã tìm hiểu để add được item vào khung giao diện mới tự viết phức tạp hơn nhiều, không đơn giản 1 chút nào

    Mỗi ô của Khung giao diện client (file XML) đều có 1 giá trị để có thể accept khi click chuột phải vào item ở tay nải.
    <Property Name="DragAcceptName" Value="xxxxx"/>

    Đào sâu vẫn trở về con số 0. Ai đã từng tự viết khung giao diện mới hoạt động tốt rồi xin được chỉ giáo!
    Khách viếng thăm hãy cùng nvanh2611 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #8
    Thành Viên songtu's Avatar
    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

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    nhấn thanks đi :, nó đơn giản là trong .lua thôi, ko liên quan cho lắm cái thằng packet.xml!!
    Khách viếng thăm hãy cùng songtu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #9
    Thành Viên
    Ngày tham gia
    Feb 2013
    Bài viết
    45
    Thanks
    3
    Thanked 5 Times in 4 Posts

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Trích dẫn Gửi bởi songtu [Only registered and activated users can see links. ]
    nhấn thanks đi :, nó đơn giản là trong .lua thôi, ko liên quan cho lắm cái thằng packet.xml!!
    songtu: 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 !!

    Mình có tìm được thắc mắc của bạn trong "Ðề: Hướng dẫn add 1 khung giao diện mới".

    Cái này bạn làm được rồi à? tình trạng của mình cũng giống như bạn đã từng thắc mắc, nó đơn giản là trong packet.lua thôi đúng ko bạn?
    Khách viếng thăm hãy cùng nvanh2611 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  11. #10
    Thành Viên songtu's Avatar
    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

    Ðề: Xin giúp đỡ về add item vào khung giao diện client

    Trích dẫn Gửi bởi nvanh2611 [Only registered and activated users can see links. ]
    songtu: 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 !!

    Mình có tìm được thắc mắc của bạn trong "Ðề: Hướng dẫn add 1 khung giao diện mới".

    Cái này bạn làm được rồi à? tình trạng của mình cũng giống như bạn đã từng thắc mắc, nó đơn giản là trong packet.lua thôi đúng ko bạn?
    đơn giản là trong ý thôi, xử lý phải đồng bộ cả ở trong packet và trong cái khung mình cần nó hiện lên nữa!! chỉ trong đấy thôi, ko đâu cả !!! good luck !!
    Khách viếng thăm hãy cùng songtu xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

Các Chủ đề tương tự

  1. [TLBB] Hướng dẫn add 1 khung giao diện mới
    Bởi huuduyen_05 trong diễn đàn Releases
    Trả lời: 21
    Bài viết cuối: 30-04-15, 08:30 PM
  2. [TLBB] cần người mở rộng khung giao diện
    Bởi skythienlong trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 2
    Bài viết cuối: 30-04-15, 04:05 PM
  3. [TLBB] Hỏi cách chỉnh giao diện, tăng kích cỡ khung lúc vào game
    Bởi trungduy1134 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 19
    Bài viết cuối: 21-05-14, 08:23 PM
  4. [KT] Lỗi Không Nhìn Thấy Khung Tên Item
    Bởi anhnhianh trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 1
    Bài viết cuối: 25-03-14, 12:06 PM
  5. Một số Item bị lệch khung thùng đồ
    Bởi vothailam trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 8
    Bài viết cuối: 04-10-10, 10:19 PM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 04:14 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.