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