#W# Added MoveToLoc script [movetoloc +100 -100. Tweaked [spawngen savebyhand to use SpawnID 99.
This commit is contained in:
parent
d802787ee2
commit
eeab1c9664
4 changed files with 58 additions and 5 deletions
53
Scripts/Commands/Admin/MoveToLocation.cs
Normal file
53
Scripts/Commands/Admin/MoveToLocation.cs
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
using System;
|
||||
using Server;
|
||||
using Server.Commands;
|
||||
|
||||
namespace Server.Commands
|
||||
{
|
||||
public class MoveToLocCommand
|
||||
{
|
||||
public static void Initialize()
|
||||
{
|
||||
// Registers the command. GMs and Admins can use it.
|
||||
CommandSystem.Register( "MoveToLoc", AccessLevel.GameMaster, new CommandEventHandler( MoveToLoc_OnCommand ) );
|
||||
}
|
||||
|
||||
[Usage( "MoveToLoc [+x/-x] [+y/-y] [+z/-z]" )]
|
||||
public static void MoveToLoc_OnCommand( CommandEventArgs e )
|
||||
{
|
||||
Mobile from = e.Mobile;
|
||||
|
||||
if ( e.Length < 2 )
|
||||
{
|
||||
from.SendMessage( "Usage: [MoveToLoc [+x/-x] [+y/-y] [+z/-z]" );
|
||||
return;
|
||||
}
|
||||
|
||||
int currentX = from.X;
|
||||
int currentY = from.Y;
|
||||
int currentZ = from.Z;
|
||||
|
||||
int targetX = ParseCoordinate( e.GetString( 0 ), currentX );
|
||||
int targetY = ParseCoordinate( e.GetString( 1 ), currentY );
|
||||
int targetZ = ( e.Length >= 3 ) ? ParseCoordinate( e.GetString( 2 ), currentZ ) : currentZ;
|
||||
|
||||
from.MoveToWorld( new Point3D( targetX, targetY, targetZ ), from.Map );
|
||||
}
|
||||
|
||||
private static int ParseCoordinate( string input, int currentVal )
|
||||
{
|
||||
if ( string.IsNullOrEmpty( input ) )
|
||||
return currentVal;
|
||||
|
||||
// Check if it starts with a relative modification operator
|
||||
if ( input.StartsWith( "+" ) || input.StartsWith( "-" ) )
|
||||
{
|
||||
int modifier = Utility.ToInt32( input );
|
||||
return currentVal + modifier;
|
||||
}
|
||||
|
||||
// Otherwise treat it as a standard absolute coordinate
|
||||
return Utility.ToInt32( input );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@ namespace Server
|
|||
|
||||
foreach ( Item itemsave in World.Items.Values )
|
||||
{
|
||||
if ( itemsave is PremiumSpawner && ((PremiumSpawner)itemsave).SpawnID == 1 )
|
||||
if ( itemsave is PremiumSpawner && ((PremiumSpawner)itemsave).SpawnID == 99 )
|
||||
{
|
||||
itemtodo.Add( itemsave );
|
||||
count +=1;
|
||||
|
|
@ -643,4 +643,4 @@ namespace Server
|
|||
m_Count++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -391,7 +391,7 @@ command prompt instead:
|
|||
|
||||
[spawngen savebyhand
|
||||
To save spawns done "by hand" ([add premiumspawner... all by hand premium
|
||||
spawners has SpawnID = 1). Spawns will be saved in "byhand.map" file in
|
||||
spawners has SpawnID = 99). Spawns will be saved in "byhand.map" file in
|
||||
Data/Monsters folder.
|
||||
|
||||
[spawngen save x1 y1 x2 y2
|
||||
|
|
@ -610,4 +610,4 @@ etc
|
|||
You can place more then one cfg inside the same folder, and don't
|
||||
need to have the name Overseers.cfg. Files can have any name. You
|
||||
can do a file "Graveyards.cfg" for all graveyards in a facet. Plus
|
||||
another called "Florests.cfg" for florests and open areas etc.
|
||||
another called "Florests.cfg" for florests and open areas etc.
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ namespace Server
|
|||
private static Type[] FieldAnimals = new Type[]
|
||||
{
|
||||
typeof( BrownBear ), typeof( Goat ), typeof( MountainGoat ),
|
||||
typeof( Llama ), typeof( Cow ), typeof( Bull ), typeof( Horse )
|
||||
typeof( Cow ), typeof( Bull )
|
||||
};
|
||||
|
||||
private static Type[] SnowAnimals = new Type[]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue