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

michelle78

Sorceror
Despite reading through these posts for hours, then practicing for hours, I am still having difficulty getting some clothing items working properly. I paid special attention to Lord Greywolf's advice in the last posts here and something is just not working. I am sorry to bother people, but I must be overlooking something simple. I am trying to add a male cloak. The following locations are what I have chosen for slots

Gump Id 0xc741 in hex = 51009 which is supposed to be a good area
Gump id animation is 0x3F1 - transferred this over to my tiledata slot
Art/Tiledata ID is 0x30F
Weight2, Quality 20,
checked off weapon, a, wearable, partialhue

Modified body to
1009 {876} 0

876 = animation id 0x36c which is a cloak already ingame.

Saved these files and transferred them to my server client and the client I use to play on.

I log in and I can create my item on the ground, looks good on my paperdoll, but disappears and makes me bald when I sit on anything. I am having this problem with a few pieces and I just need some clarification on what I might be doing wrong. Thank you so much
 

michelle78

Sorceror
Using your suggestion I used the following slots, witin your recommended range, now ingame on the toon I appear to be wearing samurai armor and naked when sitting. Paperdoll appears ok

Gump Id 0xc691 in hex = 50833 which is supposed to be a good area
Gump id animation is 0x341 - transferred this over to my tiledata slot
Art/Tiledata ID is 0x30F
Weight2, Quality 20,
checked off weapon, a, wearable, partialhue

Modified body to
833{876} 0
 

Tabion

Sorceror
Okay I need a little help I believe. I added a bunch of custom art, general deco and animations, and while it all went smoothly thanks to this guide the items in game are not working correctly. Basically they do not show names (easily fixed but annoying) and they always highlight when moused over even though I selected impassable and place them as static/locked down, which is my real problem.

Edit- Setting the weight to 255 fixed this issue.
 

Nockar

Sorceror
Have a question. I added a bunch of animations. All of the animations that I put over the top of old animations work fine.

The New animations that I added to blank spots do not work right - surprise surprise. I used this file to find blank spots.
http://www.runuo.com/community/threads/the-patchers-little-helper.97646/
The Patcher's Little Helper - "PLH - 7 0 4 2.pdf"

I used - anim5.mul
379 - 399

All of them, in game, show up as this....
Elven plate 942 0x3AE <-UO Fiddler
Anim5.mul P: 0x1EC (492) <-Mulpatcher
Elven Plate itemID 11111 0x2B67

mobtypes.txt
Code:
#New Custom Monsters
379 ANIMAL 20 # Calf 01
380 ANIMAL 20 # Calf 02
381 ANIMAL 20 # Calf 03
382 ANIMAL 20 # Calf 04
383 ANIMAL 20 # Young Ostard 01
384 ANIMAL 20 # Young Ostard 02
385 ANIMAL 20 # Young Ostard 03
386 ANIMAL 20 # Colt Horse 01
387 ANIMAL 20 # Colt Horse 02
388 ANIMAL 20 # Colt Horse 03
389 ANIMAL 20 # Colt Horse 04
390 MONSTER 0 # Beetle
391 MONSTER 0 # Lizard
392 MONSTER 0 # Werewolf
393 MONSTER 0 # The Butcher
394 MONSTER 0 # Beast
395 MONSTER 0 # Water Golem
396 MONSTER 0 # Lava Golem
397 MONSTER 0 # Earth Golem
398 MONSTER 0 # Warg Rider
399 MONSTER 0 # Skeleton Archer

Bodyconv.def
Code:
379 -1 -1 -1 379 # Calf 01
380 -1 -1 -1 380 # Calf 02
381 -1 -1 -1 381 # Calf 03
382 -1 -1 -1 382 # Calf 04
383 -1 -1 -1 383 # Young Ostard 01
384 -1 -1 -1 384 # Young Ostard 01
385 -1 -1 -1 385 # Young Ostard 03
386 -1 -1 -1 386 # Colt Horse 01
387 -1 -1 -1 387 # Colt Horse 02
388 -1 -1 -1 388 # Colt Horse 03
389 -1 -1 -1 389 # Colt Horse 04
390 -1 -1 -1 390 # Beetle
391 -1 -1 -1 391 # Lizard
392 -1 -1 -1 392 # Werewolf
393 -1 -1 -1 393 # The Butcher
394 -1 -1 -1 394 # Beast
395 -1 -1 -1 395 # Water Golem
396 -1 -1 -1 396 # Lava Golem
397 -1 -1 -1 397 # Earth Golem
398 -1 -1 -1 398 # Warg Rider
399 -1 -1 -1 399 # Skeleton Archer
 

michelle78

Sorceror
After much trial and error I have finally used the few available slots in gump anim and got my clothes and weapons to work right on the paperdoll and on the toon ingame. I do have one final issue and I hope someone can help me out. I have added in weapons, they appear ok in all aspects so I created scripts using existing weapons for my base, but the weapons ingame do not cause any damage and the toon does not go through the attack motions. Switching over to the weapon used as my base, everything works normally. I assumed that i was missing something in my tiledata.mul but the only differences are the values in the Unknown slots. Do these numbers being 0 cause this issue and is there a certain specification of number i need for certain types of weapons? Thanks
 

