Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Имя NPC и его цвет
volkinson
сообщение 28.3.2019, 10:56
Сообщение #1


****

Apprentice
Сообщений: 126
Регистрация: 27.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.856
Возраст: 28



Всем доброго времени суток. Подскажите пожалуйста, где можно поменять логику отображения имени NPC. Допустим, в брите у меня стоит провизионер, хочу сделать, чтобы титл в папердоле отображался в названии после имени. Пример Soroka the provisioner, John the blacksmith ну и так далее. Буду очень благодарен за совет. P.S! RunUO 2.2
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 28.3.2019, 11:55
Сообщение #2


**********

Модератор RunUO
Сообщений: 3.425
Регистрация: 1.11.2008
Группа: Супермодераторы
Наличность: 22565
Из: Северная Корея
Пользователь №: 11.273



а по умолчанию разве не так?
Прикрепленное изображение


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
volkinson
сообщение 28.3.2019, 12:00
Сообщение #3


****

Apprentice
Сообщений: 126
Регистрация: 27.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.856
Возраст: 28



Возможно по умолчанию идет так, но у меня сборка с уклоном сферы. Ищу, где зарыта собака, но пока без результатов.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 28.3.2019, 12:50
Сообщение #4


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Цитата(volkinson @ 28.3.2019, 10:00) *

Возможно по умолчанию идет так, но у меня сборка с уклоном сферы. Ищу, где зарыта собака, но пока без результатов.


Вот тебе пара советов для самостоятельной работы:
1) Изучи что такое дебаг и как он работает в Visual Studio.
2) Настрой себе сперва студию что б можно было дебажить скрипты и ядро. 2.2 РанУО, - это не Нова случайно? Если Нова, то там ядро и скрипты вместе и не надо ничего делать как в мануале от ServUO. Можешь сразу ставить брейк пойнты.
3) Когда сделал пункты 1 и 2, ищи код от парсеров пакетов, либо самих пакетов. Если слабо шаришь в коде РанУО тебе будет гораздо легче сперва найти какой пакет или парсер пакета за что отвечает. Дальше ставишь там брейк пойнты и потом по стеку вызовов( если сервер отсылает пакет ) или через выполнение кода в дебаге ( если сервер парсит пакет ) смотришь что и как.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
volkinson
сообщение 28.3.2019, 13:23
Сообщение #5


****

Apprentice
Сообщений: 126
Регистрация: 27.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.856
Возраст: 28



Aimed, спасибо за совет. Сижу разбираюсь. Мануал у них устарел, но логика понятна. В VS 2017 все по другому, нету вкладки Build, нету опции Properties при ПКМ на папку scripts.
Я когда-то видел здесь тему и там было что-то похожее, но поиск не дал результатов. Буду разбираться дальше.

Пока идет борьба с такой ошибкой: Interop debugging is not supported
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
volkinson
сообщение 28.3.2019, 16:20
Сообщение #6


****

Apprentice
Сообщений: 126
Регистрация: 27.5.2014
Группа: Пользователи
Наличность: 0
Пользователь №: 16.856
Возраст: 28



В общем с отладкой я не справляюсь, ищу в ручную т.к. это не баг, это было сделано специально. Я нашел функцию отображения игроков:
Код
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 ) );
                }
            }
        }

Где можно такое же найти для NPC? Спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 28.3.2019, 19:23
Сообщение #7


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Смотри в BaseCreature, это базовый класс всех НПЦ сразу после Мобайла. Смотри там такой же метод, только вместо virtual будет override.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 22:26
Designed by Nickostyle