D2char.mpq File dữ liệu: chứa hình ảnh chuyển động của các nhân vật chúng tôi File dữ liệu: hiệu ứng âm thanh, hình ảnh chuyển động của bản Exp chúng tôi Logo & nhạc nền chúng tôi Giọng thoại của char & NPC chúng tôi Giọng thoại của NPC ở bản Expansion chúng tôi Hiệu ứng âm thanh D2xmusic File âm thanh của bản Expansion chúng tôi Movie của bản Expansion Patch_D2.mpq Các thay đổi của các bản patch chúng tôi Những thứ còn lại ^^
2. What’s inside MPQ Pack Files Định dạng .mpq thực ra là một kiểu nén file của Billzard. Các định khác được Billzard sử dụng trong pack MPQ này là:
.txt 1. File cơ sở dữ liệu 2. Comments .bin Dạng complied của file cơ sở dữ liệu dùng khi game hoạt động .cof Kiểm soát các file hình ảnh chuyển động .dc6 Ảnh nền .dcc Ảnh chuyển động của char, mob, vv… .ds1 Map files; dữ liệu về map, mobs trong map .dt1 Thể hiện hình ảnh của maps: sàn, cửa, tường, vv… .tbl Chứa thông tin text hiển thị trong game .wav ^^ .dat Dùng để chuyễn mã file .dc6 & .dcc
Nếu chỉ thực hiện các mod đơn giản bạn chỉ cần chú ý đến file chúng tôi & Patch_D2.mpq. Còn các định dạng cần nhớ là .dc6, .txt .tbl & tất nhiên là .mpq nữa.
II. Modding Tools Để mod được thì bạn nhất thiết phải có các tools sau:1. Với định dạng .MPQ MPQ Datafile: Diablo 2 LoD v1.10 – Giúp MPQ Viewer nhận các file nén trong Patch_D2.mpq của bản Diablo 2 LoD v1.10. MPQ Datafile: Diablo 2 LoD v1.11 – Giúp MPQ Viewer nhận các file nén trong Patch_D2.mpq của bản Diablo 2 LoD v1.11. Có lẽ chỉ cần download Data file này là được. MPQ View v1.1b WinMPQ 1.64 MPQ Viewer & WinMPQ dùng để extract các file nén trong pack .MPQ. Thoạt nhìn thì có vẻ WinMPQ pro hơn MPQ Viewer ( nhiều chức năng hơn & giao diện cũng user friendly hơn ) nhưng không hiểu sao tui vẫn thích dùng MPQ Viewer hơn ^^. MPQ 2K v2 Compact – Compact 1 Pack thành file .MPQ.
2. Với định dạng .TXT Microsoft Excel – thật đó ^^ Hoặc có thể dùng tool riêng của D2 là D2excel , link bạn tự tìm ở phần cuối mục Modding Tools này.
3. Với định dạng .DC6 DC6 Creator 1.02 – Review, Extract & Compact .DC6 Files. Nếu không có định tạo hình ảnh mới, thay đổi ảnh nền, ảnh item thì không cần tool này đâu.
4. Với định dạng .TBL Darkstorm’s Diablo 2 Table Editor v1.02 – Xem và sửa file .tbl
Pro nào thích tìm hiểu sâu thì vào link này đào thêm: Mod Making Tools
III. Exercise – Làm cái ví dụ là hiểu ngay ý mà
Exercise 1. Chính sửa thông số của vũ khí Nếu bạn muốn có 1 short sword với dmg của nó là 100 – 100 thì nhào dzô thực hiện bài tập này.
1.1. File cần chỉnh sửa Duy nhất file chúng tôi trong Patch_D2.mpq
Chỉnh sửa thông số Armor thì bạn mở file chúng tôi cách làm tương tự. Exercise 2. Tạo một item unique mới Có thể bạn cho rằng cái này thì cần gì, xài mấy cái tool là ra ngay nhưng xin thưa bạn có thể tạo được 1 item unique có tên của bạn không? Đơn giản như: Moon Grand Matron Bow – đố dùng tool mà có chữ Moon đấy ^^. Tôi sẽ tạo 1 item mới có tên là Gungnir Spear và unique của nó Lord Odin.
2.1 Các files cần thiết chúng tôi chúng tôi 1 file .tbl bất kỳ. Hehe 3 files này đều nằm cả trong file Patch_D2.mpq2.2 Các bước tiến hành: – Dùng chúng tôi mở file Patch_D2.mpq & tìm 3 files đã chỉ định ở trên, dataglobalexcelweapons.txt, dataglobalexceluniqueitems.txt & datalocalLNGENGpatchstring.tbl. Đánh dấu, chọn Save từng file và save chúng ở Desktop cho tiện. Chú ý là với .tbl bạn có thể dùng bất cứ file .tbl nào cũng được. – Thêm một điểm quan trọng nữa là khi chỉnh sửa bất kỳ file nào bạn cũng đều phải bắt đầu ở dòng cuối cùng của file đó.
a. Chỉnh sửa chúng tôi – Gungir Spear – Dùng Microsoft Excel mở file chúng tôi . – Đầu tiên tôi tạo cây Gungnir Spear, bạn vào chúng tôi kéo xuống dưới cùng. Tôi sẽ lần lượt giải thích cho bạn ý nghĩa của từng cột. Để đơn giản hơn tôi sẽ tạo cây Gungnir này dựa trên cây Marchial Javelin. Copy dòng 308 xuống dòng 309. Những cột nào tôi không chỉnh sửa thì sẽ dùng giá trị của cây Javelin.
A – name: Chỉ dùng để tham chiếu, ghi chú. Tôi sửa lại thành Gungnir Spear
B- type: Mã cơ bản đầu tiên của item, mã này bạn có thể tìm ở file chúng tôi – cũng nằm trong file patch_D2.mpq. Ở đây tôi đã có sẵn mã là ajav. Trừ khi bạn muốn tạo hẳn 1 loại item mới, VD rocket (^^) thì bạn phải chỉnh sửa thêm rất nhiều thứ: ảnh của nó, ảnh khi char sử dụng, vv… và khá là phức tạp đấy
C – type2: mã cơ bản thứ 2 của item – tìm trong chúng tôi Như bạn thấy rất ít item có mã này, tôi cũng để trống cột này
D – code: Mã này gồm 3 ký tự hoặc số, nhất thiết phải là duy nhất và chưa được sử dụng, ở VD của tôi đơn giản tôi dùng mã amg
E – alternategfx: mã xác định file .dcc nào sẽ được dùng để hiển thị hình ảnh chuyển động của nhân vật cùng item. Bắt chước Billzard tôi giữ nguyên là pil :p
G – version: 0=Classic D2, 100=Expansion. Dĩ nhiên là 100 rồi
H – compactsave: 1= sử dụng compactsave 0=không sử dụng compactsave. Mã này dùng để xem xét liệu có dùng compact save để thu nhỏ kích thước file .d2s hay không. Chỉ dùng cho những item như: HP pot, MP pot – item không có quality, dmg, def. Để trống cột này
I – rarity: Không hiểu mục này lắm ^^, đơn giản là khả năng drop, tốt nhất là học theo Billzard: 3
J – spawnable: 1=có thể được bán trong shop, 0=không bao giờ có trong shop
K – mindam: Min dmg của vũ khí 1 tay. Tôi chọn 48
L – maxdam: Max dmg của vũ khí 1 tay. Tăng thêm 1 tẹo đi: 102
M – 1or2handed: Boolean (1=yes,để trống=no) – Barbairian có thể dùng vũ khí này 1 hay 2 tay
N – 2handed: 1 = vũ khí cầm 2 tay, 0 = vũ khí cầm 1 tay
O – 2handmindam: Min dmg của vũ khí 2 tay
P – 2handmaxdam: Max dmg của vũ khí 2 tay
T – rangeadder: Tăng thêm tầm đánh cho vũ khí tầm gần ( note: boxing range = 1 ^^ )
U – speed: Số càng to thì khi cầm bạn chạy càng chậm, số càng bé, thậm chí số âm thì chạy càng nhanh
V – StrBonus: %Str cần để tăng damage
W – DexBonus: %Dex cần để tăng damage
X – reqstr: Required Strength 0-65535
Y – reqdex: Required Dexterity 0-65535
Z – durability: base durability. Max là 255, nếu cố đẩy lên 257 nó sẽ quay ngược về 1 – đừng cố
AA – nodurability: 1=indestructible, để trống=dùng giá trị cột Z – durability
AB – level: item level. Chú ý là còn phải test nữa nên tôi tạm thời để giá trị này là 1
AC – levelreq: Lvl requirement
AD – cost: mua mất bao nhiêu xiền
AE – gamble cost: mã này chưa được game sử dụng, chỉ dùng để tham khảo
AF – magic lvl: Không quan trọng lắm
AH – OpenBetaGfx: Game không dùng mã này
AI – normcode: normal item code ( dùng cho mã trong game/cube upgrade )
AJ – ubercode: exceptional item code ( dùng cho mã trong game/cube upgrade )
AK – ultracode: elite item code ( dùng cho mã trong game/cube upgrade ). Tôi sửa thành amg – vì cần dùng để cupe thành đồ ethereal ở Exercise 6
AL – wclass: Quy định kiểu tấn công nào sẽ được sử dụng cho vũ khí dùng 1 tay (VD: 1hs, 1ht, hth)
AM – 2handedwclass: Quy định kiểu tấn công nào sẽ được sử dụng cho vũ khí dùng 2 tay
AN – component: Quy định lớp ảnh nào được dùng từ file chúng tôi để hiển thị item
AO – hit class: Mob bị uýnh sẽ hiển thị như thế nào
AP – invwidth: item chiếm bao nhiêu ô chứa ngang
AQ – invheight: item chiếm bao nhiêu ô chứa dọc
AR – stackable: stacked ? 1=yes, để trống=no
AS – minstack: Min quantity
AT – maxstack: Max quantity
AU – spawnstack: quantity của item khi drop/buy/vv…
AV – flippyfile: flip gfx.
AW – invfile: inventory gfx
AX – uniqueinvfile: unique inventory gfx
AY – setinvfile: set inventory gfx
AZ – hasinv: 1=socket được, 0 không tạo được socket
BA – gemsockets: maximum number of sockets
BB – gemapplytype: gem effecs 0=weapon, 1=armor/helm, 2=shield
BC – special: Ghi chú
BE – dropsound: Item drop kêu như thế nào
BF – dropsfxframe: Số frames sound sẽ dùng
BG – usesound: Âm thanh khi dùng item.
BH – unique: 1 = luôn là item unique, 0 = not always unique (dùng cho các quest item)
BI – transparent: unknown function
BJ – transtbl: unknown function (luôn là số 5)
BK – quivered: is this item a stack of ammo 1=yes, 0=no
BL – lightradius: Game không dùng
BM – belt: quy định số pots belt trữ được
BN – quest: questitem ID
BO – questdiffcheck: quy định ở normal, nightmare hay hell thì đây là quest item. VD: không thể dùng quest item của normal xài cho hell được
BP – missiletype: Ảnh chuyển động nào khi throw
BQ – durwarning: Icon nào xuất hiện báo low dura
BR – qntwarning: Icon nào xuất hiện báo low quantity
BS – gemoffset: unknown
BT – bitfield1: 1 – leather items, 3 – metal items
– Ghi nhớ mã ” amg“, mã này sẽ dùng trong file chúng tôi & chúng tôi . OK, giờ bạn mở tiếp file chúng tôi – tất nhiên là bằng Microsoft Excel.
b. chúng tôi – Lord Odin adding – Tôi sẽ tạo unique item cho item mới – cây Gungnir Spear. Để đơn giản hóa tôi copy dòng 284 – Titan Revenge Ceremonial Javelin xuống dòng cuối cùng 405. Bắt đầu giải thích các cột của file này: A – index: Tên của uniqueitem. Chỉ cần không trùng lặp với các tên khác là được. Tôi chọn Odin – bạn cần ghi nhớ để sử dụng lại trong file chúng tôi
B – version: Có thể dùng 0 hoặc 100. 0 = Classic Version còn 100 = Expansion Version.
C – enabled: Mã boolean. 0 = off, 1 = on. Dĩ nhiên là 1 nếu bạn muốn có iem này rồi #
D – ladder: Nếu ghi ladder thì item này chỉ xuất hiện trong ladder thôi. Tốt nhất hãy bỏ trống ô này. Nếu rảnh thì hãy xóa hết các chữ ladder trong cột D này
E – rarity: Nói đơn giản thì giả sử bạn có 2 cái ring, 1 cái rarity = 1, cái kia = 3 thì trong 4 lần rớt unique ring bạn sẽ có 3 cái ring 2nd và 1 cái 1st. Đơn giản hơn nữa gõ số 1 cho cột E.
F – nolimit: Nếu để 1 thì trong 1 lượt chơi có thể có nhiều unique item đó cùng rớt. Để trống = chỉ 1 item loại unique đó drop. Cái này tôi thấy cũng không cần thiết lắm nên bạn hãy để trống.
G – lvl: Item Level, nếu mob lvl < item lvl thì không bao giờ item drop. Bạn hãy tạm để giá trị này là 1.
H – lvl req: item level requirement.
I – code: mã item. Nếu bạn còn nhớ thì ở mục mục a, hãy điền amg vào cột này. Nếu không thì có tra cứu file chúng tôi để biết thêm chi tiết về mã item.
J – *type: Chú ý từ giờ những cột nào có dấu * tức là những cột chỉ nhằm mục đích ghi chú, game không sử dụng những giá trị này. Tôi ghi chú lại: Gungnir Spear.
K – *uber: Ghi chú.
L – carry1: Để ý dòng 403 cái Hellfire Torch có giá trị là 1 ~ bạn không thể trữ quá 1 cái được. Hãy để trống cột này.
M & N – cost mult & cost add: Bán và mua item này thì bao nhiêu gold. Để cho đẹp file, dĩ nhiên hãy lấy 2 giá trị 5 & 5000.
O & P – chrtransform & invtransform: Chuyển màu của item. Không quá cần thiết – để trống.
Q & R – flippyfile & invfile: 2 bác này thay đổi diện mạo của item. flippy file hiển thị vũ khí khi sử dụng còn invfile hiển thị ảnh trong inventory. Bạn từng nhớ bản mod nào đó mà item trông thì to đùng 2×4 nhưng chỉ chiếm 1×4 ô chứa trong hòm đồ chứ. Nếu thích thì đào thêm ở các file weapons/armor/misc.txt files ở các cột flpwnd & invwnd. Trong VD đơn giản này thì tốt nhất để trống.
S, T & U – dropsound, dropsfxframe & usesound: Quá rõ ràng rồi
( Note: Về mã aura, skill tab, class skill & monster bạn có thể dùng soft Hero Editor để đối chiếu thêm. Fan Diablo II thì không thể không biết soft này rồi. )
Tạo new armor thì bạn làm tương tự với file chúng tôi xem phần giải thích file ở đây: http://phrozenkeep.planetdiablo.gamespy.com/forum/kb.php?mode=article&k=2
Exercise 3: Force new made item drop – The famous Quill Rat drop method Thực ra thì khi thực hiện xong Exercise 2 và làm lại bước -direct -txt như ở Ex1 là bạn đã hoàn thành việc chế tạo 1 unique item mới rồi. Nhưng để item đó drop thì không biết đến bao giờ. Vậy bạn hãy cố gắng thực hiện nốt bài tập này. Trong bài tập này tôi sẽ giới thiệu cho bạn phương thức force item drop nổi tiếng, đó là Quill Rat drop Method.
3.1 Các file cần thiết 1 file duy nhất đó là file: chúng tôi nằm trong dataglobalexcel của file patch_D2.mpq.
4.1. Các file cần thiết – chúng tôi – patch_D2.mpq – dataglobalexcelinventory.txt – chúng tôi – chúng tôi – dataglobaluiPANELinvchar6.dc6 – chúng tôi – chúng tôi – dataglobaluiPANELsupertransmogrifier.dc6 – chúng tôi – chúng tôi – dataglobaluiPANELTradeStash.dc6
Chính sửa ảnh máu và mana: 2 files chúng tôi & chúng tôi trong d2exp.mpq.
Exercise 5: Create New Cube recipe – tạo công thức nhập đồ mới Bạn cũng biết mỗi bản Mod có một công thức nhập đồ riêng, nhiều công thức hay – tạo được những item rất mạnh, đặc biệt là ở bản TWF: The Fury Within. Nhưng đôi lúc bạn cảm thấy rất phiền hà vì những công thức này thường cần những item khó kiếm, khá phức tạp và nhất là không phải nhập 1 lần ăn ngay
evil:. Modder họ tạo được công thức thì chúng ta cũng phải tạo được. Qua bài tập này bạn sẽ có cảm tường mình trở nên evil hơn với những công thức made in you.
5.1. Các file cần thiết – Cần phải qua bài tập 4 để mở rộng Cube đã. Đây cũng là lý do vì sao tôi thay đổi giáo trình. Trong bài tập này tôi sẽ giới thiệu cho bạn cách dupe đồ bằng cupe ^^ nên với một cái Cube nhỏ xinh thì hơi khó
. – Download file chúng tôi đính kèm bài viết <– Cube Master Code. – File cần chỉnh sửa là chúng tôi trong patch_D2.mpq – link: dataglobalexcelcubemain.txt.
5.2. Các bước tiến hành – Extract, sau đó dùng Excel mở file chúng tôi – Giải thích các cột trong file:
A – description: Ghi chú giúp tìm kiếm nhanh chóng các công thức nhập đồ
B – enabled: Mã Boolean, 1 = có sử dụng công thức này, để trống = không sử dụng
C – ladder: Mã Boolean, 1 = chỉ sử dụng trên ladder, để trống = ladder và offline đều dùng được
D – min diff: Mode nào dùng được công thức này. 0 = 3 mode đều dùng được, 1 = chỉ Nightmare & Hell, 2 = chỉ ở Hell mới dùng được
E – version: 0=classic d2, 1=new classic d2 & 100 is expansion recipe
F, G & H – op, param & value: tôi không rõ 3 cột này có ý nghĩa gì, pro nào có thể tham khảo ở đây và giải thích dùm: http://phrozenkeep.planetdiablo.gamespy.com/forum/kb.php?mode=article&k=284 I – class: Recipe chỉ có thể dùng bởi class nào. 7 code ~ 7 char: aka ama, bar, pal, nec, sor, dru & ass
J – numinputs: số lượng item “đầu vào”, tính cả lượng “qty” nếu bạn sử dụng mã này trong các cột liệt kê item đầu vào
S – lvl: Item Lvl của A
T – plvl: Bao nhiêu %lvl của char nhập đồ sẽ được + thêm vào item Lvl A
U – ilvl: Bao nhiêu %lvl item gốc sẽ được + thêm vào item Lvl A
Cái này cũng giống như ở bài tập 3, bạn xem lại và dùng Magic Master Code để chỉnh sửa theo ý mình. Nó chỉ khác là có thêm giá trị mod 1 chance mà thôi. Mod 1 chance tức là có bao nhiêu khả năng item A có thêm magic attribute này.
AU – output b: item sản phẩm thứ 2 – item B. Đây cũng chính là ý tưởng cho công thức dupe đồ bằng Cupe. Ngoài ra còn có cả output c nữa các bạn ạ :o. Những cột sau của item B & C tương tự như với item A.
DA – *eol: End of line: luôn có giá trị là 0.
Một ví dụ cho công thức dupe đồ. Cột nào không xuất hiện tức là cột đó để trống hoặc các cột có giá trị quá dễ hiều.
A: Weapon Duper ( do Diablo không có khái niệm item chung mà chia ra: weapon, armor, shield, ring, amulet, vv… nên phải xây dựng từng công thức với từng loại item ) J: 2 ~ công thức cần 2 item đầu vào K: weap,any ~ bất cứ vũ khí nào = item gốc L: isc ~ 1 cuộn Indentify Scroll R: useitem,usetype,mod ~ useitem,usetype = sản phẩm là loại item gốc đầu vào. Mod = giữ nguyên thuộc tính của item gốc bao gồm cả socket, type, quantity, vv… Tức là item A giống hệt item ban đầu S: 100 ~ giữ nguyên item lvl AU: useitem,usetype,mod ~ item B cũng giống hệt item ban đầu AV: 100 ~ item lvl giữ nguyên
Vậy là chỉ cần bỏ 1 vũ khí bất kỳ & 1 cuộn Indentify Scroll vào Cube, nhấn transmute là bạn đã dupe x2 vũ khí đó rồi. Bạn tự làm tương tự với các loại item khác. Tiếp đây tôi trình bày công thức tạo item ethereal:
A: Weapon Ethereal Mode J: 2 ~ công thức cần 2 item đầu vào K: weap,any L: tbk ~ 1 quyển sách portal R: useitem,usetype,mod S: 100 V: ethereal ~ thêm thuộc tính ethereal cho weapon
Xong ^^. Tôi đính kèm thêm file chúng tôi chứa file chúng tôi có một số công thức dupe do tôi tự viết. Các bạn có thể tự tạo cho mình những công thức khác như: công thức nâng cấp đồ, chế tạo đồ unique, set, vv… Nếu quá khó thì hãy extract file từ các bản Mod để xem Cupe recipe của họ.
Exercise 6: Compile các file lại thành pack .mpq Nếu bạn đã chăm chỉ hoàn tất toàn bộ 5 bài tập trên thì có lẽ khi load vào game bạn sẽ thấy hình như lâu hơn và có thể rất lâu
. Lý do là vì game ngoài việc load các file chính, nó còn phải load lại các file của chúng ta nữa. Các bạn có thể để ý sau thao tác -direct -txt có cả 1 đống file được tạo thêm phải không ạ. Các modder cũng vậy, khi bộ mod của họ đã đồ sộ như các bạn thấy, toàn tầm 10MB trở lên thì khi load bằng kiểu đó sẽ lâu đến mức nào. Và do đó họ cần compile lại các mod vào file .mpq để tranh bị load 2 lần.
6.1. Tool cần thiếtMPQ 2K v2 – chỉ dùng để compact pack .mpq. Chú ý là tool này chỉ chạy trên nền DOS.
6.2. Các bước tiến hành – Dĩ nhiên là download và giải nén, tôi không hiểu vì sao tool này lại có cái chúng tôi vốn dùng để tạo map cho StarCraft 😮 và nhất là bạn phải copy 1 file có tên là chúng tôi vào chung thư mục thì tool mới chạy. File này trong thư mục game của Diablo cũng có nhưng không phải nó đâu. Nếu bạn có cài game StarCraft thì xong ngay :p. Còn không thì … – Hehe đùa tí thôi, hình như trong thư mục MPQ Viewer có đó, copy & paste đi nào :p. – Đơn giản hơn nữa thì tôi sẽ upload cho bạn 3 files: chúng tôi chúng tôi & chúng tôi trong file zip đính kèm: packmpq.zip. – Tôi xin đưa ra 1 VD để bạn hiểu cách pack 1 file MPQ như thế nào. Giả sử ta cần đưa file chúng tôi & chúng tôi vào lại file patch_D2.mpq. Bạn cần làm những bước sau:
O Patch_D2.mpq A chúng tôi dataglobalexcelCubemain.txt A chúng tôi dataglobalexcelCubemain.bin A chúng tôi dataglobalexcelWeapons.txt A chúng tôi dataglobalexcelWeapons.bin C Patch_D2.mpq
6.4. Mở rộng: Mod lại các bản Mod Lúc này thì trình của bạn cũng đã kha khá rồi, hãy mổ tung các file patch_D2.mpq của các tác giả mà xem xét các đoạn mã, code, vv… chỉnh sửa theo ý của mình và patch lại file của tác giả.