Всем доброго времени суток. Подскажите пожалуйста, где можно поменять логику отображения имени NPC. Допустим, в брите у меня стоит провизионер, хочу сделать, чтобы титл в папердоле отображался в названии после имени. Пример Soroka the provisioner, John the blacksmith ну и так далее. Буду очень благодарен за совет. P.S! RunUO 2.2
Возможно по умолчанию идет так, но у меня сборка с уклоном сферы. Ищу, где зарыта собака, но пока без результатов.
Aimed, спасибо за совет. Сижу разбираюсь. Мануал у них устарел, но логика понятна. В VS 2017 все по другому, нету вкладки Build, нету опции Properties при ПКМ на папку scripts.
Я когда-то видел здесь тему и там было что-то похожее, но поиск не дал результатов. Буду разбираться дальше.
Пока идет борьба с такой ошибкой: Interop debugging is not supported
В общем с отладкой я не справляюсь, ищу в ручную т.к. это не баг, это было сделано специально. Я нашел функцию отображения игроков:
public virtual void AddNameProperties( ObjectPropertyList list )
{
string name = Name;
if( name == null )
name = String.Empty;
string prefix = "";
if( ShowFameTitle && (m_Player || m_Body.IsHuman) && m_Fame >= 10000 )
prefix = m_Female ? "Lady" : "Lord";
string suffix = "";
if( PropertyTitle && Title != null && Title.Length > 0 )
suffix = Title;
BaseGuild guild = m_Guild;
if( guild != null && (m_Player || m_DisplayGuildTitle) )
{
if( suffix.Length > 0 )
suffix = String.Format( "{0} [{1}]", suffix, Utility.FixHtml( guild.Abbreviation ) );
else
suffix = String.Format( "[{0}]", Utility.FixHtml( guild.Abbreviation ) );
}
suffix = ApplyNameSuffix( suffix );
list.Add( 1050045, "{0} \t{1}\t {2}", prefix, name, suffix ); // ~1_PREFIX~~2_NAME~~3_SUFFIX~
if( guild != null && (m_DisplayGuildTitle || (m_Player && guild.Type != GuildType.Regular)) )
{
string type;
if( guild.Type >= 0 && (int)guild.Type < m_GuildTypes.Length )
type = m_GuildTypes[(int)guild.Type];
else
type = "";
string title = GuildTitle;
if( title == null )
title = "";
else
title = title.Trim();
if( NewGuildDisplay && title.Length > 0 )
{
list.Add( "{0}, {1}", Utility.FixHtml( title ), Utility.FixHtml( guild.Name ) );
}
else
{
if( title.Length > 0 )
list.Add( "{0}, {1} Guild{2}", Utility.FixHtml( title ), Utility.FixHtml( guild.Name ), type );
else
list.Add( Utility.FixHtml( guild.Name ) );
}
}
}
Смотри в BaseCreature, это базовый класс всех НПЦ сразу после Мобайла. Смотри там такой же метод, только вместо virtual будет override.
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)