#W# Initial Commit: Avatars Conquest
This commit is contained in:
commit
5df497787a
7510 changed files with 416048 additions and 0 deletions
156
Scripts/Engines/Spawner/RunUOSpawnerExporter.cs
Normal file
156
Scripts/Engines/Spawner/RunUOSpawnerExporter.cs
Normal file
|
|
@ -0,0 +1,156 @@
|
|||
//Engine r154
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Collections.Generic;
|
||||
using Server;
|
||||
using Server.Mobiles;
|
||||
using Server.Items;
|
||||
|
||||
namespace Server.Commands
|
||||
{
|
||||
public class RunUOSpawnerExporter
|
||||
{
|
||||
public const bool Enabled = true;
|
||||
|
||||
public static bool IsLinux
|
||||
{
|
||||
get
|
||||
{
|
||||
int p = (int) Environment.OSVersion.Platform;
|
||||
return (p == 4) || (p == 6) || (p == 128);
|
||||
}
|
||||
}
|
||||
|
||||
public static void Initialize()
|
||||
{
|
||||
CommandSystem.Register( "RunUOSpawnerExporter" , AccessLevel.Administrator, new CommandEventHandler( RunUOSpawnerExporter_OnCommand ) );
|
||||
CommandSystem.Register( "RSE" , AccessLevel.Administrator, new CommandEventHandler( RunUOSpawnerExporter_OnCommand ) );
|
||||
}
|
||||
|
||||
public static int ConvertToInt( TimeSpan ts )
|
||||
{
|
||||
return ( ( ts.Hours * 60 ) + ts.Minutes + (ts.Seconds/60) );
|
||||
}
|
||||
|
||||
[Usage( "RunUOSpawnerExporter" )]
|
||||
[Aliases( "RSE" )]
|
||||
[Description( "Convert RunUO Spawners to PremiumSpawners." )]
|
||||
public static void RunUOSpawnerExporter_OnCommand( CommandEventArgs e )
|
||||
{
|
||||
Map map = e.Mobile.Map;
|
||||
List<Item> list = new List<Item>();
|
||||
|
||||
string bar = "\\";
|
||||
|
||||
if (IsLinux == true)
|
||||
bar = "/";
|
||||
|
||||
string path = @"."+bar+"Data"+bar+"Spawns"+bar;
|
||||
|
||||
if ( !Directory.Exists( path ) )
|
||||
Directory.CreateDirectory( path );
|
||||
|
||||
using ( StreamWriter op = new StreamWriter( String.Format( path+"{0}-exported.map", map ) ) )
|
||||
{
|
||||
|
||||
if ( map == null || map == Map.Internal )
|
||||
{
|
||||
e.Mobile.SendMessage( "You may not run that command here." );
|
||||
return;
|
||||
}
|
||||
|
||||
e.Mobile.SendMessage( "Converting Spawners..." );
|
||||
|
||||
foreach ( Item item in World.Items.Values )
|
||||
{
|
||||
if ( item.Map == map && item.Parent == null && item is Spawner )
|
||||
list.Add( item );
|
||||
}
|
||||
|
||||
foreach ( Spawner spawner in list )
|
||||
{
|
||||
string mapfinal = "";
|
||||
|
||||
string walkrange = "";
|
||||
|
||||
if(map == Map.Maps[0])
|
||||
{
|
||||
mapfinal = "1";
|
||||
}
|
||||
else if(map == Map.Maps[1])
|
||||
{
|
||||
mapfinal = "2";
|
||||
}
|
||||
else if(map == Map.Maps[2])
|
||||
{
|
||||
mapfinal = "3";
|
||||
}
|
||||
else if(map == Map.Maps[3])
|
||||
{
|
||||
mapfinal = "4";
|
||||
}
|
||||
else if(map == Map.Maps[4])
|
||||
{
|
||||
mapfinal = "5";
|
||||
}
|
||||
else
|
||||
{
|
||||
mapfinal = "6";
|
||||
}
|
||||
|
||||
if( spawner.WalkingRange == -1 )
|
||||
{
|
||||
walkrange = spawner.HomeRange.ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
walkrange = spawner.WalkingRange.ToString();
|
||||
}
|
||||
|
||||
int MinDelay = ConvertToInt(spawner.MinDelay);
|
||||
|
||||
if (MinDelay < 1)
|
||||
{
|
||||
MinDelay = 1;
|
||||
}
|
||||
|
||||
int MaxDelay = ConvertToInt(spawner.MaxDelay);
|
||||
|
||||
if (MaxDelay < MinDelay)
|
||||
{
|
||||
MaxDelay = MinDelay;
|
||||
}
|
||||
|
||||
string towrite = "*|";
|
||||
|
||||
if( spawner.SpawnNames.Count > 0 )
|
||||
{
|
||||
towrite = "*|" + spawner.SpawnNames[0];
|
||||
|
||||
for ( int i = 1; i < spawner.SpawnNames.Count; ++i )
|
||||
{
|
||||
towrite = towrite + ":" + spawner.SpawnNames[i].ToString();
|
||||
}
|
||||
}
|
||||
|
||||
if ( spawner.SpawnNames.Count > 0 && spawner.Running == true )
|
||||
{
|
||||
op.WriteLine( "{0}||||||{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|1|{9}|0|0|0|0|0", towrite, spawner.X, spawner.Y, spawner.Z, mapfinal, MinDelay, MaxDelay, walkrange, spawner.HomeRange, spawner.Count);
|
||||
}
|
||||
|
||||
if( spawner.SpawnNames.Count == 0 )
|
||||
{
|
||||
op.WriteLine( "## Void: {0}||||||{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|1|{9}|0|0|0|0|0", towrite, spawner.X, spawner.Y, spawner.Z, mapfinal, MinDelay, MaxDelay, walkrange, spawner.HomeRange, spawner.Count);
|
||||
}
|
||||
|
||||
if( spawner.SpawnNames.Count > 0 && spawner.Running == false )
|
||||
{
|
||||
op.WriteLine( "## Inactive: {0}||||||{1}|{2}|{3}|{4}|{5}|{6}|{7}|{8}|1|{9}|0|0|0|0|0", towrite, spawner.X, spawner.Y, spawner.Z, mapfinal, MinDelay, MaxDelay, walkrange, spawner.HomeRange, spawner.Count);
|
||||
}
|
||||
}
|
||||
e.Mobile.SendMessage( String.Format( "You exported {0} RunUO Spawner{1} from this facet.", list.Count, list.Count == 1 ? "" : "s" ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue