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!

How do I add an entity in RunUO

happymarc

Squire
It took me a little while, and testing things out and reading the forums, I think i'm starting to understand how to work with RunUO.

Am I right to think that my Ultima Online Installation basically holds all the meshes and Images to Ultima Online, and then RunUO kinda of determines through scripts what will be available and how it will be available in the actually game when its played on the server?

Now I wanted to know...

How do I add an entity to the list of what will be available on the server?

Let's say I find an entity or item with UOFiddler that is not accessible in RunUO yet but that is on EA Servers, how do I add it? what do I need to edit to make sure its functional in-game, and accessible through the Admin Gumps?

Thanks guyz
 

m309

Squire
To your first question, yes that is a simple breakdown of how RunUO and the client files work together.

To your following questions, the answers can really be found within your Scripts folder. If you want to add an "item", look in the Items folder within Scripts and find an item which is similar to what your're trying to add. Now that you have that script you can simply copy it, change the name to the new item you want to add (both the file name AND the names within the text of the file!) and change the Item ID within the script. Restart server and add it live in game. Obviously if you're trying to add functional items like something that prompts a gump, or changes ID, or affects a playermobile, etc etc it will be a bit more in depth. Start small though and get a feel for it. The same can be said for adding a mob or npc, find something similar and simply rename it all and change the bodyvalue to the new creature. Voila, new creature. Keep all of these scripts within a folder that you create called "Custom" or "Customs" wih the rest of your scripts for easy access and you're well on your way to custom content on your server. Good luck to you!
 

happymarc

Squire
Ok cool thanks a lot' I understand all that! So if I understand also, aside from putting scripts in the scripts folder, there is no importance to the folder in which I place it, everything gets compiled...

Thanks
 

m309

Squire
Yes, it'll read everything. Its just a matter of organization. However, on that note, there are some scripts (especially some custom systems) which will look within specific folders for specific files - though generally that applies mostly to stuff within the Data folder.
 

happymarc

Squire
Ok, so I created a new shield, called "Sentinel'', I duplicated the "OrderShield.cs'' script and changed its name to ''Sentinel.cs''.
Then, I went in the script and changed every ''OrderShield'' text to ''Sentinel'' text.
I kept the same Item image by changing ''public OrderShield() : base( 0x1BC4 )'' to ''public Sentinel() : base( 0x1BC4)''.

Then when I compiled there was no error message, everything was fine.

But when I went in the Admin/Command Gump and used Add... in the shields category i couldn't see my shield????

Why is that, am I not doing something right?

BTW, im using Nerun's Distro + Rev65 ...

Thanks
 

tass23

Page
Pure Insanity said:
To see it in the add gump, you must make add [Constructable] to the constructor. Like you see on other items/mobiles.
But if the item is a copy of the Order Shield, it should already have the Constructable added to it.....Marc, can you please post your new shield script with code tags for us to look at?
 
Hi there. I am having the same problem. I make a new script,restart the server but cannot add the monster ingame. I took an exhisting script of the creature "bogle" and just merely renamed it to "bagle" in both the script and the name it is saved as. I also changed the body value to 999 {the rainbow colored horse minion} as per directed here to change the bodyvalue. I cannot find the creature in the gumps nor can i add it ingame manually using [add bagle. I have tried putting the script in a `custom script` folder AND in the same folder as the parent script "bogle" neither of which works.
Here's the script itself if that helps any.

Code:
using System;
using Server;
using Server.Items;
namespace Server.Mobiles
{
[CorpseName( "a ghostly corpse" )]
public class Bagle : BaseCreature
{
[Constructable]
public Bagle() : base( AIType.AI_Mage, FightMode.Closest, 10, 1, 0.2, 0.4 )
{
Name = "a bagle";
Body = 999;
BaseSoundID = 0x482;
SetStr( 76, 100 );
SetDex( 76, 95 );
SetInt( 36, 60 );
SetHits( 46, 60 );
SetDamage( 7, 11 );
SetSkill( SkillName.EvalInt, 55.1, 70.0 );
SetSkill( SkillName.Magery, 55.1, 70.0 );
SetSkill( SkillName.MagicResist, 55.1, 70.0 );
SetSkill( SkillName.Tactics, 45.1, 60.0 );
SetSkill( SkillName.Wrestling, 45.1, 55.0 );
Fame = 4000;
Karma = -4000;
VirtualArmor = 28;
PackItem( Loot.RandomWeapon() );
PackItem( new Bone() );
}
public override void GenerateLoot()
{
AddLoot( LootPack.Meager );
}
public override bool BleedImmune{ get{ return true; } }
public override Poison PoisonImmune{ get{ return Poison.Lethal; } }
public Bagle( Serial serial ) : base( serial )
{
}
public override OppositionGroup OppositionGroup
{
get{ return OppositionGroup.FeyAndUndead; }
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}

Any help on this would be great.
 
did you make it a .cs file?
Yes. It shows as a .cs file.
If i type ingame " [add bagle" it says something like "No type with that name found"
If i add a spawner for bagle when i restart the server i get a `badspawn` message. This does not make the server crash however.
I have tried placing the new script in a "custom scripts" folder inside the main scripts folder.
I have also tried placing it in the same folder as the original "bogle" script.
Everything that i have tried has not worked and i have found no more options from these forums so i am at a dead end on something that `should` be working just fine.
My gameclient is the latest per EA/OSI/Mythic.......wouuld that somehow cause it not to work?
 
OK apparently sinse i have both run-uo and orbsydia on this computer the .cs files were in scripts for the orbs server and not the run-uo server [the one i actually have the server on] thank you for at least responding which is by leaps and bounds more than what i've seen from these forums so far. :)
 
I always try to help when i can..I actually went through your script and couldnt find anything wrong with it, I also loaded it up on my test server (once I cleared up a bunch of my own errors from adding things) and was gonna let you know it worked for me.
 

Soteric

Knight
Try to remove Scripts/Output folder and restart the server. Please also post what RunUO says you on startup.
 

mallorea

Wanderer
ok i created a Mallorean shield for my shard which is called mallorea and i want it to be a different item id cause when i add it to my shard by using [add it shows up as an order shield as the name instead of Mallorean shield any help please would be appreciated.
Code:
public MalloreanShield() : base( 0x1BC3 )

so to break down how do i change the item id for this to be mallorean shield.
 

m309

Squire
You have to add in custom art for your new shield, then use the new ID. If you've already done this and it still shows as an Order Shield, make sure your server is running the same Gump/Item files as your client is. In order to change the name you can simply use the following within your Constructable:
Name = "Mallorean Shield";

Hopefully that helps....
 

m309

Squire
Yea, that's what I use. There are a good many discussions and tutorials on adding custom art within these forums, as well as some others like POL and Orbsydia.
 
Top