Added option to clear characters table

Fixed planets that were trying to load a snapshot file which did not
exist
Changed /teleporttarget to take a command argument if a player is not
selected
This commit is contained in:
Waverunner
2014-08-11 10:55:20 -04:00
parent 36a930dfcf
commit 6f141678d5
4 changed files with 38 additions and 15 deletions
+5 -1
View File
@@ -14,10 +14,14 @@ LOAD.BUILDOUT_OBJECTS=0
# 1 = On, 0 = Off.
LOAD.RESOURCE.SYSTEM=1
# Toggles full wipe of Server Database (Characters, Items, etc.)
# Toggles full wipe of Object Database (Characters, Items, etc.)
# 1 = Enabled, 0 = Disabled.
CLEAN.ODB.FOLDERS=0
# Toggles wipe of characters in Datatable
# 1 = Enabled, 0 = Disabled
CLEAN.CHARACTERS.TABLE=0
# Toggles Isolation System Spawning at Tatooine 0 0 0 around no NPC's.
# 1 = On, 0 = Off.
DO.ISOLATION.TESTS=0
+4 -1
View File
@@ -11,12 +11,15 @@ def run(core, actor, target, commandString):
if not playerObject:
return
if target is None:
target = core.objectService.getObjectByFirstName(commandString)
if target and target.getSlottedObject('ghost') is not None:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Command completed successfully.', 0)
core.simulationService.teleport(target, actor.getPosition(), actor.getOrientation(), 0)
return
else:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Invalid Syntax. Syntax is: /teleportTarget <HoverTarget>', 0)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Invalid Syntax. Syntax is: /teleportTarget <Target> or /teleportTarget <Name>', 0)
return
return
+23 -11
View File
@@ -282,7 +282,6 @@ public class NGECore {
options = DefaultConfig.getConfig();
}
//if (optionsConfigLoaded && options.getInt("CLEAN.ODB.FOLDERS") > 0 || getExcludedDevelopers().contains(System.getProperty("user.name"))){
if (options.getInt("CLEAN.ODB.FOLDERS") > 0){
File baseFolder = new File("./odb");
@@ -295,6 +294,8 @@ public class NGECore {
}
}
}
System.out.println("Cleaned ODB Folders.");
}
@@ -317,6 +318,13 @@ public class NGECore {
}
setGalaxyStatus(GalaxyStatus.Loading);
if (options.getInt("CLEAN.CHARACTERS.TABLE") > 0) {
try { databaseConnection.preparedStatement("DELETE FROM characters").execute(); }
catch (SQLException e) {e.printStackTrace(); }
System.out.println("Cleared characters table.");
}
swgObjectODB = new ObjectDatabase("swgobjects", true, true, true, SWGObject.class);
mailODB = new ObjectDatabase("mails", true, true, true, Mail.class);
guildODB = new ObjectDatabase("guild", true, true, true, GuildObject.class);
@@ -467,17 +475,21 @@ public class NGECore {
terrainService.addPlanet(9, "endor", "terrain/endor.trn", true);
terrainService.addPlanet(10, "dathomir", "terrain/dathomir.trn", true);
terrainService.addPlanet(11, "mustafar", "terrain/mustafar.trn", true);
terrainService.addPlanet(12, "kashyyyk_main", "terrain/kashyyyk_main.trn", true);
terrainService.addPlanet(12, "kashyyyk_main", "terrain/kashyyyk_main.trn", false);
//Dungeon Terrains
// TODO: Fix BufferUnderFlow Errors on loaded of dungeon instances.
terrainService.addPlanet(13, "kashyyyk_dead_forest", "terrain/kashyyyk_dead_forest.trn", true);
terrainService.addPlanet(14, "kashyyyk_hunting", "terrain/kashyyyk_hunting.trn", true);
terrainService.addPlanet(15, "kashyyyk_north_dungeons", "terrain/kashyyyk_north_dungeons.trn", true);
terrainService.addPlanet(16, "kashyyyk_rryatt_trail", "terrain/kashyyyk_rryatt_trail.trn", true);
terrainService.addPlanet(17, "kashyyyk_south_dungeons", "terrain/kashyyyk_south_dungeons.trn", true);
terrainService.addPlanet(18, "adventure1", "terrain/adventure1.trn", true);
terrainService.addPlanet(19, "adventure2", "terrain/adventure2.trn", true);
terrainService.addPlanet(13, "kashyyyk_dead_forest", "terrain/kashyyyk_dead_forest.trn", false);
terrainService.addPlanet(14, "kashyyyk_hunting", "terrain/kashyyyk_hunting.trn", false);
terrainService.addPlanet(15, "kashyyyk_north_dungeons", "terrain/kashyyyk_north_dungeons.trn", false);
terrainService.addPlanet(16, "kashyyyk_rryatt_trail", "terrain/kashyyyk_rryatt_trail.trn", false);
terrainService.addPlanet(17, "kashyyyk_south_dungeons", "terrain/kashyyyk_south_dungeons.trn", false);
terrainService.addPlanet(18, "adventure1", "terrain/adventure1.trn", false);
terrainService.addPlanet(19, "adventure2", "terrain/adventure2.trn", false);
// Tutorial Terrains
terrainService.addPlanet(20, "dungeon1", "terrain/dungeon1.trn", true);
terrainService.addPlanet(21, "tutorial", "terrain/tutorial.trn", false); // 21B droid scene
//terrainService.addPlanet(22, "space_npe_falcon_3", "terrain/space_npe_falcon_3.trn", false);
//Space Zones
// NOTE: Commented out for now until space is implemented. No need to be loaded into memory when space is not implemented.
/*terrainService.addPlanet(21, "space_corellia", "terrain/space_corellia.trn", true);
@@ -494,8 +506,8 @@ public class NGECore {
terrainService.addPlanet(32, "space_naboo", "terrain/space_naboo.trn", true);
terrainService.addPlanet(33, "space_naboo_2", "terrain/space_naboo_2.trn", true);
terrainService.addPlanet(34, "space_nova_orion", "terrain/space_nova_orion.trn", true);
terrainService.addPlanet(35, "space_npe_falcon", "terrain/space_npe_falcon.trn", true); // TODO: New Player Tutorial
terrainService.addPlanet(36, "space_npe_falcon_2", "terrain/space_npe_falcon_2.trn", true); // TODO: New Player Tutorial
terrainService.addPlanet(35, "space_npe_falcon", "terrain/space_npe_falcon.trn", true); // Only space_npe_falce_3 is used
terrainService.addPlanet(36, "space_npe_falcon_2", "terrain/space_npe_falcon_2.trn", true); // Only space_npe_falce_3 is used
terrainService.addPlanet(37, "space_ord_mantell", "terrain/space_ord_mantell.trn", true);
terrainService.addPlanet(38, "space_ord_mantell_2", "terrain/space_ord_mantell_2.trn", true);
terrainService.addPlanet(39, "space_ord_mantell_3", "terrain/space_ord_mantell_3.trn", true);
+6 -2
View File
@@ -223,15 +223,19 @@ public class TerrainService {
if (options != null && options.getInt("LOAD.BUILDOUT_OBJECTS") > 0) {
if (!core.getExcludedDevelopers().contains(System.getProperty("user.name"))){
if (! options.keyExists("LOAD.BUILDOUT_ONLY_FOR")){
try {
try {
System.out.println("Loading buildout objects for: " + planet.getName());
core.objectService.loadBuildoutObjects(planet);
System.out.println("Finished loading buildout objects for: " + planet.getName());
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
} else {
} else {
if (planet.getName().trim().equals(options.getString("LOAD.BUILDOUT_ONLY_FOR").trim())){
try {
System.out.println("Loading buildout objects for: " + planet.getName());
core.objectService.loadBuildoutObjects(planet);
System.out.println("Finished loading buildout objects for " + planet.getName());
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}