RunUO Community

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Custom Artwork How-To

Karavoc

Sorceror
ok so the format is
<Object> <LBR version (anim2)> <AoS version (anim3)> <AoW version (anim4)><Mondain version (anim5)>

how would i format this? and tie it in for each item?
 

HellRazor

Knight
Karavoc;822416 said:
ok so the format is
<Object> <LBR version (anim2)> <AoS version (anim3)> <AoW version (anim4)><Mondain version (anim5)>

how would i format this? and tie it in for each item?

Refer to this post for a tutorial:

http://www.runuo.com/forums/third-party-program-support/61713-animations-body-def-bodyconv-def.html

The simplest way I can explain it is:

There is a master list of animations the client uses. Animations in anim.mul are automatically in the master list. (Essentially, you can consider anim.mul as the master list of animations).

Body.def is used to make a virtual copy of an existing animation and to give it a new number in the master list. For example, hell hounds are just a wolf that have been copied and given a red hue in body.def.

Bodyconv.def is used to add an animation from anim2.mul, anim3.mul, etc. to the master list.

I referred you to bodyconv.def because the claws are probably in one of the other animation files. If so, there would be an entry for it in bodyconv.def that basically says "read the animation at location X in animX.mul and assign it to ID number X in the master list."

Note when an assigning a new anim ID from the master list using either Body.def or Bodyconv.def you also need to place an entry in mobtypes.txt which tells the client what kind of animation this is.

Hope this helps!
 

Karavoc

Sorceror
thanks hellrazor, i managed to figure all that out, now i'm trying to figure out how to add customer monsters with mulpatcher, i have a .vd file and managed to get it to show up on insideUO but i can't figure out how to make it actually appear in the game
 

HellRazor

Knight
Karavoc;823339 said:
thanks hellrazor, i managed to figure all that out, now i'm trying to figure out how to add customer monsters with mulpatcher, i have a .vd file and managed to get it to show up on insideUO but i can't figure out how to make it actually appear in the game

If you placed it in Anim.mul than the animID is the bodyID in RunUO. If something different turns up then you should check body.def and bodyconv.def because one of those files may be using that ID and those files will override what is actually there.

For example, if you are using ID 0x4 and body.def has an entry that copies an animation to 0x4, the client will use that instead. Body.def and Bodyconv.def will override what is actually in anim.mul.

Otherwise as long as there are no conflicts you should be able to just write a script for your new creature using the animID as the BodyID in RunUO.

P.S. If you are using InsideUO, be aware that InsideUO lists some animations as the wrong ID. Anything in "high detail critters" category in InsideUO is actually 1 number higher than what is reported.
 

mabinogi

Sorceror
I am Editor... Maybe.

I am working on my files and here's what I have managed to do so far.

GumpID: 0xC76A
AnimID: 0x41A
In MulPatcher I copied the anim 0x3AC to give it the Paladin-Sword look.

Tiledata: 0x7FFF
Art: 0x7FFF

Now in Body.def it shows...

1050 {940} 0

940 being the animation number of the paladin sword -- not 0x41A; but I wasn't sure how to get the # for 0x41A, did I do this right?
 
sounds good except that in art can not use 0x7fff - limit is 0x3fff
also in tile data need to put in the ani number (the 0x123 number from the gump art that it gives you also
 

HellRazor

Knight
mabinogi;825154 said:
I am working on my files and here's what I have managed to do so far.

GumpID: 0xC76A
AnimID: 0x41A
In MulPatcher I copied the anim 0x3AC to give it the Paladin-Sword look.

Tiledata: 0x7FFF
Art: 0x7FFF

Now in Body.def it shows...

1050 {940} 0

940 being the animation number of the paladin sword -- not 0x41A; but I wasn't sure how to get the # for 0x41A, did I do this right?


Yes, that looks correct. You are "creating" new AnimID 1050 (0x41A) using the existing animation at 940 (0x3AC). Basically you have made a virtual copy of 0x3AC which is now at 0x41A.

0x41A (1050) + 50,000 = 51050 (0xC76A), that is where your male gump for the sword goes.

The ID of the tile art that represents the sword isn't important, but you must set the Anim/Gump offset flag in tiledata.mul to point to the animation for the sword, that should be 1050. This is how the client knows what art pieces go with which animations, and the animations + 50,000 = male gump and animations + 60,000 = female gump. (If there is no female gump the client will just use the male one for both). You should also set the "wearable/equippable" flag.

As Greywolf said, you should use an art ID less than 0x3FFF. The new 7.0.0.0+ clients support art IDs up to 0x7FFF but RunUO does not yet support those higher ranges.
 

mabinogi

Sorceror
Blargh

Alright guys, I have to use that area range right?

Here's a problem I run into, under ALOT of the gumps, I find "Animation already exists" -- okay... I go to look what it is... and it's tons of shit from UO-Beta. I'm not confident in the idea of my running through wantonly erasing these as I'm not sure what that might/might-not do, but does it matter that they're there?

Similarly: This problem happens with almost all my 60,000+ ones, for example 0xEE7A is the female sword version for my sword, if I needed one. But... "Animation already exists?"

It confuses me, so please clarify.

Similarly!! I have alot of 'female only, no male version will exist' items. Does that mean i'm SUPPOSED to use a male-only slot for the female-version-only dress, INSTEAD of a female version with a empty male?

And please clarify what you mean, because I only ever saw one place for art to go in the thing, in TileData my sword will read 0x41A for the animation; as I know that's what the gump is tied to, I did it right didn't I?

-- Thanks :)
 

mabinogi

Sorceror
Another problem...

I was looking through my art and like another guy said... that's going to be a problem...

I have a lot of stupid things in there like: 'a ballista'. And I just dont see how anyone would be animating a multi like that so I was confused. Is it possible to erase things like the UO-Beta art and not cause chaos?

And lets say Theoretically, I made a new chain tunic, has male/female gumps.

Now HERES my problem -- lets assume it's number was 1050 also..

to get the male/female versions to be different on the avatar would it be:

1050 {538, 986} 0

Please help me regarding this also, as on my server I have dress-versions of all robes to convert when worn by females so they can still look effeminate ^^;
 

HellRazor

Knight
mabinogi;825414 said:
Alright guys, I have to use that area range right?

Here's a problem I run into, under ALOT of the gumps, I find "Animation already exists" -- okay... I go to look what it is... and it's tons of shit from UO-Beta. I'm not confident in the idea of my running through wantonly erasing these as I'm not sure what that might/might-not do, but does it matter that they're there?

Similarly: This problem happens with almost all my 60,000+ ones, for example 0xEE7A is the female sword version for my sword, if I needed one. But... "Animation already exists?"

It confuses me, so please clarify.

Similarly!! I have alot of 'female only, no male version will exist' items. Does that mean i'm SUPPOSED to use a male-only slot for the female-version-only dress, INSTEAD of a female version with a empty male?

And please clarify what you mean, because I only ever saw one place for art to go in the thing, in TileData my sword will read 0x41A for the animation; as I know that's what the gump is tied to, I did it right didn't I?

-- Thanks :)

I'm not sure what you mean by "animation already exists" error. What is giving you that error?

You should use an open animation slot to assign you animation to (meaning 1050 should be an empty slot). If 1050 isn't open, your body.def will override it so whatever was there won't display, your new animation will display.

For all animations, you MUST have a male gump. The FEMALE gump is optional, but the male one isn't.
 

HellRazor

Knight
mabinogi;825414 said:
Similarly!! I have alot of 'female only, no male version will exist' items. Does that mean i'm SUPPOSED to use a male-only slot for the female-version-only dress, INSTEAD of a female version with a empty male?

I'd use a female gump for both and then just not allow males to equip those items via script. I'm fairly certain that the male gumps aren't optional. (Telling you from memory so I may be wrong but I am pretty sure you must have a male gump. If no female gump is present, the client will use the male one).

And please clarify what you mean, because I only ever saw one place for art to go in the thing, in TileData my sword will read 0x41A for the animation; as I know that's what the gump is tied to, I did it right didn't I?

Yes, that's right.
 

mabinogi

Sorceror
So in tiledata with a pair [50k and 60k version] I only assign the 50k one and anytime a female uses it the item will convert to it's Femme-gump respectively?

I also am curious -- in body.def do I assign the animation change to both gumps somehow, or what?
 
IF there is 2 animations (i.e. you add your own for male and female, or it comes with one all ready) then you specify it with the , seperating them in between the {}

else it auto does it

and yes, in tiledata only need to put the male, it auto checks if there is a female version and if there is it uses it, else it does not
 

HellRazor

Knight
mabinogi;825481 said:
I also am curious -- in body.def do I assign the animation change to both gumps somehow, or what?

No, you should have one animation in most cases (things like weapons and shields). The animation will use (anim + 50,000) for the male paperdoll gump and (anim + 60,000) for the female paperdoll gump. If there is no female gump, the client will use the male one for both males and females.

If you have a female specific item, just don't allow males to equip them, easiest way to handle that.
 

mabinogi

Sorceror
Gumps/Anim questions!!

On gumps: is it okay to use 0xC350 to 0xEEFF ?

On Tiledata: Can I use ANYTHING ranging from 0xC3 [yes 0xC3] to 0x3FFF as long as it's empty in Art and Tiledata?
Note** My tile data is grossly clogged due to the nature of the project, they added siege weaponry thatsanimated as it moves to the tiles and it took up nearly 145 slots from what I can tell D:

-- thanks
 

mabinogi

Sorceror
!!

Another question...

For gump 0xC350 the animation is 0x0.

As someone quite fresh and new to this, things like that scare me when I do the work -- because as a decimal, there is no 50000 or 60000 involved, it's ... 0.

Should I always stay within the 50000 range and above when it comes to gumps/anims, or is it possible to stray from this?
 

HellRazor

Knight
I think you're going about this backwards.

Find an empty animation spot as your first step. NOTE - For equipables the animation needs to be in the range of 400-up (0x190+ ). So 0 won't work, 0 is not in the right range. Not sure what the upper limit is these days, it used to be 999 but I think you can go higher now. This spot should not already be in use in anim.mul, bodyconv.def or body.def (unless you want to replace something that is already in use).

Once you have an empty animation ID, make your entry in body.def to copy an existing anim to that empty ID.

Then add the gump (at animID + 50,000 and an optional female gump at animID + 60,000).

Then add an art item (can be located anywhere up to 0x3FFF). Then set the tiledata flags for that item making sure to flag it as equippable/wearable and with the animID flag pointed to your virtual copy ID that you created in body.def.

Then script the art item so it can be picked up and equipped.
 

HellRazor

Knight
mabinogi;825653 said:
On gumps: is it okay to use 0xC350 to 0xEEFF ?

On Tiledata: Can I use ANYTHING ranging from 0xC3 [yes 0xC3] to 0x3FFF as long as it's empty in Art and Tiledata?
Note** My tile data is grossly clogged due to the nature of the project, they added siege weaponry thatsanimated as it moves to the tiles and it took up nearly 145 slots from what I can tell D:

-- thanks


People and Equipment animations start at 0x190 which makes the first gump 0xC4EO.

Location of the art item can be anywhere up to 0x3FFF. Tiledata ID is the same as art ID.

But like I said, start with the Animation ID as that ID is what drives the gump ID. And the art ID doesn't matter as the tiledata flag is what tells thye client "this art goes with this animation" and the animation ID tells the client "add 50,000 for the gump for this animation".
 

mabinogi

Sorceror
Doing good so far --

Alright, I am doing well so far as my title suggests; but now I hit a problem...

My server will have about 40 new hairstyles, and naturally I was hoping to make use of at least a few of the elven hairstyle's animations... I applied the right numbers, according to insideUO -- but when I double checked all my work in UOFiddler, I noticed it doesn't recognize the items, or they'll appear as say... leather cap, or leather sleeves?

This leaves me with the concern I'd run into said problem in the game also, did I input something wrong?

In InsideUO the elven spiked hair for example reads 559 [0x22F] but in UO fiddler it reads as 0x037F, I'm inclined to believe the latter is the right number, but I'm not certain. Would the Body.Def even use [559] for it?

Thanks :3
 

HellRazor

Knight
UOFiddler I believe is already taking bofyconv.def and body.def into account. (i.e. UOFiddler reads bodyconv.def and body.def and shows all those changes). InsideUO doesn't.

Also be aware InsideUO displays some animation IDs wrong. InsideUO displays Animation IDs for high detail animations incorrectly (the ones at 400+ which are the ones you are using). InsideUO shows them to be 1 number lower than they actually are. For example, if you put something at 0x1d, InsideUO will show it to be at 0x1c. It's a bug in InsideUO that was never fixed.
 
Top