michelle78

Sorceror
Wanting to post my findings as a resource for anyone else having this issue listed above. I am using an ML client and therefore need to declare the weapon speed in order for it to work properly. Here is the way the code will look if done properly....

Code:
    public class DoubleSpear : BaseSpear
    {
        public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.ShadowStrike; } }
        public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.MortalStrike; } }

        public override int AosStrengthReq{ get{ return 40; } }
        public override int AosMinDamage{ get{ return 20; } }
        public override int AosMaxDamage{ get{ return 33; } }
        public override int AosSpeed{ get{ return 55; } }
        [COLOR=rgb(255, 102, 0)]public override float MlSpeed{ get{ return 4.00f; } }[/COLOR]

        public override int OldStrengthReq{ get{ return 15; } }
        public override int OldMinDamage{ get{ return 4; } }
        public override int OldMaxDamage{ get{ return 32; } }
        public override int OldSpeed{ get{ return 50; } }

        public override int InitMinHits{ get{ return 31; } }
        public override int InitMaxHits{ get{ return 70; } }

        public override WeaponAnimation DefAnimation{ get{ return WeaponAnimation.Pierce1H; } }

The code in orange being the key. If you are not using ML then obviously this doesnt apply, but if you are then you must be careful bringing older scripts onto your server without this mod as well. Ingame you will see a weaponspeed of 0s if you hover over the weapon.
 

Kouri

Squire
I was just wondering if this "How To" is the best way to go still to add custom artwork?

My shard is running the 2.0 Final and whenever I try to follow the walkthrough my art doesn't come out as planned. I add the art to the Gump(Anim), create the info in Tiledata and Art(S), I edited the Body.def file, wrote the script and when I add the item to my backpack it is a plate, when I add it to the ground it is nothing.

I have added artwork before the 2.0 update and it all came out just fine, weapons and armor alike.
 

Nockar

Sorceror
I was just wondering if this "How To" is the best way to go still to add custom artwork?

My shard is running the 2.0 Final and whenever I try to follow the walkthrough my art doesn't come out as planned. I add the art to the Gump(Anim), create the info in Tiledata and Art(S), I edited the Body.def file, wrote the script and when I add the item to my backpack it is a plate, when I add it to the ground it is nothing.

I have added artwork before the 2.0 update and it all came out just fine, weapons and armor alike.

Make sure in your itme.cs script you have the right itemID.
Once you do that. Make sure in mulpacher, check the info for tiledata.mul. Make sure you see the right small image form art.mul
Then make sure you entered the right animID from your gump(anim) tab.
Then make sure in tiledata tab you also have all the right various numbers entered (layers, wearable, weapon/armor etc)
in bod.def make sure you have the right # for the item (you have to do math to get it) & the right animation ID (this is hte actull anim id that shows up on your characer body. Dont confuse this with the gump anim ID. THey are two differnet things.)

Lastly, there are some spots you cant use in the tiledata file. Make sure you are using the right spots. Some are used by other mul files.

I found it works bet to make sure your self a xml file and put allll the info in there.
 

Kouri

Squire
Make sure in your itme.cs script you have the right itemID.
Once you do that. Make sure in mulpacher, check the info for tiledata.mul. Make sure you see the right small image form art.mul
Then make sure you entered the right animID from your gump(anim) tab.
Then make sure in tiledata tab you also have all the right various numbers entered (layers, wearable, weapon/armor etc)
in bod.def make sure you have the right # for the item (you have to do math to get it) & the right animation ID (this is hte actull anim id that shows up on your characer body. Dont confuse this with the gump anim ID. THey are two differnet things.)

Lastly, there are some spots you cant use in the tiledata file. Make sure you are using the right spots. Some are used by other mul files.

I found it works bet to make sure your self a xml file and put allll the info in there.

First off, @Khagroth I do use UOFiddler and the artwork that I added shows in Gumps, TileData, & Items.

I went back and checked everything, unfortunately everything looks correct to me.

Gumps(Anim): 0xC5AE
Animation: 0x25E
Tiledata (S) & Art (S): 0x574D & 0x574E one for each direction of the backpack art
InsideUO Axe Anim: 612 (0x264)

For the script, I just copied the Axe.cs and modified it with the hex codes that I added.
Code:
using System;
using Server.Items;
using Server.Network;

namespace Server.Items
{
[FlipableAttribute( 0x574D, 0x574E )]
public class CustomAxe01 : BaseAxe
{
public override WeaponAbility PrimaryAbility{ get{ return WeaponAbility.CrushingBlow; } }
public override WeaponAbility SecondaryAbility{ get{ return WeaponAbility.Dismount; } }

public override int AosStrengthReq{ get{ return 35; } }
public override int AosMinDamage{ get{ return 14; } }
public override int AosMaxDamage{ get{ return 16; } }
public override int AosSpeed{ get{ return 37; } }

public override int OldStrengthReq{ get{ return 35; } }
public override int OldMinDamage{ get{ return 6; } }
public override int OldMaxDamage{ get{ return 33; } }
public override int OldSpeed{ get{ return 37; } }

public override int InitMinHits{ get{ return 31; } }
public override int InitMaxHits{ get{ return 110; } }

[Constructable]
public CustomAxe01() : base( 0x574D )
{
Name = "Custom Axe 01";
                        Weight = 4.0;
}

public CustomAxe01( Serial serial ) : base( serial )
{
}

public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );

writer.Write( (int) 0 ); // version
}

