PDA

View Full Version : [TLBB] Gợi ý cách mod hàm chức năng giống EquipLevelUp



Sói Đẹp Trai
22-08-14, 10:51 PM
Với tư tưởng của mình là từ giờ sẽ chỉ hướng dẫn và để mọi người tự suy nghĩ và làm, nên từ giờ không share cái gì có sẵn nữa (nói thế khỏi xin cho mệt) mà thay vào đó là các tool hướng dẫn.
Ở bài viết này mình sẽ hướng dẫn mod hàm chức năng gần giống EquipLevelUp, dùng cho chức năng thăng cấp sao của Long Văn. Hoặc bạn nào dùng điêu văn theo cách thay ID thì chú ý cái này đỡ khỏi EquipLevelUp nhiều lần nó lâu.
Tư tưởng giải thuật: Cốt lõi là xóa item cũ và thay bằng item mới.
Nội dung giải thuật:
Với item cũ, ta cần biết các thông số sau:
- Tên tác giả (áp dụng với đồ chế). Ta có hàm LuaFnGetItemCreator(sceneId,selfId,Equip_Bag_Pos)
- Điểm cường hóa (Cái này không có hàm nào get mà phải tự nghĩ cách để tính lấy nó). File hàm mẫu tại event/equip/equipenchance.lua
- Khắc danh. File hàm mẫu tại event/equip/equipbind.lua
- Cố định hay không. Có hàm LuaFnItemIsBind(sceneId,selfId,ID_Bag_Pos)
- Đã giám định tư chất hay chưa. File hàm mẫu tại event/equip/judge_aptitude.lua
- Đục bao nhiêu lỗ, các viên ngọc tương ứng ID bao nhiêu. File hàm mẫu tại event/liveabilityevent/gem_embed.lua
- Số lần sửa chữa, độ bền (không nên cho cái này vào). File hàm mẫu tại event/equip/equip_failetimes.lua
Do tư tưởng là xóa item cũ và thay bằng item mới nên ta cần lưu các thông số trên với item cũ lại trước và set lại các thông số đó cho item mới.


function OnEquipChange(sceneId,selfId,Equip_Bag_Pos)

...

end

Lưu ý hàm trên chỉ có tác dụng với các thứ trên còn các thông số có sẵn như chỉ số cường lực, nội lực,... do itemsegvalue quy định thì không có cách gì giữ nguyên. Nếu xác định giữ nguyên thì dùng hàm EquipLevelUp có sẵn. Nhưng với Long Văn thì dùng hàm đó số sao sẽ không thay đổi, chỉ thay đổi ID và các thuộc tính cơ bản, giám định (nếu đã khai báo ở equipbase với ID tương ứng)
Chú thích bạn nào gọi khung giao diện đến Client và trả thông tin về từ Client thì bạn cần chú ý cái ô để item cũ, item mới phải đặt đúng vào ô đó khi xóa item cũ đi rồi (Thế mới là mod chuẩn), cái này tự nghĩ nhé. Dễ thôi không khó lắm đâu.
Chốt lại: Cái trên là ý tưởng mà với coder thì ý tưởng là quá đủ rồi. Ai nhanh có thể code rất dễ, mình đã gợi ý chi tiết các hàm mẫu nó nằm chỗ nào rồi thì mọi việc còn đơn giản hơn.

Ai thấy hay thì thanks, biết làm nhưng còn vướng chỗ nào đó thì post bên dưới còn không code được thì đọc tham khảo thôi hoặc không cần đọc vì đọc cũng không hiểu.
Với mình thì giờ tìm hiểu lua bên Client nó hay hơn lua bên Server và mấy Event quá nhàm chán.

commale
22-08-14, 11:05 PM
hiện tại mấy cái này em cũng hiểu kha khá
chỉ đang mắc kệt ở chỗ long văn mấy dòng thuộc tính mở rộng nó chỉ số thật và thay đổi kéo clien
thử mấy cách nhưng thất bại 8-x

Sói Đẹp Trai
23-08-14, 12:30 AM
hiện tại mấy cái này em cũng hiểu kha khá
chỉ đang mắc kệt ở chỗ long văn mấy dòng thuộc tính mở rộng nó chỉ số thật và thay đổi kéo clien
thử mấy cách nhưng thất bại 8-x
Cách đó không khó đâu. Gợi ý là dùng XSCRIPT trả về Server để thao tác nhé