RunUO - need help with craft system

goatmilk

Citizen
Operating System
Windows
ServUO Version
RunUO 2.2
Hoping someone can help. My GM carpenter can only make chairs, tables and containers. The carpentry menu is missing the option to make staffs etc.

Attached is the custom newcraftsystem script as well as the defcarpentry.c script.

any help is appreciated.

Thank you
 

Attachments

  • DefCarpentry.cs
    21.3 KB · Views: 2
  • CarpentryMenu.cs
    18.4 KB · Views: 2

tass23

Moderator
Hoping someone can help. My GM carpenter can only make chairs, tables and containers. The carpentry menu is missing the option to make staffs etc.

Attached is the custom newcraftsystem script as well as the defcarpentry.c script.

any help is appreciated.

Thank you
Hi Goat *waves*
So from a quick glance, DefCarp is missing a ton of checks and expansion properties (like the entire section about the items retaining color even).
Can you tell me which client version you are running?
 

Max

Citizen
Hi,
The menu code does not have those entries it seems. And the "NewCraftSystem" that you seem to have, bypasses the regular code for the automated carpentry menus in Saw.cs. (code found in shard code from despise/runzh)
 

goatmilk

Citizen
Hi Tass23 Hi Max

Thanks for your reply. The client I am running is 5.0.8.3.

I got the runuo script/server from github here - Origins/RunUO at master · uoorigins/Origins

First off, I want to thank you guys for your time.

I really like this shard because it reminds me of when I played UO back in the old days, from 1998 - 2000. I like the 2d sprites compared to the 3d sprites. Even detail such as moongate travel sends you randomly instead of bringing up a menu.

Now getting back to topic for this post.

The shard offers the old style craft menu as opposed to the new style craft menu. see attached screen shot.

I like the old style better; if I want to add additional items/category to the carp menu, what file do I need to edit?

I really appreciate your time.

Thank you

Also If you know how I can change the mobs highlight from red to gray, that would be awesome. See attached screenshot.
 

Attachments

  • old style craft menu.PNG
    old style craft menu.PNG
    216.2 KB · Views: 4
  • new style craft menu.PNG
    new style craft menu.PNG
    429.3 KB · Views: 3
  • mobs red name red highlight.PNG
    mobs red name red highlight.PNG
    89.5 KB · Views: 3

tass23

Moderator
Hi Tass23 Hi Max

Thanks for your reply. The client I am running is 5.0.8.3.

I got the runuo script/server from github here - Origins/RunUO at master · uoorigins/Origins

First off, I want to thank you guys for your time.
Always a pleasure to help! :)
I really like this shard because it reminds me of when I played UO back in the old days, from 1998 - 2000. I like the 2d sprites compared to the 3d sprites. Even detail such as moongate travel sends you randomly instead of bringing up a menu.
I think that is why many of us are 'shard owners :D
Now getting back to topic for this post.

The shard offers the old style craft menu as opposed to the new style craft menu. see attached screen shot.

I like the old style better; if I want to add additional items/category to the carp menu, what file do I need to edit?
Mmmkay, so distro edits incoming :D
If you update to the latest repo, your changes will be overridden, so make sure you have the edits saved elsewhere.
You can add anything to any crafting menu with this same construc
C#:
index = AddCraft(typeof(HolyWater), 1044537, "Holy Water Bomb", 70.0, 95.0, typeof(HolyWaterUnblessed), "Regular Holy Water", 1, "You don't have enough regular Holy Water.");
            AddRes(index, typeof(Bottle), "Bottle", 1, "You don't have enough Bottles.");
            AddRes(index, typeof(FreshGarlic), "Fresh Garlic", 1, "You don't have enough Fresh Garlic.");

This is adding an item: Holy Water Bomb, to the Alchemy menu. Adding a new recipe is always the same (index=AddCraft(typeof(ItemNameToCraft),"MenuName","Friendly Item Name", SkillRequired, SuccessAtSkill, typeof(FirstIngredientName), "First Ingredient Name", QtyNeeded, "Message when missing QtyNeeded.";
AddRes(index, typeof(SecondIngredient), "Second Ingredient Name", QtyNeeded, "Message when missing QtyNeeded.");
AddRes(index, typeof(ThirdIngredient), "Third Ingredient Name", QtyNeeded, "Message when missing QtyNeeded.");
etc. <------ STOP HERE If you add one more ingredient, it cannot be shown in the crafting window (no scrollbar, unless you edit the GUMP to include a scrollbar.)

Also If you know how I can change the mobs highlight from red to gray, that would be awesome. See attached screenshot.
The color of the name bar will change depending on the karma of you and the mob in question.
 

goatmilk

Citizen
Thanks Tass23, what effect does karma have on the behavior in monsters if any? Seems like I have to edit the karma value to a positive number for them to show up as gray.
 

tass23

Moderator
Thanks Tass23, what effect does karma have on the behavior in monsters if any? Seems like I have to edit the karma value to a positive number for them to show up as gray.
That is correct, unless your karma is the opposite.
As to the effect, positive karma creatures will automatically be enemies with negative karma creatures.
I am not exact on "pet behavior", but two spawned mobs with opposite karma, will automatically attack one another.
We used this technique to simulate an invasion on my 'shard; townsfolk fighting off monsters. So the townsfolk were positive karma and the monsters were negative. :)
 

goatmilk

Citizen
This is great information Tass23. I was able to update the mobs to be gray by removing the (-) symbol before there karma value. There were a few mobs that were still red even when I did that; but I think its because they have the string in them.
public override bool AlwaysMurderer { get { return true; } }

I haven't had a chance to try your script to edit the craft system but will let you know once I have a chance to try it.

Thanks again
 

tass23

Moderator
This is great information Tass23. I was able to update the mobs to be gray by removing the (-) symbol before there karma value. There were a few mobs that were still red even when I did that; but I think its because they have the string in them.
public override bool AlwaysMurderer { get { return true; } }

I haven't had a chance to try your script to edit the craft system but will let you know once I have a chance to try it.

Thanks again
You are welcome. :)

public override bool AlwaysMurderer { get { return true; } }
Yes, if that is in the script, the mob will always spawn Red. :)
 

