#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 )
|
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 );
|
itemtodo.Add( itemsave );
|
||||||
count +=1;
|
count +=1;
|
||||||
|
|
|
||||||
|
|
@ -391,7 +391,7 @@ command prompt instead:
|
||||||
|
|
||||||
[spawngen savebyhand
|
[spawngen savebyhand
|
||||||
To save spawns done "by hand" ([add premiumspawner... all by hand premium
|
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.
|
Data/Monsters folder.
|
||||||
|
|
||||||
[spawngen save x1 y1 x2 y2
|
[spawngen save x1 y1 x2 y2
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ namespace Server
|
||||||
private static Type[] FieldAnimals = new Type[]
|
private static Type[] FieldAnimals = new Type[]
|
||||||
{
|
{
|
||||||
typeof( BrownBear ), typeof( Goat ), typeof( MountainGoat ),
|
typeof( BrownBear ), typeof( Goat ), typeof( MountainGoat ),
|
||||||
typeof( Llama ), typeof( Cow ), typeof( Bull ), typeof( Horse )
|
typeof( Cow ), typeof( Bull )
|
||||||
};
|
};
|
||||||
|
|
||||||
private static Type[] SnowAnimals = new Type[]
|
private static Type[] SnowAnimals = new Type[]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue