Hot - Những cái chưa từng có ở box Diablo II (basic modding)

Thảo luận trong 'Lưu trữ bài viết hay' bắt đầu bởi gfminimog, 16/6/07.

  1. gfminimog

    gfminimog Thành viên cấp 4

    Tham gia ngày:
    28/6/05
    Bài viết:
    185
    Cơ bản về modding Diablo II

    Đọc trong box thấy các bạn đã chơi Diablo II rất nhiều. Từ bản Original đến Expansion, beat game với Single Player Mode, Muliti Mode hay chơi online - Realms và chắc hẳn ai cũng đã từng chơi qua một hay nhiều bản Mod. Tuy vậy đề cập đến các bản Mod thì có lẽ ít ai trong box Diablo của GVN nhà mình biết làm thế nào mà các Modder có thể thay đổi hẳn bộ mặt của bản game Diablo chuẩn như: Lv trên 1000, item mới cực đẹp, skill mới lạ vv…

    Bài viết này nhằm mục đích phổ cập một số kiến thức cơ bản về modding game Diablo II. Thú thực tôi không có ý định đi quá sâu vào phần này mà sẽ chỉ đề cập một số kiến thức cơ bản về modding. Đơn giản là tác giả bài viết trong quá trình chơi game có thú sưu tầm đồ unique, sets & muốn có những item thực sự là customized cho riêng mình nên mới bỏ công tìm hiểu thôi. Với bản LoD thì không có vấn đề gì nhiều vì đã có hàng tá tools hữu ích rồi, nhưng với bản mod thì quả thực ai cũng phải nói là không có tool dành cho các bản này và dĩ nhiên tôi khó thực hiện được thú vui trên của mình.

    Bỏ công tìm hiểu một chút trên trang web phrozenkeep.planetdiablo.gamespy.com & mất vài ngày thử tôi cũng đã thỏa mãn được ý thích của mình: tạo được vài “đồ chơi” mới, tạo cupe recipe mà chỉ cần bỏ 1 item & 1 cuộn identify scroll vào cupe, click transmute là có thể x2 x3 item đó rùi ^^, cũng có thể coi là một thành công nho nhỏ.

    Trước hết xin nói trước với những ai không thật sự đam mê game Diablo II thì có thể dừng đọc ở đây, tôi luôn cảm thấy mình không có hứng thú với những gamer lười, thông tin thì đầy ra đấy không chịu lục một tí, động cái mở topic hỏi. Đến mệt với những yêu cầu: cho em xin bản hack, xin đồ xịn, cách dupe, cheat status all 3.5K – OMG, vv…

    OK, còn với những ai có hứng thú thì xin đọc tiếp

    I. File Sources
    1. MPQ Files
    Các bạn để ý trong thư mục game Diablo II có rất nhiều file, nhưng cái chúng ta cần quan tâm nhất ở đây là các file có đuôi .mpq. Liệt kê một tí (xem lướt thôi nhé):

    D2char.mpq File dữ liệu: chứa hình ảnh chuyển động của các nhân vật
    D2exp.mpq File dữ liệu: hiệu ứng âm thanh, hình ảnh chuyển động của bản Exp
    D2music.mpq Logo & nhạc nền
    D2speech.mpq Giọng thoại của char & NPC
    D2xtalk.mpq Giọng thoại của NPC ở bản Expansion
    D2sfx.mpq Hiệu ứng âm thanh
    D2xmusic File âm thanh của bản Expansion
    D2xvideo.mpq Movie của bản Expansion
    Patch_D2.mpq Các thay đổi của các bản patch
    D2data.mpq 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 D2exp.mpq & 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 Weapons.txt trong Patch_D2.mpq

    1.2. Các bước tiến hành:
    - Tải và giải nén file MPQ View v1.1b, tiếp tục tải MPQ Datafile: Diablo 2 LoD v1.11 về và giải nén vào chung 1 thư mục với MPQ Viewer.
    - Chạy MPQView.exe, chọn File --> Open Data File --> trỏ tới file MPQ Datafile ở trên (theo VD này là mpql.txt). Nếu không làm bước này thì MPQ Viewer không thể đọc chính xác file patch_D2.mpq ( sẽ hiển thị là unknown ).
    - Click Open Archive --> chuyển tới file Patch_D2.mpq trong thư mục game Diablo, chọn mở file này.
    - Tìm files đã chỉ định weapons.txt ở trên. Tìm dòng data\global\excel\weapons.txt. Đánh dấu, chọn Save và save file này ở Desktop, OK?
    - Mở file weapons.txt bằng Microsoft Excel, dĩ nhiên bạn có thể dùng WordPad hay NotePad để xem nội dung nhưng nếu save file bằng 2 chương trình này sẽ làm hỏng định dạng file .txt cơ sở dữ liệu của Diablo.
    - Short Sword nằm ở dòng thứ 27. Bạn có thể hơi hoa mắt vì những số và chữ. Đừng lo chính sửa đơn giản ý mà. Nhất là đến đây thì cũng khá dài rồi, tôi sẽ giải thích các ký hiệu và số ở bài post sau. OK ghi nhớ vị trí thứ 27, giờ bạn chú ý đến cột K và L, chú thích ở trên ghi gì nhỉ ^^, mindam & maxdam. Bạn có thể thấy short sword mindam & maxdam là 2 – 7. Hãy chỉnh thành 100 – 100.
    - Click nút “X” ~ Exit, Excel sẽ báo chú ý. Đó là do định dạng này là của Billzard nên bạn không thể save theo định dạng của Exel được, hãy đọc kỹ thông báo. Nếu không hiểu thì Yes & Yes ^^.
    - Tôi chưa đề cập đến việc compile vội, hãy bắt đầu bằng việc test thử small mod này đã. Đây cũng là 1 trong những bước quan trọng cần phải biết.
    - Hãy bắt đầu bằng việc tạo 1 thư mục data trong thư mục game Diablo. Tiếp tục tạo thư mục global con của data. Tiếp đến thư mục excel trong thư mục global & cuối cùng copy file weapons.txt đã chỉnh sửa vào thư mục excel.
    - Hãy quan sát lại đoạn này: data\global\excel\weapons.txt đó chính là lý do vì sao phải ta phải tạo các thư mục theo thứ tự trên.
    - Tạo 1 shortcut của game Diablo II ra ngoài desktop. Click chuột phải --> Properties --> trong mục target điền thêm: -direct –txt. VD như của tôi là: "D:\Diablo II\Game 1.11 CRACK.exe" -direct –txt. Làm như vậy thì khi khởi động game nó sẽ thay thế file weapons.txt cũ bằng file mới của chúng ta.
    - Bạn vô game, mua thử 1 thanh short sword sẽ thấy rằng dmg của nó là 100 – 100, hãy dùng nhân vật Lv cùi cùi thử dạo một tí xem nhé.

    Chỉnh sửa thông số Armor thì bạn mở file armor.txt, cách làm tương tự.


    Done Execrise 1. Các exercise tiếp theo sẽ hoàn tất khi tôi có thời gian. Bạn có thể tự nghiên cứu thêm tại đây:
    Tutorial
    Knowledge Base

    Next:
    Execrise 2: Tạo item Unique mới ( mở rộng: tạo sets mới – VD như Unique Archangel Wing Moon Bow ^^).

    [​IMG]

    Exercise 3: Force New Made Item Drop – bắt làm cho các item unique và set mới tạo drop.
    Exercise 4: Create New Cupe Recipe: Tạo công thức nhập đồ mới với Horadic Cube – Dupe đồ bằng Cube luôn ^^. Ngoài ra sẽ thêm luôn phần cho phép Single Plaỷe Mode sử dụng các công thức nhập đồ & RuneWord dành riêng của Realms.
    Exercise 5: Mở rộng ô chứa của Stash, Personal inventory & Cube.
    Exercise 6: Compile lại thành file .mpq ( mở rộng: Mod lại các bản Mod của Diablo II ).


    Copyright: Bài viết có tham khảo từ các bài viết của PHROZENHEART, MORDINI, FUSMAN, MYHRGINOC, vv… cùng kinh nghiệm thực tế của bản thân. Do not copy without my permission - minimog@gmail.com.
     
    rockcodon and rôngchiêntranh like this.
  2. raiyume0000

    raiyume0000 Thành viên mới

    Tham gia ngày:
    3/8/06
    Bài viết:
    2
    đề nghị các mod vui lòng stick cái này lên , bài này viết công phu wá , và có ý nghĩa nữa :D
     
  3. gfminimog

    gfminimog Thành viên cấp 4

    Tham gia ngày:
    28/6/05
    Bài viết:
    185
    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
    Weapons.txt, UniqueItems.txt, 1 file .tbl bất kỳ. Hehe 3 files này đều nằm cả trong file Patch_D2.mpq
    2.2 Các bước tiến hành:
    - Dùng MPQView.exe, mở file Patch_D2.mpq & tìm 3 files đã chỉ định ở trên, data\global\excel\weapons.txt, data\global\excel\uniqueitems.txt & data\local\LNG\ENG\patchstring.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 Weapons.txt - Gungir Spear
    - Dùng Microsoft Excel mở file weapons.txt.
    - Đầu tiên tôi tạo cây Gungnir Spear, bạn vào weapons.txt, 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 itemtypes.txt – 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 itemtypes.txt. 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

    F - namestr: giống cột D, chỉ khác là nó liên quan đến hiển thị tên item trong game. Tôi sử dụng mã giống cột D là amg

    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

    Q - minmisdam: Min dmg của vũ khí tầm xa. VD: bow, crossbow, throwing javelin mindmg --> 56

    R - maxmisdam: Max dmg của vũ khí tầm xa --> 125

    S - :

    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

    AG - auto prefix: Không hiểu lắm, liên quan đến prefix

    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

    Dừng ở đây là được rồi, save lại file weapons.txt. Click “X”, Yes & Yes.

    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 composit.txt để 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ú

    BD - useable: 0=you cannot rightclick, 1=you can rightclick on this item

    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 uniqueitems.txt & patchstring.tbl. OK, giờ bạn mở tiếp file uniqueitems.txt – tất nhiên là bằng Microsoft Excel.

    Tham khảo thêm về set item tại đây:
    - Giải thích file sets.txt
    http://phrozenkeep.planetdiablo.gamespy.com/forum/kb.php?mode=article&k=349
    - Giải thích file setitems.txt
    http://phrozenkeep.planetdiablo.gamespy.com/forum/kb.php?mode=article&k=348


    b. Uniqueitems.txt - 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 patchstring.tbl

    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 :D.

    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 itemtypes.txt để 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 2x4 nhưng chỉ chiếm 1x4 ô 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

    V, W, X & Y (and Z to BQ), prop1, par1, min1 & max1: Từng 4 cặp giá trị này quy định 1 magic attribute của item. VD: ama (để trống par) 2 2 = 2 amzon skill, aura 122 18 18 = aura lv 18 fanta when equipped. Hãy xem thêm các mã ở đây: http://phrozenkeep.planetdiablo.gamespy.com/forum/kb.php?mode=article&k=43 <-- Magic Master Code.

    ( 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. )

    BR - *eol: 0 – chỉ để báo kết thúc 1 dòng. Note: eol stands for End of Line ^^.
    - Cuối cùng click “X”, Save & Save, hãy save lại file uniqueitems.txt.

    c. patchstring.tbl - avoid the word "AN EVIL FORCE"
    - Download Darkstorm's Diablo 2 Table Editor v1.02, giải nén và chạy file tbled102.exe, click File --> Open --> trỏ tới file patchstring.tbl.
    - Kéo khung bên trái xuống dưới cùng, bạn lick vào dấu “+”, 1 khung sẽ hiện lên yêu cầu bạn add name for newkey, chúng ta sẽ add 2 key mới là amg & Odin.
    - Đầu tiên gõ amg --> Enter. Sau đó click vào key amg mới tạo, gõ vào khung bên phải: Gungnir Spear. Làm tương tự tạo key OdinLord Odin. Nếu không có bước này thì game sẽ hiện thị item của chúng ta thành AN EVIL FORCE.
    - Save lại file patchstring.tbl.

    Tạo new armor thì bạn làm tương tự với file armor.txt, 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: TreasureClassEx.txt nằm trong data\global\excel của file patch_D2.mpq.

    3.2 Các bước tiến hành
    - Bạn đã qua 2 exercise vì vậy tôi sẽ không giải thích nhiều nữa, bạn extract file TreasureClassEx.txt và mở nó bằng Excel.
    - Search với từ khóa Quill hoặc di chuyển xuống dòng 650: Quill 1. Đây là dòng quy định con Quill Rat ở Mode Normal sẽ drop item gì. Xin đừng hỏi tôi con Quill Rat là con nào nhé, ngại lắm ^^.
    - Để đơn giản bạn hãy xóa 3 giá trị ở 3 cột I, L & M ~ NoDrop, Item2 & Prob2. Tiếp đó thay giá trị cột JItem 1 thành amg và cột EUnique thành 1024. Như vậy khi kill Quill Rat chúng chỉ có thể drop Weapon Gungnir Spear của chúng ta và nhất là khả năng drop Unique là cực lớn. Có thể nói là đến 99% ^^.
    - Tôi chỉ lưu ý bạn 1 điểm là vì sao ta phải chỉnh item lvl ở Execrise thành 1 vì Quill Rat ở Normal Lvl của chúng là 1. Bạn có thể chỉnh lại item lvl sau khi hoàn thành bài test drop này.
    - Xong rùi đó, save lại file đi.
    - Tiếp đó hãy save 4 file: weapons.txt, uniqueitems.txt, TreasureClassEx.txt & patchstring.tbl theo thứ tự như tôi đã trình bày ở Exercise 1.
    - Thực hiện thao tác –direct –txt. Bạn vào game, Normal Mode và tìm giết Quill Rat, bạn sẽ nhận được 1 item như thế này:

    [​IMG]

    End of exercise 2 & 3.

    Copyright: Bài viết có tham khảo từ các bài viết của PHROZENHEART, MORDINI, FUSMAN, MYHRGINOC, DOOMBREED-X, vv… cùng kinh nghiệm thực tế của bản thân. Do not copy without my permission - minimog@gmail.com.
     
    rôngchiêntranh thích bài này.
  4. gfminimog

    gfminimog Thành viên cấp 4

    Tham gia ngày:
    28/6/05
    Bài viết:
    185
    @TL_Production: Link hoàn toàn bình thường, nếu không vào được trang này: phrozenkeep.planetdiablo.gamespy.com thì hãy thử dùng proxy này xem: 165.228.128.11:80.

    @TriệuVânLong: mod ở đây viết tắt của từ "modification" ~ chỉnh sửa, thay đổi không phải nâng cấp, modder chứ có phải là Billzard đâu. Muốn hiểu qua thì xem mấy cái hình ấy rồi giở hết tools ra xem có tạo được 1 item như vậy không. Như đã viết ở trên tôi không có hứng thú với những gamer lười tìm hiểu, kém cập nhật. Còn nữa dĩ nhiên không đọc thì sẽ không hiểu còn nếu không muốn đọc thì thôi, đừng hỏi tôi viết cái gì & nhất là đừng spam trong topic của tôi. OK ?

    @Fracasse: với file .bin mời bạn đọc exercise 6 ^^. Tui thử mở file patch_D2.mpq của bản TWF: Awakening Alpha2 thì thấy có file .txt. Liệu có phải là do không có đúng file list của nó nên không hiển thị hết không? Vì file patch_d2 của các bản mod có thể nói là tập hợp của hàng tá file cũng từ hàng tá file.mpq ghép lại mà.

    @all: Thay đổi giáo trình một chút, tôi sẽ chuyển Ex5 thành Ex4.

    Exercise 4: Mở rộng ô chứa của inventory và cube

    4.1. Các file cần thiết
    - inventory.txt - patch_D2.mpq - data\global\excel\inventory.txt
    - invchar6.dc6 - d2exp.mpq - data\global\ui\PANEL\invchar6.dc6
    - supertransmogrifier.dc6 - d2exp.mpq - data\global\ui\PANEL\supertransmogrifier.dc6
    - TradeStash.dc6 - d2exp.mpq - data\global\ui\PANEL\TradeStash.dc6

    4.2. Các bước tiến hành
    - Extract 4 files trên ra desktop.
    - Download DC6 Creator 1.02 và giải nén. Để có thể dùng soft này, bạn chạy file install.exe trước; sau đó unzip tiếp file DC6_Creator_1.02.exe. Trong file này chứa file DC6 Creator.exe dùng để xem - sửa - và nén lại định dạng Dc6.
    - Rất tiếc trong phạm vi bài viết này tôi không chỉ cụ thể các bước tiến hành. Tôi có upload kèm theo đây file ex4.zip chứa file inventory & các file .dc6 đã chỉnh sửa. Bạn có thể tự so sánh và tìm hiều.
    - Nói qua một chút về file inventory.txt: các dòng amazon, assassin, Guild Vault, ... là các dữ liệu dùng cho độ phân giải 640x400 còn amazon2, Guild Vault2, vv... dùng cho độ phân giải 800x600. Amazon, Paladin, ... Monster quy định kích thước inventory. Trade Page thì rõ rồi, còn Transmogrify quy định kích thước hộp cube. 3 file dc6 hiển thị hình ảnh tương ứng là invchar6.dc6, TradeStash.dc6 & supertransmogrifier.dc6.
    - Nói thêm về cách dùng Dc6 Creator: Bạn chạy file Dc6Creator.exe. Click Open --> trỏ tới file .dc6. Bạn có thể thấy file .dc6 có thể gồm nhiều ảnh ghép lại. Để tiện việc sửa đổi, bạn click Export all và chọn 1 định dạng ảnh --> chọn vị trí để save lại.
    - Sau khi edit ảnh, chú ý tới kích thước và số màu, bạn nén lại thành file .dc6 bằng cách click INI --> Dc6, trỏ tới nơi bạn export --> chọn file .ini --> OK.
    - Tiếp đó thì đơn giản bạn chỉ việc copy lại 4 file theo thứ tự, thực hiện -direct -txt là hoàn tất bài tập 4.

    Chính sửa ảnh máu và mana: 2 files 800ctrlpnl7.dc6 & hlthmana.dc6 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 :devil:. 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ó :D .
    - Download file cubecode.zip đính kèm bài viết <-- Cube Master Code.
    - File cần chỉnh sửa là cubemain.txt trong patch_D2.mpq - link: data\global\excel\cubemain.txt.

    5.2. Các bước tiến hành
    - Extract, sau đó dùng Excel mở file Cubemain.txt
    - 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

    K -> Q: inputs 1 --> 7: Liệt kê lần lượt các item đầu vào. Hãy sử dụng mã Cube Master Code trong file zip của NEFARIUS đính kèm để điền vào các cột này. Trong đó chú ý rằng input 1 phải là item chủ chốt của công thức - phải liên quan đến item "đầu ra" ~ item sản phẩm

    R - output: Mã item của sản phẩm đầu tiên của công thức nhập, tôi goi là item A --> tham khảo Cube Master Code để điền mã item cho A

    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

    V, W, X, Y, Z - mod 1, mod 1 chance, mod 1 param, mod 1 min, mod 1 max --> cặp 5 giá trị này quy định 1 magic attribute cho item A. Và cứ thế từng cặp 5 giá trị là 1 magic attribue của item A cho đến hết cột AU - output b.

    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 CubeMain.zip chứa file cubemain.txt 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 :D. 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ết
    MPQ 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 StarEdit.exe vốn dùng để tạo map cho StarCraft :o và nhất là bạn phải copy 1 file có tên là storm.dll 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: storm.dll, install.txt & install.bat 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 weapons.txt & cubemain.txt vào lại file patch_D2.mpq. Bạn cần làm những bước sau:

    6.3. Giải quyết ví dụ.
    - Chú ý là chỉ với những file .txt game luôn đòi phải kèm theo 1 file .bin. File này sẽ tự có sau mỗi lần dùng thao tác -direct - txt và cùng nằm trong thư mục test mod với file .txt của chúng ta. Trong VD này bạn hãy mò vào thư mục game, vào data\global\excel copy 4 file weapons.txt, weapon.bin, cubemain.txt, cubemain.bin vào thư mục chứa MPQ 2K v2.
    - Mở file install.txt tôi vừa đề cập ở trên. Đừng quen tay mở bằng Excel nhá :'>. Mở bằng WordPad hoặc NotePad và gõ nội dung như sau:

    O Patch_D2.mpq
    A Cubemain.txt data\global\excel\Cubemain.txt
    A Cubemain.bin data\global\excel\Cubemain.bin
    A Weapons.txt data\global\excel\Weapons.txt
    A Weapons.bin data\global\excel\Weapons.bin
    C Patch_D2.mpq

    - Save lại file này. Tiếp đó copy file patch_D2.mpq vào thư mục MPQ 2K này và double click vào file install.bat, chương trình sẽ patch 4 file con vào file pack patch_d2.mpq.
    - Copy lại file patch_D2 mới patch về lại vị trí cũ. Tốt nhất bạn tạo thêm 1 shortcut nữa hoặc bỏ dòng -direct -txt trong phần target đi.
    - Vào game chơi và hưởng thụ thành quả của mình. Nếu có lỗi thì :o :o. Nhớ backup không lại kêu. Hãy nhớ là bạn có thể chèn vô số lần vẫn OK.

    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ả.

    Lời kết: Các hướng dẫn trên đây của tôi mới chỉ là những phần cơ bản trong việc modding Diablo II. Chúc các bạn vui với những đồ chơi mới & những công thức cupe của riêng mình. Với những ai muốn tìm hiểu sâu thêm có thể vào trang http://phrozenkeep.planetdiablo.gamespy.com để xem thêm. Ở đây tôi có link 1 trang tổng kết giải thích các file .txt: http://phrozenkeep.planetdiablo.gamespy.com/forum/viewtopic.php?t=34455 để bạn tham khảo.

    Tôi không có ý định phát triển thêm bản guide của mình, bạn nào có hứng thú tìm hiểu và trải nghiệm thì có thể đọc, làm rồi viết lại cho mọi người biết. Có rất nhiều mod hay như: tạo quiver/bolts có magic attribue, tạo đồ riêng cho merc, tạo set charm, temporary status potion, sửa lvl, skill, vv... Chẳng biết liệu có 1 Việt mod nào trong tương lai không nữa ^^.

    End of Guide.

    Copyright: Bài viết có tham khảo từ các bài viết của PHROZENHEART, MORDINI, FUSMAN, MYHRGINOC, DOOMBREED-X, vv… cùng kinh nghiệm thực tế của bản thân. Do not copy without my permission - minimog@gmail.com.
     

    Các file đính kèm:

    cong327 and rôngchiêntranh like this.
  5. gfminimog

    gfminimog Thành viên cấp 4

    Tham gia ngày:
    28/6/05
    Bài viết:
    185
    Hic bài viết tâm huyết thế mà trôi xa lắc xa lơ, buồn cho đứa con tinh thần của mình quá >_<. Bác Mod nào làm ơn đổi tên em nó thành: "Hướng dẫn cơ bản về modding Diablo II" & move nó vào box lưu trữ dùm đi :x.

    @Fracasse: Đúng là không nên dùng Microsoft Excel thật, bác nào muốn sửa file .txt của Diablo II thì nên dùng soft riêng là AFJ_Sheet_Edit_0.61b (cái này giao diện sáng sủa và dễ dùng hơn D2excel).

    @all: Upload thêm file PDF - Newbie Guide của trang Phrozen, trong có kèm theo một số hình ảnh hướng dẫn cách mod & sử dụng tool.
     

    Các file đính kèm:

    cong327 and rôngchiêntranh like this.

Chia sẻ trang này