Hôm nay tớ sẽ giải thích làm thế nào để sử dụng Grimex Object Merger, một công cụ rất hữu ích. Object Merger là một trình cắm của JassNewgen ngoài ra nó còn có thể giúp tạo hoặc di chuyển dữ liệu trong Object của một bản đồ. Di chuyển dữ liệu đối tượng từ bản đồ này sang bản đồ kia. và có ích trong những trường hợp rất cụ thể. Tớ sẽ tập trung vào việc tạo ra các dữ liệu đối tượng mới, thay thế. Tạo dữ liệu đối tượng mới với ObjectMerger được thực hiện với một dòng lệnh. Để chạy một lệnh ObjectMerger hiện tại, lưu các bản đồ. Thoát khỏi bản đồ. Mở bản đồ. Dữ liệu mới của bạn sẽ được ở đó. Những gì đơn giản có thể làm. ví dụ cậu làm một spell pack bao gồm 4 kỹ năng. cậu có thể sử dụng Object Merger để thực điều đó tạo ra 4 kỹ năng theo rawcode chính tay cậu điều chỉnh Hướng dẫn này sẽ dạy cho cậu những cấu trúc cơ bản của một lệnh ObjectMerger để tạo ra các dữ liệu đối tượng mới. Yêu cầu Jassnewgen Grimex (Đi kèm với NewGen) Cậu nhập vào một lệnh Object Merger vào một trigger code jass hoặc trong một Custom Sciprt: Mã: [COLOR=#808080] //! external ObjectMerger [/COLOR] //! là cho phép jasshelper biết rằng dòng lệnh đó để thực hiện. w3u units w3t items w3b destructables w3d doodads w3a abilities w3h buffs w3q upgrades đây là danh sách loại Object mình cần tạo ra. ví dụ: tớ muốn thực hiện 1 ability tớ sẽ ghi là. mã này đã chỉ định rằng nó sẽ tạo Object theo phần kỹ năng. Mã: [COLOR=#808080] //! external ObjectMerger [B]w3a[/B] [/COLOR] tất nhiên! nó sẽ yêu cầu một rawcode gốc hoặc gọi là Base On tớ sẽ base từ kỹ năng Storm Bolt với rawcode mặc định nó là AHtb trong khi đó tớ sẽ đặt rawcode base từ AHtb sẽ là A000 Mã: [COLOR=#808080] //! external ObjectMerger w3a [B]AHtb[/B] [B]A000[/B] [/COLOR] như thế này chúng ta đã hoàn thành phần Object Merger. nhưng đừng vội vàng. những gì mình tạo ra cần phải chỉnh sửa thông số của nó theo đúng ý của mình. các cậu sử dụng jassnewgen sẽ để ý có một phần (##) đó là id của thông số đó trong Object Merger những phần xanh là đại biểu thông số real/integer/string phần màu xám thông số code ObjectMerger Ability Mã: [COLOR=#808080] //! external ObjectMerger w3a [B]AHtb[/B] [B]A000[/B] anam [/COLOR][COLOR=#0000cd]"Bolt"[/COLOR][COLOR=#808080] aret [/COLOR][COLOR=#0000cd]"Learn Bolt - [|cffffcc00Level %d|r]"[/COLOR][COLOR=#808080] arut [/COLOR][COLOR=#0000cd]"info"[/COLOR][COLOR=#808080] aub1 1 [/COLOR][COLOR=#0000cd]"info 1 "[/COLOR][COLOR=#808080] aub1 2[/COLOR][COLOR=#0000cd] "info 2 "[/COLOR][COLOR=#808080] aub1 3 [/COLOR][COLOR=#0000cd]"info 3 "[/COLOR][COLOR=#808080] aub1 4 [/COLOR][COLOR=#0000cd]"info 4 "[/COLOR][COLOR=#808080] alev 4 amcs 1 [/COLOR][COLOR=#0000cd]75[/COLOR][COLOR=#808080] amcs 2 [/COLOR][COLOR=#0000cd]85[/COLOR][COLOR=#808080] amcs 3 [/COLOR][COLOR=#0000cd]95[/COLOR][COLOR=#808080] amcs 4 [/COLOR][COLOR=#0000cd]105[/COLOR][COLOR=#808080] acdn 1 [/COLOR][COLOR=#0000cd]2[/COLOR][COLOR=#808080] acdn 2 [/COLOR][COLOR=#0000cd]3[/COLOR][COLOR=#808080] acdn 3 [/COLOR][COLOR=#0000cd]4[/COLOR][COLOR=#808080] acdn 4 [/COLOR][COLOR=#0000cd]5[/COLOR][COLOR=#808080] Htb1 1 [/COLOR][COLOR=#0000cd]100 [/COLOR][COLOR=#808080]Htb1 2[/COLOR][COLOR=#0000cd] 125[/COLOR][COLOR=#808080] Htb1 3 [/COLOR][COLOR=#0000cd]150[/COLOR][COLOR=#808080] Htb1 4 [/COLOR][COLOR=#0000cd]175[/COLOR][COLOR=#808080] aher 1 abuf 1 [/COLOR][COLOR=#0000cd]B000[/COLOR][COLOR=#808080] abuf 2 [/COLOR][COLOR=#0000cd]B000[/COLOR][COLOR=#808080] abuf 3[/COLOR][COLOR=#0000cd] B000[/COLOR][COLOR=#808080] abuf 4 [/COLOR][COLOR=#0000cd]B000[/COLOR][COLOR=#808080] atar 1 [/COLOR][COLOR=#0000cd]air[/COLOR][COLOR=#808080] atar 2 [/COLOR][COLOR=#0000cd]air,ground[/COLOR][COLOR=#808080] atar 3 [/COLOR][COLOR=#0000cd]air,ground,debris[/COLOR][COLOR=#808080] atar 4 [/COLOR][COLOR=#0000cd]air,ground,debris,enemy,neutral,organic aart[/COLOR][COLOR=#808080] "[/COLOR][COLOR=#0000ff]ReplaceableTextures\CommandButtons\BTNDivineIntervention.blp[/COLOR][COLOR=#808080]"[/COLOR] Mã: [COLOR=#a9a9a9]//! external ObjectMerger w3h [B]BSTN B000[/B] ftip [/COLOR][COLOR=#0000ff]"Bolt Buff"[/COLOR][COLOR=#a9a9a9] fart [/COLOR][COLOR=#0000ff]"ReplaceableTextures\CommandButtons\BTNDivineIntervention.blp"[/COLOR][COLOR=#a9a9a9][COLOR=#0000ff] [/COLOR][/COLOR] anam << một thông số chỉ định tên kỹ năng đa số các object kỹ năng đều là anam , tên bằng string cần ghi bằng "ghi vào đây ". ngoài ra các Real/Integer mình sẽ không cần thêm "" ví dụ anam"Name" alev 4 . nhớ rằng nếu các thông số có level phần 1 phần 2 mình sẽ đặt thông số đó bằng cách <type> <level> <real> ví dụ tớ muốn thay đổi damage của Storm Bolt lv 3 bằng 200 damage tớ sẽ ghi là Htb1 1 200.00 Chú ý: khi 1 bản đồ chứa code đó mình save xong nó sẽ hoạt động trong phần jasshelper nhưng sẽ không hoạt động nếu jasshelper đang trong giai đoạn disable. và khi đó đã save xong thì mình sẽ không thấy ability vừa được tạo cần phải tắt WE mở lại mới thấy kết quả, và nếu rawcode có sẵn trong bản đồ bị trùng với rawcode do ObjectMerger tạo thì sẽ gây lên tình trạng ghi đè raw mới vào raw cũ. mình có thể disable mã Object Merger đó bằng cách disable trigger hoặc chưa disable Mã: [COLOR=#0000ff][COLOR=#A9A9A9]//! external ObjectMerger[/COLOR] [/COLOR] đã disable Mã: [COLOR=#0000ff][COLOR=#008000]////! external ObjectMerger[/COLOR] [/COLOR] demo
post nhanh quá hok để ý title mong anh thông cảm :P P/S: nếu được anh tom rename dùm em là Hướng dẫn sử dụng Object Merger
Cậu nên bớt nóng vội 1 chút và nhớ tìm hiểu kĩ trước khi làm tut để tránh sai lệch về kiến thức Đúng đây là ObjectMerge là trình cắm (plugin, từ này thông dụng, dễ hiểu và chuẩn hơn trình cắm) của JNG(JassNewGen) nhưng mà cái cậu dạy là dùng tool đó = code thông qua external tool của jasshelper Có nghĩa là nếu ko có jasshelper thì ko có chạy được cái cậu hướng dẫn. Bonus thêm cho bài tut của cậu Cách dùng ObjectMerge tool = JNG Bước 1:Tìm đến Menu item Extensions -> Merge Object Editor Data Bước 2: Chọn các file có 1 trong các đuôi sau: *.w3u units *.w3t items *.w3b destructables *.w3d doodads *.w3a abilities *.w3h buffs *.w3q upgrades Bước 3: Nhấn Open và map sẽ tự động save Bước 4: Tắt World Editor đi rồi mở lại để thấy sự thay đổi Note: Luật khi merge với tool này - Object sẽ được thêm vào bằng cách raw id xác định - Nếu Raw id trùng thì các thông số của object đó sẽ bị ghi đè bằng cái mới !!! <<< lưu ý cái này - Muốn chỉnh thông số khi dùng tool này với code "//! external " thì phải biết tên của thông số đó trong object editor Nhìn vào bên phải tên của thông số trong Object Hoàn toàn tương tự cho Merge Trigger Data và Merge Constants Data