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!

Setting Title for PlayerMobile

Archaaz

Sorceror
I am trying to implement a class system using Eteri's Race and Class system. This is an excellent script and perfect for what I wish to do. There one small thing I wish to alter, in addition to customizing the classes and particulars of those classes. Currently, the script allows a PlayerMobile's Title to be set, and to display it on the paperdoll as well overhead when the PlayerMobile is clicked. This seems to override the SkillTitle. I would like to keep this feature for a few classes, but for others I would like to keep the Title, and not have it displayed overhead, but rather only on the paperdoll, and for a couple of others I would like to not use the Title feature at all, but rather defer to the SkillTitle (this last is easily done by omitting the bit of code that sets the Title).

The particular line is:

Code:
                      m.Title = ", the Blackguard";

Is there a way to have the Title show only on the paperdoll and not overhead? Thanks in advance.

Here is the complete relevent portion of the original script for reference:

Code:
using System;
using Server;
using Server.Network;
using Server.Commands;
using Server.Items;
using Server.Mobiles;
using Server.Gumps;
using Server.Spells;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.IO;
 
namespace Server.Gumps
{
public class ClassGump : Gump
{
        private Mobile m;
 
public ClassGump()
: base( 0, 0 )
{
       
Closable=false;
Disposable=false;
Dragable=false;
Resizable=false;
 
AddPage(0);
 
AddBackground(143, 118, 496, 336, 9200);
 
AddLabel(229, 186, 0, @"Bard");
AddLabel(229, 215, 0, @"Blackguard");
AddLabel(229, 244, 0, @"Druid");
AddLabel(229, 302, 0, @"Monk");
AddLabel(229, 273, 0, @"Mage");
AddLabel(229, 330, 0, @"Paladin");
AddLabel(229, 357, 0, @"Priest");
            AddLabel(253, 144, 1280, @"Class Selection");
            AddLabel(229, 384, 0, @"Ranger");
AddLabel(365, 187, 0, @"Rogue");
AddLabel(365, 215, 0, @"Shaman");
AddLabel(365, 244, 0, @"Warlock");
AddLabel(365, 272, 0, @"Warrior");
 
            AddButton(202, 215, 209, 208, 1, GumpButtonType.Reply, 0); //Blackguard
            AddButton(202, 186, 209, 208, 2, GumpButtonType.Reply, 0); //Bard
            AddButton(202, 357, 209, 208, 3, GumpButtonType.Reply, 0); //Priest
            AddButton(202, 244, 209, 208, 4, GumpButtonType.Reply, 0); //Druid
            AddButton(202, 302, 209, 208, 5, GumpButtonType.Reply, 0); //Monk
            AddButton(202, 330, 209, 208, 6, GumpButtonType.Reply, 0); //Paladin
            AddButton(202, 273, 209, 208, 7, GumpButtonType.Reply, 0); //Mage
            AddButton(202, 384, 209, 208, 8, GumpButtonType.Reply, 0); //Ranger
            AddButton(337, 187, 209, 208, 9, GumpButtonType.Reply, 0); //Rogue
            AddButton(337, 215, 209, 208, 10, GumpButtonType.Reply, 0); //Shaman
            AddButton(337, 244, 209, 208, 11, GumpButtonType.Reply, 0); //Warlock
            AddButton(337, 272, 209, 208, 12, GumpButtonType.Reply, 0); //Warrior
 
            AddImage(604, 127, 203);
AddImage(138, 128, 202);
AddImage(178, 107, 201);
AddImage(179, 416, 233);
AddImage(138, 416, 204);
AddImage(138, 107, 206);
AddImage(605, 107, 207);
            AddImage(310, 175, 1418);
            AddImage(604, 416, 205);
 
}
 
