From 871fcd1fc8c4a679d1dc4d5e33a2c5782a34f38d Mon Sep 17 00:00:00 2001 From: Uleat Date: Thu, 14 Jul 2016 12:47:55 -0400 Subject: [PATCH] Fix for quest enabletask/disabletask api queries --- zone/tasks.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/zone/tasks.cpp b/zone/tasks.cpp index 97368db77..7420f5c18 100644 --- a/zone/tasks.cpp +++ b/zone/tasks.cpp @@ -723,8 +723,14 @@ void ClientTaskState::EnableTask(int characterID, int taskCount, int *tasks) { queryStream << ( i ? ", " : "" ) << StringFormat("(%i, %i)", characterID, tasksEnabled[i]); std::string query = queryStream.str(); - Log.Out(Logs::General, Logs::Tasks, "[UPDATE] Executing query %s", query.c_str()); - database.QueryDatabase(query); + + if (tasksEnabled.size()) { + Log.Out(Logs::General, Logs::Tasks, "[UPDATE] Executing query %s", query.c_str()); + database.QueryDatabase(query); + } + else { + Log.Out(Logs::General, Logs::Tasks, "[UPDATE] EnableTask called for characterID: %u .. but, no tasks exist!", characterID); + } } void ClientTaskState::DisableTask(int charID, int taskCount, int *taskList) { @@ -765,12 +771,19 @@ void ClientTaskState::DisableTask(int charID, int taskCount, int *taskList) { std::stringstream queryStream(StringFormat("DELETE FROM character_enabledtasks WHERE charid = %i AND (", charID)); for(unsigned int i=0; i