- Praxiiis 's Ultima Live
2) This IS NOT a mining system, it just dig tunnels, that's all
3) Then it's not that interesting if you keep using classic mining system
(on my shard I use a custom mining system that allow players to harvest only some resources, only on some spots, dynamic and randomized... So they have to dig tunnels to find harvestables mines...)
4) Have a look :
- Of course you need to have Ultima Live installed on your server
- The resource zip contains 3 folders
- Add the DeepMine folder in your customs scripts
- As a gump will use it, also add DynamicGump in your customs scripts
- Add the BlackMap to your server's clientfiles. (you can rename the files with the MapID you want)
(BlackMap is just a totally empty black map, Trammel size)
Register your map(s):
- You can add more than one blackmap, assuming you rename them with different ID
- Register your map in Server/Scripts/Misc/MapDefinitions.cs :
RegisterMap( 34, 34, 34, 7168, 4096, 1, "MapNoire", MapRules.TrammelRules );
- Register your map for Ultima Live use, in UltimaLive/Core/MapRegistry.cs:
AddMapDefinition(34, 34, new Point2D(7168, 4096), new Point2D(5120, 4096));
- Register your map for this system, in DeepMine/MineMapParsing.cs, Initialize methhod :
ParseMap(34, 10, 10);//Map to parse, nb of mines, nb of levels
HOW DOES IT WORK:
The system will logically parse the blackmap into a region grid, each column is a mine, all lines are levels of each mine.
.MineBoard is the command to open agump, which works like the .go, allowing you to teleport yourself on the differents maps/mines/levels...
But the only thing you really got to do is to place Teleporters on your playable map, with levels zero entrance for destination.
Players will travel beetween levels by Holes they will find randomly when tunneling the mine...
Mines are harvestable with classic mining system, but I strongly recommend you to create a dynamic system to take avantage of tunneling.
Content and explanations:
- MineMapParsing.cs Here you can define how many mines your map will contain, and how many levels mines will contains.
- MineBoardGump.cs The command and the gump to navigate beetween regions.
- HeavyPickAxe.cs Just the tool !
- Tunneling.cs A copy of Mining.cs, modified of course a little
- Dig.cs Everything (exept holes) concerning UltimaLive operations is there.
- Holes.cs Manage Holes
- TunnelingSkillChecks.cs There you can manage skill requirements, and an important thing for me, the number of digging effects before job is done... For testing and demo, it's only one effect, in game it will be next to 20 or more, depending on player skill, and levels of mine...
- DeepMineRegion.cs is just the region used by the system, here you can manage all rules you need...
- EventHandlers.cs Some events could be used in externals scripts