#W# Created script to import LootCrate/Box/Chests.

This commit is contained in:
WarrentyExpired 2026-07-27 14:40:51 -04:00
parent 03065a46bc
commit 30f7ae33ef
24 changed files with 940 additions and 793 deletions

View file

@ -0,0 +1,63 @@
using System;
using System.IO;
using Server;
using Server.Items;
using Server.Commands;
namespace Server.Scripts.Commands
{
public class ExportChestsCommand
{
public static void Initialize()
{
CommandSystem.Register( "ExportChests", AccessLevel.Administrator, new CommandEventHandler( ExportChests_OnCommand ) );
}
[Usage( "ExportChests" )]
[Description( "Exports all placed LootChest items on your current map to a cfg file in Data/Decoration." )]
private static void ExportChests_OnCommand( CommandEventArgs e )
{
Map currentMap = e.Mobile.Map;
if ( currentMap == null || currentMap == Map.Internal )
{
e.Mobile.SendMessage( "You cannot export from the internal map." );
return;
}
string exportDir = Path.Combine( Core.BaseDirectory, "Data", "Decoration" );
if ( !Directory.Exists( exportDir ) )
{
Directory.CreateDirectory( exportDir );
}
string fileName = String.Format( "ExportedLoot_{0}.cfg", currentMap.Name );
string filePath = Path.Combine( exportDir, fileName );
int count = 0;
using ( StreamWriter op = new StreamWriter( filePath ) )
{
foreach ( Item item in World.Items.Values )
{
if ( item is LootChest && !(item is SunkenShip) && item.Parent == null && item.Map == currentMap )
{
string typeName = item.GetType().Name.ToLower();
int itemID = item.ItemID;
int hue = item.Hue;
string name = item.Name ?? "";
op.WriteLine( "{0} {1} (Hue={2}; Name={3})", typeName, itemID, hue, name );
op.WriteLine( "{0} {1} {2}", item.X, item.Y, item.Z );
op.WriteLine();
count++;
}
}
}
e.Mobile.SendMessage( "{0} chests exported! Check your Data/Decoration folder for {1}.", count, fileName );
}
}
}

View file