        public override void OnResponse(NetState state, RelayInfo info)
        {
            Mobile m = state.Mobile;
 
            PlayerMobile pm = m as PlayerMobile;
            if (pm == null)
                return;
 
            switch (info.ButtonID)
            {
                case 1: //Blackguard
                    {
                        //Edit Skill/Stat TOTAL cap here
                        m.SkillsCap = 1200;
                        m.StatCap = 375;
 
                        //Edit Base Stats values here
                        m.Str = 50;
                        m.Dex = 10;
                        m.Int = 20;
 
                        //Edit Class Title here.  This is the title next to the players name above their head
                        m.Title = ", the Blackguard";
 
                        //Edit Starting Equiptment here
                        m.AddToBackpack(new Broadsword());
                        m.AddToBackpack(new Buckler());
 
                        //Edit Skill Caps here
                        m.Skills.Alchemy.Cap = 0;
                        m.Skills.Anatomy.Cap = 100;
                        m.Skills.AnimalLore.Cap = 0;
                        m.Skills.AnimalTaming.Cap = 0;
                        m.Skills.Archery.Cap = 0;
                        m.Skills.ArmsLore.Cap = 0;
                        m.Skills.Begging.Cap = 0;
                        m.Skills.Blacksmith.Cap = 0;
                        m.Skills.Bushido.Cap = 0;
                        m.Skills.Camping.Cap = 0;
                        m.Skills.Carpentry.Cap = 0;
                        m.Skills.Cartography.Cap = 0;
                        m.Skills.Chivalry.Cap = 0;
                        m.Skills.Cooking.Cap = 0;
                        m.Skills.DetectHidden.Cap = 0;
                        m.Skills.Discordance.Cap = 0;
                        m.Skills.EvalInt.Cap = 0;
                        m.Skills.Fencing.Cap = 0;
                        m.Skills.Fishing.Cap = 0;
                        m.Skills.Fletching.Cap = 0;
                        m.Skills.Focus.Cap = 100;
                        m.Skills.Forensics.Cap = 0;
                        m.Skills.Healing.Cap = 0;
                        m.Skills.Herding.Cap = 0;
                        m.Skills.Hiding.Cap = 0;
                        m.Skills.Inscribe.Cap = 0;
                        m.Skills.ItemID.Cap = 0;
                        m.Skills.Lockpicking.Cap = 0;
                        m.Skills.Lumberjacking.Cap = 0;
                        m.Skills.Macing.Cap = 0;
                        m.Skills.Magery.Cap = 0;
                        m.Skills.MagicResist.Cap = 100;
                        m.Skills.Meditation.Cap = 0;
                        m.Skills.Mining.Cap = 0;
                        m.Skills.Musicianship.Cap = 0;
                        m.Skills.Necromancy.Cap = 120;
                        m.Skills.Ninjitsu.Cap = 0;
                        m.Skills.Parry.Cap = 100;
                        m.Skills.Peacemaking.Cap = 0;
                        m.Skills.Poisoning.Cap = 0;
                        m.Skills.Provocation.Cap = 0;
                        m.Skills.RemoveTrap.Cap = 0;
                        m.Skills.Snooping.Cap = 0;
                        m.Skills.Spellweaving.Cap = 0;
                        m.Skills.SpiritSpeak.Cap = 0;
                        m.Skills.Stealing.Cap = 0;
                        m.Skills.Stealth.Cap = 0;
                        m.Skills.Swords.Cap = 120;
                        m.Skills.Tactics.Cap = 100;
                        m.Skills.Tailoring.Cap = 0;
                        m.Skills.TasteID.Cap = 0;
                        m.Skills.Tinkering.Cap = 0;
                        m.Skills.Tracking.Cap = 0;
                        m.Skills.Veterinary.Cap = 0;
                        m.Skills.Wrestling.Cap = 0;
 
                        //Edit actual Skill Values here
                        m.Skills.Alchemy.Base = 0;
                        m.Skills.Anatomy.Base = 35;
                        m.Skills.AnimalLore.Base = 0;
                        m.Skills.AnimalTaming.Base = 0;
                        m.Skills.Archery.Base = 0;
                        m.Skills.ArmsLore.Base = 0;
                        m.Skills.Begging.Base = 0;
                        m.Skills.Blacksmith.Base = 0;
                        m.Skills.Camping.Base = 0;
                        m.Skills.Carpentry.Base = 0;
                        m.Skills.Cartography.Base = 0;
                        m.Skills.Cooking.Base = 0;
                        m.Skills.DetectHidden.Base = 0;
                        m.Skills.Discordance.Base = 0;
                        m.Skills.EvalInt.Base = 0;
                        m.Skills.Fishing.Base = 0;
                        m.Skills.Fencing.Base = 0;
                        m.Skills.Fletching.Base = 0;
                        m.Skills.Focus.Base = 35;
                        m.Skills.Forensics.Base = 0;
                        m.Skills.Healing.Base = 0;
                        m.Skills.Herding.Base = 0;
                        m.Skills.Hiding.Base = 0;
                        m.Skills.Inscribe.Base = 0;
                        m.Skills.ItemID.Base = 0;
                        m.Skills.Lockpicking.Base = 0;
                        m.Skills.Lumberjacking.Base = 0;
                        m.Skills.Macing.Base = 0;
                        m.Skills.Magery.Base = 0;
                        m.Skills.MagicResist.Base = 35;
                        m.Skills.Meditation.Base = 0;
                        m.Skills.Mining.Base = 0;
                        m.Skills.Musicianship.Base = 0;
                        m.Skills.Parry.Base = 35;
                        m.Skills.Peacemaking.Base = 0;
                        m.Skills.Poisoning.Base = 0;
                        m.Skills.Provocation.Base = 0;
                        m.Skills.RemoveTrap.Base = 0;
                        m.Skills.Snooping.Base = 0;
                        m.Skills.Spellweaving.Base = 0;
                        m.Skills.SpiritSpeak.Base = 0;
                        m.Skills.Stealing.Base = 0;
                        m.Skills.Stealth.Base = 0;
                        m.Skills.Swords.Base = 35;
                        m.Skills.Tactics.Base = 35;
                        m.Skills.Tailoring.Base = 0;
                        m.Skills.TasteID.Base = 0;
                        m.Skills.Tinkering.Base = 0;
                        m.Skills.Tracking.Base = 0;
                        m.Skills.Veterinary.Base = 0;
                        m.Skills.Wrestling.Base = 0;
                        m.Skills.Bushido.Base = 0;
                        m.Skills.Ninjitsu.Base = 0;
                        m.Skills.Chivalry.Base = 0;
                        m.Skills.Necromancy.Base = 35;
 
                        m.SendGump(new PCraftGump());
                        break;
                    }
 

zerodowned

Sorceror
kind of an old post, but the code you're posting has nothing to do with the player's title showing up next to their name overhead.

i'm not familiar with Eteri's Race and Class system, does it require changes to PlayerMobile? or any other scripts?

it does set m.Title but I believe it's in PlayerMobile that displays the m.Title
 

pooka01

Sorceror
in playermobile.cs
public override string ApplyNameSuffix( string suffix )

in the race thing
player.ApplyNameSuffix(race.Name);

this way to still can place a title, keeping skill title, and won't lose it.
thing is you losse (Young) and the Ethic title thing.
 

Archaaz

Sorceror
in playermobile.cs
public override string ApplyNameSuffix( string suffix )

in the race thing
player.ApplyNameSuffix(race.Name);

this way to still can place a title, keeping skill title, and won't lose it.
thing is you losse (Young) and the Ethic title thing.


Ah, thank you Pooka. This is just what I was looking for. I am not using Young player status, so this will work perfectly (with a bit of customization to take into account the Class property I added).
 

Archaaz

Sorceror
kind of an old post, but the code you're posting has nothing to do with the player's title showing up next to their name overhead.

i'm not familiar with Eteri's Race and Class system, does it require changes to PlayerMobile? or any other scripts?

it does set m.Title but I believe it's in PlayerMobile that displays the m.Title


Thanks. The Title property can actually be set for any mobile, and causes whatever the Title is to appear after the mobile's name when single clicked. If set on a player mobile or human NPC, the Title also appears on the paper doll after the name.

The Title is reset to "[Owner]" when player status is toggled from player to owner, thus showing "So and So [Owner]" both when single clicked and on the paperdoll. If the Title property is set to a particular title, and another skill is set to 100, the Title remains whatever it was set to, overhead and on the paperdoll. For example, if I use Eteri's script to set the Title to "the paladin", and also use it to set Musicianship to 100, the Title will remain "the paladin", even on the paperdoll (rather than ", Grandmaster musician"). However, if status is toggled from player to owner and back to player, the Title seems to be reset to null and no longer appears above head, though the skill title then shows up on the paperdoll (when status is set to Player). The Title property seems to override Title.cs when the Title is set manually (thus overriding the skill titles).

Eteri's system is basically the script I posted. It simply sets skill caps and bases, stat caps, assigns starting equipment, and sets the Title property. I have modified it to also set a Class property I added to PlayerMobile.cs (among other modifications).
 
Top