160 lines
4.9 KiB
Plaintext
160 lines
4.9 KiB
Plaintext
# D2Mods Knowledge Base: Article 217
|
|
# Title: String Tables and Enquettar
|
|
# URL: https://d2mods.info/forum/kb/viewarticle?a=217
|
|
|
|
String Tables and Enquettar
|
|
Written by: Phrozen Heart
|
|
|
|
Written on: Tue Dec 02, 2003 11:50 pm
|
|
|
|
Views: 7892
|
|
|
|
Description: by Rana Loreus
|
|
|
|
Categories: Tutorials (1.09x)
|
|
|
|
What is a string?
|
|
|
|
'String' is a computer jargon which basically means a collection of
|
|
|
|
'characters'. A 'Character' is computer-speak for any symbols on the
|
|
|
|
keyboard, and more. Hence, a sentence is a string for it is a
|
|
|
|
collection of alphabets.
|
|
|
|
When
|
|
|
|
you modify any strings in any of .txt files, you are heading towards
|
|
|
|
trouble. (Some examples of such strings include items' names, suffixes'
|
|
|
|
names and so on). For your changes to take effect without crashing the
|
|
|
|
game, you will also need to modify the string.tbl file as well.
|
|
|
|
What's in the string.tbl file?
|
|
|
|
Imagine a gigantic table divided into 2 columns. The first column holds
|
|
|
|
a 'code', and the second column holds a string. For example: Code String skp Skull Cap xkp Sallet The Stone of Jordan The Stone of Jordan
|
|
|
|
The
|
|
|
|
'code' column is known as the 'key', and each key represents a full
|
|
|
|
text string. Hence, the key 'skp' represents 'Skull Cap' and the key
|
|
|
|
'The Stone of Jordan' represents the text string 'The Stone of Jordan'.
|
|
|
|
Basically,
|
|
|
|
the string.tbl file holds such a big table -- it includes every strings
|
|
|
|
used in the game and their respective keys. The keys are used in
|
|
|
|
various 'names' columns of the .txt files that you have extracted. If
|
|
|
|
you change the value of a key, you will change the string that will
|
|
|
|
appear in the game.
|
|
|
|
Confused?
|
|
|
|
Here's an example. From the table, we know that the 'skp' key
|
|
|
|
represents the string 'Skull Cap'. If we change 'Skull Cap' to 'Gold
|
|
|
|
Cap', and if there is an armour with the name 'skp', it will become a
|
|
|
|
Gold Cap. Likewise, if we change 'The Stone of Jordan' key to 'The
|
|
|
|
Stone of Loreus', wherever 'The Stone of Jordan' appears in
|
|
|
|
UniqueItems.txt, the game will display 'The Stone of Loreus'.
|
|
|
|
Hint:For
|
|
|
|
those who does programming, imagine this whole table to be one big
|
|
|
|
array. The keys are just like variables, each keys can store a string.
|
|
|
|
If you want to display a string, you just put in the key, and the
|
|
|
|
string stored inside it will appear in the game.
|
|
|
|
How do change string.tbl
|
|
It's all right if you don't understand the concept of keys and strings, just as long you get what you want...
|
|
|
|
To
|
|
|
|
change string.tbl, you will need a program called Enquettar. However,
|
|
|
|
this program is written in Perl, so you will need a Perl interperter to
|
|
|
|
get it working. I recommend the Indigo Perl, and it's worth the hefty 7 megabytes download.
|
|
|
|
The
|
|
|
|
doucmentation for using Enquettar can be gotten at the website, so this
|
|
|
|
is just an add-on to it. For every new string you want to be in the
|
|
|
|
game, you need to provide a key for it. Any key will do, but take care
|
|
|
|
that it is not already use. For names of items, suffixes and prefixes,
|
|
|
|
the key and the actual text must be the same. You will know more about
|
|
|
|
this in the specific tutorials
|
|
|
|
How do _really_ use Enquettar
|
|
Using
|
|
|
|
Enquettar may be frustrating because it is a command-line program and
|
|
|
|
you will need Perl to operate it. Here are some guidelines and tips to
|
|
|
|
help you:
|
|
|
|
* Make sure Perl is working. Go to DOS, type 'Perl' and hit . If all you get is 'Bad Command or File Name' then Perl is not installed correctly. Check your Perl doucmentation.
|
|
* Enquettar
|
|
|
|
requires two components to work its magic -- a string.tbl file and a
|
|
|
|
text file containing all the changes/additions to the string.tbl.
|
|
* The command line execution for Enquettar goes as: perl Enquettar.pl string.tbl StringChanges.txt > new.tbl
|
|
|
|
* In the above example, new.tbl is the modified string.tbl with all your changes and additions. Add it as string.tbl into your patch_d2.mpq.
|
|
Where StringChanges.txt is the text file containing all the changes and additions.
|
|
|
|
* To change a keycode or item code, use the c command. It goes as c [keycode] ['string'] [new keycode] ['string'].
|
|
|
|
* The Most Common Form of Changes That You Will Make: To change a string that a keycode represents:
|
|
c 'skp' '' 'skp' 'Baseball Cap' - The itemcode 'skp' now displays 'Baseball Cap'
|
|
|
|
* Adding new strings is done with the a command, and it goes like this:a [new keycode] [new string]
|
|
|
|
* The Most Common Form of Addition That You Will Make: Adding a unqiue item
|
|
a 'The Sword of Friendship' 'The Sword of Friendship'
|
|
|
|
Adding a new base item
|
|
a 'eem' 'Eternal Mail'
|
|
|
|
Adding a new suffix/prefix
|
|
a 'of Myths' 'of Myths'
|
|
|
|
*
|
|
|
|
Play-test your strings. Test them with a passion. Strings are often the
|
|
|
|
main villians which cause your MOD to bomb out with an assertion error.
|
|
* IMPORTANT:
|
|
|
|
Spacing counts in strings.tbl! Leading or trailing spaces (spaces
|
|
|
|
before or after the string) does counts. Make sure your strings match!
|
|
|
|
Link to this article: Select all
|
|
|
|
[url=https://d2mods.info/forum/kb/viewarticle?a=217]Knowledge Base - String Tables and Enquettar[/url] |