installing just a artwork is no big deal...
here's a "little" how to, condensed from my experience.
1) get mulpatcher.
2) copy Art.mul, Artidx.mul, Gumpart.mul, Gumpidx.mul, Body.def, Bodyconv.def, Tiledata.mul, and, finally, Anim.mul and Animidx.mul to a new folder.
3) load the files on mulpatcher, and open also windows's calculator (you will need this to convert decimals to hex format numbers, and back again).
4) now, go to tiledata: find an EMPTY* slot, check "Wearable", "Weapon" (in this case), and, if you like the idea, "PartialHue" (this will make only the gray part of your item to be hued, leaving the rest of the original color). now look up: we made a weapon, so where it says "Quality", input the LAYER you want the item to appear, so 1 for a one handed weapon, and 2 for a 2 handed... don't remember if Quantity needs also something in, but, look to another weapon's tiledata, like a crossbow, and see what it says.
then, leave tiledata alone.
5) now, it's the turn for animation. nothing has been patched till now, and will not be.
search in Anim.mul for an EMPTY* slot. once you find it, go to your calc, convert the slot number from hex to decimals, and add to it 50000, then revert the result to hex: this is your GUMP id. check it: go to gumps (anim) and input that number in the search box. if it shows nothing, you can proceed, otherwise, search for another slot.
(HINT: for patching jewelary, or something like that (talismans, auras, paperdoll background, tatoos, or anything you can think of that doesn't need an animation, go straight to anim id 1000+, since client will not get/show animations with that id, but will show them in the paperdoll nevertheless.)
6) if you got an EMPTY* slot both in anim.mul and gumpart.mul, and gump ID is the anim id +50000 (double check this part, it has to be in Hex, be accurate), then you can load your art in gumpart.mul. if you want the item to be different if male or female, just add your female art to gumpid+10000 (that is, anim id + 60000, same process as before, different numbers). loaded it? ok, go to settings and SAVE Gumpart.mul and Gumpidx.mul. you are done here.
7) now, return to tiledata.mul, and input in AnimID the animation number of your anim's free slot. done? ok, go to settings and save tiledata.mul. you are done with it.
8) finally, go to Art.mul. find the same slot you used in tiledata, and load there your tile art. then save Art.mul. Done.
At this point, your custom artwork will show in game as a dragable item and a paperdoll art. but, you still lack the animation for it.
This is the most confusing part, i must say.
9) Remember your empty anim slot? ok. What animation do you want to use? If you have a custom anim, just load it in Anim.mul. If you want to use an anim that is already present in UO, FOR GOD'S SAKE DON'T COPY IT TO THE NEW SLOT. That would mean that you have to patch to your player also Anim.mul, the biggest file of the client. No Way.
Instead. Search for the animation you want to use. 2 choices now.
A) The animation you want to use is already in Anim.mul.
B) The animation you want to use is in another anim file.
If you choose an A anim, write down that anim slot number in decimals, open Body.def with notepad, go to the bottom, and write like this:
IE, if your free slot is 998, the animation you want to use is 450 [IMPORTANT: USE DECIMALS IN THIS FILE]
Code:
# Customs [the # indicates a comment, so you can use it like // in C# scripts]
998 {450} 0
So. As stated up, it is read like this:
Code:
"copy in this slot" {"this animation"} "and hue it like this"
998 {450} 0
yeah, you can hue it directly there. the last number is the hue in decimals, everything is in decimals here.
it's exactly the same as the number you put in the scripts... use it if you want. i don't like that property.
Then, after having wrote it down, save the file. You are done. Completely.
If you answered B, instead, open Bodyconv.def with notepad.
[IMPORTANT: ONLY DECIMALS HERE TOO]
check the correct mul that contains the animation you want.
the names are anim2, anim3, anim4, anim5, so check the slot used IN THERE.
you can get it another way, instead of looking at those files directly. Look what slot it uses in the scripts, then search that number between the first numbers of each line.
this file will look like
Code:
500 -1 -1 490 -1 #Something
the first number is the anim slot used in Anim.mul.
-1 means "ignore this". there are 3 of these and 1 number that indicates the slot on another mul.
so it is
Code:
Anim slot Anim2 Anim3 Anim4 Anim5
500 -1 -1 490 -1
wich means
"copy in this slot" *ignore* *ignore* "this animation" *ignore*
or
"copy in here" "this one" "and ignore the rest"
so, you have the slot you want to use, the slot of the anim you want to use, and it's corresponding file.
input first the slot you got free on Anim.mul, then in the right order, put those -1 and the slot you want to use.
Like before, # means "comments", and is like a // in a C# script.
After you write the line, save the file.
10) close everything, and copy those files in your Ultima Online folder, overwriting the old ones (i suggest to keep an "original" copy of the whole folder, if you have to revert it back).
Modify your script to use the ItemID you used in tiledata. That's all folks.
This is how to patch a Weapon.
Armors and clothings are about the same, just change Quality and the checks you make in tiledata.
Remember that every wearable gump need it's dedicated anim slot, but you can use the same animation/gump for more items/scripts. Just remember, 1 gump, 1 animation, and X items.
Non-wearables need less work (nothing to do with gumps and animations), so is easier.
Gumps used for in-game custom gumps or the system gumps goes in Gumps (non anim) section of mulpatcher, wich are the first 50000 slots of Gumpart.mul (mostly free, so you can patch there about everything... i'm putting there the npc face arts, as well as illustrations made by my artist, and the complete tarot deck and another card game, to use them in my gumps/systems).
from 50000 to 60000 in gumps are MALE gumps (note: only 1000 animations, but 10000 gumps... just to say, if you want you can put in 9k things that doesn't need an animation, like jewelary), and from 60000 to 61183 is FEMALE (why less female slots? well, you only need to patch things once if they should look the same for male and female)...
Now, yeah, thats ABSOLUTELY all
Note: if you can't get it to work, even after reading and applying this how to, YOU are doing it all wrong somewhere. try again.
If it does not work again, surrender. you're not fit for mulpatching.
* EMPTY means, in tiledata, that absolutely nothing must to be on it: nothing checked, nothing written, no art shown, and no name (well, it's MissingName, but not always missing name slot's are empty, so check before
). in anim, it means that the slot number must not appear neither in body.def nor bodyconv.def. and, of course, must not contain an animation itself