Max

Citizen
With respect to the carpentry menu, you will have to extend the carpentryMenu.cs to have other categories and the contents for those.

Thanks for the link to github.
 

Visam

Squire
I'm not certain but I think if you just remove the - before the karma value it will mess up karma gains for players killing the creatures.

example "not actual numbers from the game but made up":
Lich has -1000 karma
you remove the - so now it has 1000 karma
I kill it and my karma goes down for killing a "good" creature.

like I said though I'm not certain of that but I think that's what will happen. I can't imagine it would be good for titles ect...

There is probably a better place to edit to remove things going red because of negative karma.
Post automatically merged:

Did a bit of checking the places to edit are in Notoriety.cs line 296

C#:
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) && target.Karma < 0 || ((BaseCreature)target).AlwaysMurderer)
remove the following part
&& target.Karma < 0
making it
C#:
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) || BaseCreature)target).AlwaysMurderer)

havn't tested it as I'm not using the version you are but it I'm fairly sure it will turn them back to grey without messing up karma gain/loss for players killing them
 
Last edited:

tass23

Moderator
I'm not certain but I think if you just remove the - before the karma value it will mess up karma gains for players killing the creatures.

example "not actual numbers from the game but made up":
Lich has -1000 karma
you remove the - so now it has 1000 karma
I kill it and my karma goes down for killing a "good" creature.

like I said though I'm not certain of that but I think that's what will happen. I can't imagine it would be good for titles ect...

There is probably a better place to edit to remove things going red because of negative karma.
Post automatically merged:

Did a bit of checking the places to edit are in Notoriety.cs line 296

C#:
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) && target.Karma < 0 || ((BaseCreature)target).AlwaysMurderer)
remove the following part
&& target.Karma < 0
making it
C#:
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) || BaseCreature)target).AlwaysMurderer)

havn't tested it as I'm not using the version you are but it I'm fairly sure it will turn them back to grey without messing up karma gain/loss for players killing them
Yes, whatever karma you spawn the mob with is what players get when it is killed, regardless of what the script says. Like spawning a mob with murders makes it red, even though the script might not have murders. It is also easy to spawn a Lich, but give it the body of Lord Oaks and now you have Lord Oaks with "negative" karma, so it sort of depends on how this is presented to the players. If they know that if they kill "mean" Lord Oaks they will receive negative karma, that is on them if they kill it and they wanted to maintain their positive karma and do not.
So that would probably be the otherwise to this: informing the players. :)
 

goatmilk

Citizen
I'm not certain but I think if you just remove the - before the karma value it will mess up karma gains for players killing the creatures.

example "not actual numbers from the game but made up":
Lich has -1000 karma
you remove the - so now it has 1000 karma
I kill it and my karma goes down for killing a "good" creature.

like I said though I'm not certain of that but I think that's what will happen. I can't imagine it would be good for titles ect...

There is probably a better place to edit to remove things going red because of negative karma.
Post automatically merged:

Did a bit of checking the places to edit are in Notoriety.cs line 296

C#:
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) && target.Karma < 0 || ((BaseCreature)target).AlwaysMurderer)
remove the following part
&& target.Karma < 0
making it
C#:
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) || BaseCreature)target).AlwaysMurderer)

havn't tested it as I'm not using the version you are but it I'm fairly sure it will turn them back to grey without messing up karma gain/loss for players killing them
Thanks for pointing me to the Notoriety.cs file.

I tweaked it a bit and got what I wanted. The server originally had all mobs (monsters) set as murderers. I wanted most of the mobs gray and also wanted to keep those that were designed to show up as murderers remain red such as dire wolf, grizzly bears, evil mages etc.

So what I did was commented out lines 294 to lines 304

if (target is BaseCreature && (target.Body.IsMonster || ((BaseCreature)target).AlwaysMurderer))
{
/*if (!IsPet(target as BaseCreature))
{
if (target.Body.IsMonster && !IsSummoned(target as BaseCreature)&& !(target is PlayerMobile) && target.Karma < 0 || ((BaseCreature)target).AlwaysMurderer)
return Notoriety.Murderer;
else
return Notoriety.CanBeAttacked;
}
else if (IsSummoned(target as BaseCreature) && target.Body.IsMonster)
{
return Notoriety.Murderer;
}*/

if (((BaseCreature)target).AlwaysMurderer)
return Notoriety.Murderer;
}

this seems to achieved what i wanted. liches, balrons and other mobs are gray and dire wolf evil mages etc remains red and I didn't messed with their karma value.

Thanks again for your help