@ -1,350 +1,460 @@
using System;
using System.Collections.Generic;
using Server;
using Server.ContextMenus;
using Server.Engines.PartySystem;
using Server.Gumps;
using Server.Multis;
using Server.Network;
namespace Server.Items
{
[Flipable( 0xE3E, 0xE3F )]
public class LootCrate1 : LootChest
{
[Constructable]
public LootCrate1()
{
Name = "crate";
ItemID = 0xE3E;
Level = 1;
Category = 1;
}
public LootCrate1( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE3C, 0xE3D )]
public class LootCrate2 : LootChest
{
[Constructable]
public LootCrate2()
{
Name = "crate";
ItemID = 0xE3C;
Level = 2;
Category = 1;
}
public LootCrate2( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x645, 0x646 )]
public class LootCrate3 : LootChest
{
[Constructable]
public LootCrate3()
{
Name = "crate";
ItemID = 0x645;
Level = 3;
Category = 1;
}
public LootCrate3( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x0E99, 0x0E9A )]
public class LootCrate4 : LootChest
{
[Constructable]
public LootCrate4()
{
Name = "crate";
ItemID = 0x0E99;
Level = 4;
Category = 1;
}
public LootCrate4( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x52D, 0x52E )]
public class LootBox1 : LootChest
{
[Constructable]
public LootBox1()
{
Name = "wooden chest";
ItemID = 0x52D;
Level = 1;
Category = 2;
Hue = 0x96D;
}
public LootBox1( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x5ED, 0x5EE )]
public class LootBox2 : LootChest
{
[Constructable]
public LootBox2()
{
Name = "wooden chest";
ItemID = 0x5ED;
Level = 2;
Category = 2;
Hue = 0x96D;
}
public LootBox2( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE42, 0xE43 )]
public class LootBox3 : LootChest
{
[Constructable]
public LootBox3()
{
Name = "wooden chest";
ItemID = 0xE42;
Level = 3;
Category = 2;
}
public LootBox3( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x481, 0x488 )]
public class LootBox4 : LootChest
{
[Constructable]
public LootBox4()
{
Name = "wooden chest";
ItemID = 0x481;
Level = 4;
Category = 2;
}
public LootBox4( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x9AB, 0xE7C )]
public class LootChest1 : LootChest
{
[Constructable]
public LootChest1()
{
Name = "metal chest";
ItemID = 0x9AB;
Level = 1;
Category = 3;
}
public LootChest1( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE54, 0xE55 )]
public class LootChest2 : LootChest
{
[Constructable]
public LootChest2()
{
Name = "metal chest";
ItemID = 0xE54;
Level = 2;
Category = 3;
}
public LootChest2( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE40, 0xE41 )]
public class LootChest3 : LootChest
{
[Constructable]
public LootChest3()
{
Name = "metal chest";
ItemID = 0xE40;
Level = 3;
Category = 3;
}
public LootChest3( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE52, 0xE53 )]
public class LootChest4 : LootChest
{
[Constructable]
public LootChest4()
{
Name = "metal chest";
ItemID = 0xE52;
Level = 4;
Category = 3;
}
public LootChest4( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}
using System;
using System.Collections.Generic;
using Server;
using Server.ContextMenus;
using Server.Engines.PartySystem;
using Server.Gumps;
using Server.Multis;
using Server.Network;
namespace Server.Items
{
[Flipable( 0xE3E, 0xE3F )]
public class LootCrate1 : LootChest
{
[Constructable]
public LootCrate1()
{
Name = "crate";
ItemID = 0xE3E;
Level = 1;
Category = 1;
}
[Constructable]
public LootCrate1( int itemID )
{
Name = "crate";
ItemID = itemID;
Level = 1;
Category = 1;
}
public LootCrate1( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE3C, 0xE3D )]
public class LootCrate2 : LootChest
{
[Constructable]
public LootCrate2()
{
Name = "crate";
ItemID = 0xE3C;
Level = 2;
Category = 1;
}
[Constructable]
public LootCrate2( int itemID )
{
Name = "crate";
ItemID = itemID;
Level = 2;
Category = 1;
}
public LootCrate2( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x645, 0x646 )]
public class LootCrate3 : LootChest
{
[Constructable]
public LootCrate3()
{
Name = "crate";
ItemID = 0x645;
Level = 3;
Category = 1;
}
[Constructable]
public LootCrate3( int itemID )
{
Name = "crate";
ItemID = itemID;
Level = 3;
Category = 1;
}
public LootCrate3( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x0E99, 0x0E9A )]
public class LootCrate4 : LootChest
{
[Constructable]
public LootCrate4()
{
Name = "crate";
ItemID = 0x0E99;
Level = 4;
Category = 1;
}
[Constructable]
public LootCrate4( int itemID )
{
Name = "crate";
ItemID = itemID;
Level = 4;
Category = 1;
}
public LootCrate4( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x52D, 0x52E )]
public class LootBox1 : LootChest
{
[Constructable]
public LootBox1()
{
Name = "wooden chest";
ItemID = 0x52D;
Level = 1;
Category = 2;
Hue = 0x96D;
}
[Constructable]
public LootBox1( int itemID )
{
Name = "wooden chest";
ItemID = itemID;
Level = 1;
Category = 2;
Hue = 0x96D;
}
public LootBox1( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x5ED, 0x5EE )]
public class LootBox2 : LootChest
{
[Constructable]
public LootBox2()
{
Name = "wooden chest";
ItemID = 0x5ED;
Level = 2;
Category = 2;
Hue = 0x96D;
}
[Constructable]
public LootBox2( int itemID )
{
Name = "wooden chest";
ItemID = itemID;
Level = 2;
Category = 2;
Hue = 0x96D;
}
public LootBox2( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE42, 0xE43 )]
public class LootBox3 : LootChest
{
[Constructable]
public LootBox3()
{
Name = "wooden chest";
ItemID = 0xE42;
Level = 3;
Category = 2;
}
[Constructable]
public LootBox3( int itemID )
{
Name = "wooden chest";
ItemID = itemID;
Level = 3;
Category = 2;
}
public LootBox3( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x481, 0x488 )]
public class LootBox4 : LootChest
{
[Constructable]
public LootBox4()
{
Name = "wooden chest";
ItemID = 0x481;
Level = 4;
Category = 2;
}
[Constructable]
public LootBox4( int itemID )
{
Name = "wooden chest";
ItemID = itemID;
Level = 4;
Category = 2;
}
public LootBox4( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0x9AB, 0xE7C )]
public class LootChest1 : LootChest
{
[Constructable]
public LootChest1()
{
Name = "metal chest";
ItemID = 0x9AB;
Level = 1;
Category = 3;
}
[Constructable]
public LootChest1( int itemID )
{
Name = "metal chest";
ItemID = itemID;
Level = 1;
Category = 3;
}
public LootChest1( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE54, 0xE55 )]
public class LootChest2 : LootChest
{
[Constructable]
public LootChest2()
{
Name = "metal chest";
ItemID = 0xE54;
Level = 2;
Category = 3;
}
[Constructable]
public LootChest2( int itemID )
{
Name = "metal chest";
ItemID = itemID;
Level = 2;
Category = 3;
}
public LootChest2( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE40, 0xE41 )]
public class LootChest3 : LootChest
{
[Constructable]
public LootChest3()
{
Name = "metal chest";
ItemID = 0xE40;
Level = 3;
Category = 3;
}
[Constructable]
public LootChest3( int itemID )
{
Name = "metal chest";
ItemID = itemID;
Level = 3;
Category = 3;
}
public LootChest3( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
[Flipable( 0xE52, 0xE53 )]
public class LootChest4 : LootChest
{
[Constructable]
public LootChest4()
{
Name = "metal chest";
ItemID = 0xE52;
Level = 4;
Category = 3;
}
[Constructable]
public LootChest4( int itemID )
{
Name = "metal chest";
ItemID = itemID;
Level = 4;
Category = 3;
}
public LootChest4( Serial serial ) : base( serial )
{
}
public override void Serialize( GenericWriter writer )
{
base.Serialize( writer );
writer.Write( (int) 0 );
}
public override void Deserialize( GenericReader reader )
{
base.Deserialize( reader );
int version = reader.ReadInt();
}
}
}