public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );

int version = reader.ReadInt();
}
}
}

Body.def
Code:
606 {612} 0

When I add this to my pack, all I get is a plate, add it to the ground and it is nothing.

If you can see something that is out of place, please let me know otherwise I'm at a deadend.
 

michelle78

Sorceror
First off..... I feel your pain. I spent a very long time finding good slots both in the art/tiledata areas and even worse was in the gumpanim file. If the item is not showing up on the ground properly then that is a clear problem with the art/tiledata areas. My solution for this was finding empty existing slots higher up in the groupings, like the area 0x3fe5 and also using many of the empty slots from 0 all the way down. I realize this staggers items and makes scripting a mish mosh but it works. I added well over 500 art items in all over the place using this method. As far as the items showing up on paperdolls and tunes onscreen, you will find small bunches of good slots for 50,000 on. This will be trial and error and it will take the majority of your time. It ends up being well worth it when all is said and done, just be patient and don't smash your keyboard when things fail, just move on.

My last piece of advice, start writing everything down in a notebook as you go. This way once you find good slots you will have a good record of them just in case something goes wrong and you end up with corrupted muls. Make lots of back ups as you go as well.
 

Kouri

Squire
First off..... I feel your pain. I spent a very long time finding good slots both in the art/tiledata areas and even worse was in the gumpanim file. If the item is not showing up on the ground properly then that is a clear problem with the art/tiledata areas. My solution for this was finding empty existing slots higher up in the groupings, like the area 0x3fe5 and also using many of the empty slots from 0 all the way down. I realize this staggers items and makes scripting a mish mosh but it works. I added well over 500 art items in all over the place using this method. As far as the items showing up on paperdolls and tunes onscreen, you will find small bunches of good slots for 50,000 on. This will be trial and error and it will take the majority of your time. It ends up being well worth it when all is said and done, just be patient and don't smash your keyboard when things fail, just move on.

My last piece of advice, start writing everything down in a notebook as you go. This way once you find good slots you will have a good record of them just in case something goes wrong and you end up with corrupted muls. Make lots of back ups as you go as well.

Thanks Michelle, I will look into moving up in the TileData list, as for the notebook, lol, I make excel list of EVERYTHING it's a curse.

Thanks to all for the advice, it is appreciated!
 

Kouri

Squire
Okay, took a small break from working on this, partly to take a step back from it, and mostly to let the blood stop boiling.

I got the gump and backpack art to work but still having a problem. The animation isn't showing on the toon. I added an axe I used the animation for an axe (imagine that) 612 {0x264} I added the 0x264 into the the gump and I also made an entry into the body.def
Code:
692 {612} 0
but again, still no animation.

Any ideas on what I might have errored on?
 

Kouri

Squire
After a bit more checking, when the axe is equipped my toon looks to be walking around holding something, but nothing is there.

When I added items before, I seem to remember having to manipulate the animation number by adding or subtracting one, does this still need to be done with the current version?
 

Scriptz

Traveler
Ok I recently got it into my head that I wanted to build a server since there are really none out there that have exactly what I am looking for. So far its going great and I wanted to add some custom art wearables into the game but I keep running into a problem... I cannot get the gump art to show on paper doll at all... It will not even let me equip the items as if it's a static or Im already wearing something that takes that layer slot. I followed the tutorial down to the letter and thought everything was running smoothly until I logged in to see it. I've read every post but I don't know how to fix this, the only thing I can get to work is the icon. Anyone know what I am doing wrong?
I have tried over 25 different gump slots/tiledata slots all within 50000-69000 trying the different locations previously mentioned. I am at a complete loss as to what I should do

EDIT: All right never mind, I give up on it... I have literally tried all I can and I still cannot get it to show on paper doll... The item script I have it set up on I can't equip and when I try to equip a normal robe and set the itemid to any of the hex numbers I used in creating it the robe just disappears... I downloaded someone elses custom patch files for their custom art and the body was different on paper doll (though the entire server was bugged and I couldnt equip anything, hence the reason it was just a test) so I know I have the directory and path's set up correctly. If anyone has any advice I'll try again, but until then I can't afford the loss of hair anymore :(
 

Tatti

Sorceror
Hey! This is kind of a dumb, quick question, but would adding new clothing/weapons/etc over lets say Samurai Empire or Elven items cause some kind of major conflict or would it work just no problems? Would there be legal issues?

It seems like finding right spots for the animations to work 100% (not bug while sitting etc) is really hard since even on the right range only some of them work.
 

m309

Squire
It would work just fine. You'd just have to connect the art to another animation, or whatever you added would just use the samurai animations.
 
Top