Core/Waypoints: Drop waypoint_scripts table
Port From (https://github.com/TrinityCore/TrinityCore/commit/3f6f683ce4b5f4a95a2d70921de2c80de6b3a8fe)
This commit is contained in:
@@ -929,26 +929,6 @@ namespace Game.Chat
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("waypoint_scripts", RBACPermissions.CommandReloadWaypointScripts, true)]
|
||||
static bool HandleReloadWpScriptsCommand(CommandHandler handler, StringArguments args)
|
||||
{
|
||||
if (Global.MapMgr.IsScriptScheduled())
|
||||
{
|
||||
handler.SendSysMessage("DB scripts used currently, please attempt reload later.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (args != null)
|
||||
Log.outInfo(LogFilter.Server, "Re-Loading Scripts from `waypoint_scripts`...");
|
||||
|
||||
Global.ObjectMgr.LoadWaypointScripts();
|
||||
|
||||
if (args != null)
|
||||
handler.SendGlobalGMSysMessage("DB table `waypoint_scripts` reloaded.");
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
[CommandGroup("all")]
|
||||
class AllCommand
|
||||
{
|
||||
@@ -1080,7 +1060,6 @@ namespace Game.Chat
|
||||
HandleReloadEventScriptsCommand(handler, null);
|
||||
HandleReloadSpellScriptsCommand(handler, null);
|
||||
handler.SendGlobalGMSysMessage("DB tables `*_scripts` reloaded.");
|
||||
HandleReloadWpScriptsCommand(handler, null);
|
||||
HandleReloadWpCommand(handler, null);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -72,244 +72,6 @@ namespace Game.Chat.Commands
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("event", RBACPermissions.CommandWpEvent)]
|
||||
static bool HandleWpEventCommand(CommandHandler handler, string subCommand, uint id, [OptionalArg] string arg, [OptionalArg] string arg2)
|
||||
{
|
||||
PreparedStatement stmt;
|
||||
|
||||
// Check
|
||||
if ((subCommand != "add") && (subCommand != "mod") && (subCommand != "del") && (subCommand != "listid"))
|
||||
return false;
|
||||
|
||||
if (subCommand == "add")
|
||||
{
|
||||
if (id != 0)
|
||||
{
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.SEL_WAYPOINT_SCRIPT_ID_BY_GUID);
|
||||
stmt.AddValue(0, id);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
|
||||
if (result.IsEmpty())
|
||||
{
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.INS_WAYPOINT_SCRIPT);
|
||||
stmt.AddValue(0, id);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Wp Event: New waypoint event added: {0}|r", "", id);
|
||||
}
|
||||
else
|
||||
handler.SendSysMessage("|cff00ff00Wp Event: You have choosed an existing waypoint script guid: {0}|r", id);
|
||||
}
|
||||
else
|
||||
{
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.SEL_WAYPOINT_SCRIPTS_MAX_ID);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
id = result.Read<uint>(0);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.INS_WAYPOINT_SCRIPT);
|
||||
stmt.AddValue(0, id + 1);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Wp Event: New waypoint event added: |r|cff00ffff{0}|r", id + 1);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (subCommand == "listid")
|
||||
{
|
||||
if (id == 0)
|
||||
{
|
||||
handler.SendSysMessage("|cff33ffffWp Event: You must provide waypoint script id.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
uint a2, a3, a4, a5, a6;
|
||||
float a8, a9, a10, a11;
|
||||
string a7;
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.SEL_WAYPOINT_SCRIPT_BY_ID);
|
||||
stmt.AddValue(0, id);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
|
||||
if (result.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage("|cff33ffffWp Event: No waypoint scripts found on id: {0}|r", id);
|
||||
return true;
|
||||
}
|
||||
|
||||
do
|
||||
{
|
||||
a2 = result.Read<uint>(0);
|
||||
a3 = result.Read<uint>(1);
|
||||
a4 = result.Read<uint>(2);
|
||||
a5 = result.Read<uint>(3);
|
||||
a6 = result.Read<uint>(4);
|
||||
a7 = result.Read<string>(5);
|
||||
a8 = result.Read<float>(6);
|
||||
a9 = result.Read<float>(7);
|
||||
a10 = result.Read<float>(8);
|
||||
a11 = result.Read<float>(9);
|
||||
|
||||
handler.SendSysMessage("|cffff33ffid:|r|cff00ffff {0}|r|cff00ff00, guid: |r|cff00ffff{1}|r|cff00ff00, delay: |r|cff00ffff{2}|r|cff00ff00, command: |r|cff00ffff{3}|r|cff00ff00," +
|
||||
"datalong: |r|cff00ffff{4}|r|cff00ff00, datalong2: |r|cff00ffff{5}|r|cff00ff00, datatext: |r|cff00ffff{6}|r|cff00ff00, posx: |r|cff00ffff{7}|r|cff00ff00, " +
|
||||
"posy: |r|cff00ffff{8}|r|cff00ff00, posz: |r|cff00ffff{9}|r|cff00ff00, orientation: |r|cff00ffff{10}|r", id, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11);
|
||||
}
|
||||
while (result.NextRow());
|
||||
}
|
||||
|
||||
if (subCommand == "del")
|
||||
{
|
||||
if (id == 0)
|
||||
{
|
||||
handler.SendSysMessage("|cffff33ffERROR: Waypoint script guid not present.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.SEL_WAYPOINT_SCRIPT_ID_BY_GUID);
|
||||
stmt.AddValue(0, id);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
|
||||
if (!result.IsEmpty())
|
||||
{
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.DEL_WAYPOINT_SCRIPT);
|
||||
stmt.AddValue(0, id);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00{0}{1}|r", "Wp Event: Waypoint script removed: ", id);
|
||||
}
|
||||
else
|
||||
handler.SendSysMessage("|cffff33ffWp Event: ERROR: you have selected a non existing script: {0}|r", id);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
if (subCommand == "mod")
|
||||
{
|
||||
if (id == 0)
|
||||
{
|
||||
handler.SendSysMessage("|cffff33ffERROR: No valid waypoint script id not present.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arg.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage("|cffff33ffERROR: No argument present.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((arg != "setid") && (arg != "delay") && (arg != "command")
|
||||
&& (arg != "datalong") && (arg != "datalong2") && (arg != "dataint") && (arg != "posx")
|
||||
&& (arg != "posy") && (arg != "posz") && (arg != "orientation"))
|
||||
{
|
||||
handler.SendSysMessage("|cffff33ffERROR: No valid argument present.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arg2.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage("|cffff33ffERROR: No additional argument present.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arg == "setid")
|
||||
{
|
||||
if (!uint.TryParse(arg2, out uint newid))
|
||||
return false;
|
||||
handler.SendSysMessage("|cff00ff00Wp Event: Waypoint script guid: {0}|r|cff00ffff id changed: |r|cff00ff00{1}|r", newid, id);
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_WAYPOINT_SCRIPT_ID);
|
||||
stmt.AddValue(0, newid);
|
||||
stmt.AddValue(1, id);
|
||||
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.SEL_WAYPOINT_SCRIPT_ID_BY_GUID);
|
||||
stmt.AddValue(0, id);
|
||||
SQLResult result = DB.World.Query(stmt);
|
||||
|
||||
if (result.IsEmpty())
|
||||
{
|
||||
handler.SendSysMessage("|cffff33ffERROR: You have selected an non existing waypoint script guid.|r");
|
||||
return true;
|
||||
}
|
||||
|
||||
if (arg == "posx")
|
||||
{
|
||||
if (!float.TryParse(arg2, out float arg3))
|
||||
return false;
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_WAYPOINT_SCRIPT_X);
|
||||
stmt.AddValue(0, arg3);
|
||||
stmt.AddValue(1, id);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Waypoint script:|r|cff00ffff {0}|r|cff00ff00 position_x updated.|r", id);
|
||||
return true;
|
||||
}
|
||||
else if (arg == "posy")
|
||||
{
|
||||
if (!float.TryParse(arg2, out float arg3))
|
||||
return false;
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_WAYPOINT_SCRIPT_Y);
|
||||
stmt.AddValue(0, arg3);
|
||||
stmt.AddValue(1, id);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Waypoint script: {0} position_y updated.|r", id);
|
||||
return true;
|
||||
}
|
||||
else if (arg == "posz")
|
||||
{
|
||||
if (!float.TryParse(arg2, out float arg3))
|
||||
return false;
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_WAYPOINT_SCRIPT_Z);
|
||||
stmt.AddValue(0, arg3);
|
||||
stmt.AddValue(1, id);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Waypoint script: |r|cff00ffff{0}|r|cff00ff00 position_z updated.|r", id);
|
||||
return true;
|
||||
}
|
||||
else if (arg == "orientation")
|
||||
{
|
||||
if (!float.TryParse(arg2, out float arg3))
|
||||
return false;
|
||||
|
||||
stmt = WorldDatabase.GetPreparedStatement(WorldStatements.UPD_WAYPOINT_SCRIPT_O);
|
||||
stmt.AddValue(0, arg3);
|
||||
stmt.AddValue(1, id);
|
||||
DB.World.Execute(stmt);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Waypoint script: |r|cff00ffff{0}|r|cff00ff00 orientation updated.|r", id);
|
||||
return true;
|
||||
}
|
||||
else if (arg == "dataint")
|
||||
{
|
||||
if (!uint.TryParse(arg2, out uint arg3))
|
||||
return false;
|
||||
|
||||
DB.World.Execute("UPDATE waypoint_scripts SET {0}='{1}' WHERE guid='{2}'", arg, arg3, id); // Query can't be a prepared statement
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Waypoint script: |r|cff00ffff{0}|r|cff00ff00 dataint updated.|r", id);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
DB.World.Execute("UPDATE waypoint_scripts SET {0}='{1}' WHERE guid='{2}'", arg, arg, id); // Query can't be a prepared statement
|
||||
}
|
||||
}
|
||||
handler.SendSysMessage("|cff00ff00Waypoint script:|r|cff00ffff{0}:|r|cff00ff00 {1} updated.|r", id, arg);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
[Command("load", RBACPermissions.CommandWpLoad)]
|
||||
static bool HandleWpLoadCommand(CommandHandler handler, uint? optionalPathId)
|
||||
{
|
||||
@@ -621,14 +383,10 @@ namespace Game.Chat.Commands
|
||||
uint point = result.Read<uint>(1);
|
||||
uint delay = result.Read<uint>(2);
|
||||
uint flag = result.Read<uint>(3);
|
||||
uint ev_id = result.Read<uint>(4);
|
||||
uint ev_chance = result.Read<ushort>(5);
|
||||
|
||||
handler.SendSysMessage("|cff00ff00Show info: for current point: |r|cff00ffff{0}|r|cff00ff00, Path ID: |r|cff00ffff{1}|r", point, pathId);
|
||||
handler.SendSysMessage("|cff00ff00Show info: delay: |r|cff00ffff{0}|r", delay);
|
||||
handler.SendSysMessage("|cff00ff00Show info: Move flag: |r|cff00ffff{0}|r", flag);
|
||||
handler.SendSysMessage("|cff00ff00Show info: Waypoint event: |r|cff00ffff{0}|r", ev_id);
|
||||
handler.SendSysMessage("|cff00ff00Show info: Event chance: |r|cff00ffff{0}|r", ev_chance);
|
||||
}
|
||||
while (result.NextRow());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user