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

 
Ответить в эту темуОткрыть новую тему
> Верхняя и нижняя координаты
Blutto
сообщение 6.8.2015, 14:30
Сообщение #1


**

Группа: Пользователи
Наличность: 0
Пользователь №: 17.060
Возраст: 25



Приветствую!
Подскажите пожалуйста, сервер RunUO 2.3, персонаж всё время проваливается под мостики и другие объекты которые расположены на 1 точку выше уровня земли, телепортеры входа в данжи парят в воздухе. В DATApatch указал расположение мул файлов и адрес к клиенту. В чём может быть проблема?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Soteric
сообщение 6.8.2015, 16:39
Сообщение #2


********

Master
Сообщений: 1.377
Регистрация: 7.8.2006
Группа: Пользователи
Наличность: 2890
Пользователь №: 7.166



Запость DataPath.cs
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Blutto
сообщение 6.8.2015, 16:47
Сообщение #3


**

Группа: Пользователи
Наличность: 0
Пользователь №: 17.060
Возраст: 25



Код
using System;
using System.IO;
using Microsoft.Win32;
using Server;

namespace Server.Misc
{
    public class DataPath
    {
        /* If you have not installed Ultima Online,
         * or wish the server to use a separate set of datafiles,
         * change the 'CustomPath' value.
         * Example:
         *  private static string CustomPath = @"D:\uo\Ultima Online ML";
         */
        private static string CustomPath = @"D:\uo\Ultima Online ML";

        /* The following is a list of files which a required for proper execution:
         *
         * Multi.idx
         * Multi.mul
         * VerData.mul
         * TileData.mul
         * Map*.mul or Map*LegacyMUL.uop
         * StaIdx*.mul
         * Statics*.mul
         * MapDif*.mul
         * MapDifL*.mul
         * StaDif*.mul
         * StaDifL*.mul
         * StaDifI*.mul
         */

        public static void Configure()
        {
            string pathUO = GetPath( @"Origin Worlds Online\Ultima Online\1.0", "ExePath" );
            string pathTD = GetPath( @"Origin Worlds Online\Ultima Online Third Dawn\1.0", "ExePath" ); //These refer to 2D & 3D, not the Third Dawn expansion
            string pathKR = GetPath( @"Origin Worlds Online\Ultima Online\KR Legacy Beta", "ExePath" ); //After KR, This is the new registry key for the 2D client
            string pathSA = GetPath( @"Electronic Arts\EA Games\Ultima Online Stygian Abyss Classic", "InstallDir" );
            string pathHS = GetPath( @"Electronic Arts\EA Games\Ultima Online Classic", "InstallDir" );

            if ( CustomPath != null )
                Core.DataDirectories.Add( CustomPath );

            if ( pathUO != null )
                Core.DataDirectories.Add( pathUO );

            if ( pathTD != null )
                Core.DataDirectories.Add( pathTD );

            if ( pathKR != null )
                Core.DataDirectories.Add( pathKR );

            if ( pathSA != null )
                Core.DataDirectories.Add( pathSA );

            if ( pathHS != null )
                Core.DataDirectories.Add( pathHS );

            if ( Core.DataDirectories.Count == 0 && !Core.Service )
            {
                Console.WriteLine( "Enter the Ultima Online directory:" );
                Console.Write( "> " );

                Core.DataDirectories.Add( Console.ReadLine() );
            }
        }

        private static string GetPath( string subName, string keyName )
        {
            try
            {
                string keyString;

                if( Core.Is64Bit )
                    keyString = @"SOFTWARE\Wow6432Node\{0}";
                else
                    keyString = @"SOFTWARE\{0}";

                using( RegistryKey key = Registry.LocalMachine.OpenSubKey( String.Format( keyString, subName ) ) )
                {
                    if( key == null )
                        return null;

                    string v = key.GetValue( keyName ) as string;

                    if( String.IsNullOrEmpty( v ) )
                        return null;

                    if ( keyName == "InstallDir" )
                        v = v + @"\";

                    v = Path.GetDirectoryName( v );

                    if ( String.IsNullOrEmpty( v ) )
                        return null;

                    return v;
                }
            }
            catch
            {
                return null;
            }
        }
    }
}
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 6.8.2015, 17:54
Сообщение #4


**********

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



для ML клиентов нужно TileMatrix изменить на патч для старых клиентов:

Scripts\Misc\MapDefinitions.cs
Цитата
TileMatrixPatch.Enabled = false; // OSI Client Patch 6.0.0.0
MultiComponentList.PostHSFormat = true; // OSI Client Patch 7.0.9.0

изменить на:
Код
            TileMatrixPatch.Enabled = true; // OSI Client Patch 6.0.0.0
            MultiComponentList.PostHSFormat = false; // OSI Client Patch 7.0.9.0


А еще лучше, ничего не менять, просто взять клиенты 7+ версии.
Например вот: 7.0.18.0 версия https://yadi.sk/d/RpaVzLARPF7TS

Сообщение отредактировал Juzzver - 6.8.2015, 17:55


--------------------
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Blutto
сообщение 13.8.2015, 16:48
Сообщение #5


**

Группа: Пользователи
Наличность: 0
Пользователь №: 17.060
Возраст: 25



Спасибо огромное!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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