Neophyte
Сообщений: 46
Регистрация: 16.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.572
Возраст: 30
|
Доброго времени суток. У меня такой вопрос, как сделать в РунУо что б персонаж не проваливался под землю, в файле MapDefinitions.cs в строках: TileMatrixPatch.Enabled = false; // OSI Client Patch 6.0.0.0 и
MultiComponentList.PostHSFormat = true; // OSI Client Patch 7.0.9.0 true, false и там и там пробовал менять ничего не получается. Продавцы тоже все под землей. Кто сможет подсказать в чем проблема?
DataPath.cs 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:\games\Electronic Arts\Ultima Online Classic"; */ private static string CustomPath = @"D:\games\Electronic Arts\Ultima Online Classic";
/* 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; } } } }
MapDefinitions.cs using System; using Server;
namespace Server.Misc { public class MapDefinitions { public static void Configure() { /* Here we configure all maps. Some notes: * * 1) The first 32 maps are reserved for core use. * 2) Map 0x7F is reserved for core use. * 3) Map 0xFF is reserved for core use. * 4) Changing or removing any predefined maps may cause server instability. */
RegisterMap( 0, 0, 0, 7168, 4096, 4, "Felucca", MapRules.FeluccaRules ); RegisterMap( 1, 1, 1, 7168, 4096, 0, "Trammel", MapRules.TrammelRules ); RegisterMap( 2, 2, 2, 2304, 1600, 1, "Ilshenar", MapRules.TrammelRules ); RegisterMap( 3, 3, 3, 2560, 2048, 1, "Malas", MapRules.TrammelRules ); RegisterMap( 4, 4, 4, 1448, 1448, 1, "Tokuno", MapRules.TrammelRules ); RegisterMap( 5, 5, 5, 1280, 4096, 1, "TerMur", MapRules.TrammelRules );
RegisterMap( 0x7F, 0x7F, 0x7F, Map.SectorSize, Map.SectorSize, 1, "Internal", MapRules.Internal );
/* Example of registering a custom map: * RegisterMap( 32, 0, 0, 6144, 4096, 3, "Iceland", MapRules.FeluccaRules ); * * Defined: * RegisterMap( <index>, <mapID>, <fileIndex>, <width>, <height>, <season>, <name>, <rules> ); * - <index> : An unreserved unique index for this map * - <mapID> : An identification number used in client communications. For any visible maps, this value must be from 0-5 * - <fileIndex> : A file identification number. For any visible maps, this value must be from 0-5 * - <width>, <height> : Size of the map (in tiles) * - <season> : Season of the map. 0 = Spring, 1 = Summer, 2 = Fall, 3 = Winter, 4 = Desolation * - <name> : Reference name for the map, used in props gump, get/set commands, region loading, etc * - <rules> : Rules and restrictions associated with the map. See documentation for details */
TileMatrixPatch.Enabled = true; // OSI Client Patch 6.0.0.0
MultiComponentList.PostHSFormat = false; // OSI Client Patch 7.0.9.0 }
public static void RegisterMap( int mapIndex, int mapID, int fileIndex, int width, int height, int season, string name, MapRules rules ) { Map newMap = new Map( mapID, mapIndex, fileIndex, width, height, season, name, rules );
Map.Maps[mapIndex] = newMap; Map.AllMaps.Add( newMap ); } } }
|