public void CompleteTaskPart(string partID, string taskID, string questName) { DbCommands.InsertTupleToTable("CompletedQuestTaskParts", partID, "0"); //print("inserted tuple to completed task parts"); int taskPartsCount = DbCommands.GetCountFromTable("QuestTaskParts", "TaskIDs = " + taskID); //print("task parts with id " + taskID + " = " + taskPartsCount); int taskPartsCompletedCount = DbCommands.GetCountFromQry(DbQueries.GetTaskPartsCompleteFromTaskID(taskID, "0")); //print("task parts completed with id " + taskID + " = " + taskPartsCompletedCount); //Debugging.PrintDbTable("CompletedQuestTaskParts"); if (taskPartsCount == taskPartsCompletedCount) { DbCommands.UpdateTableField("QuestTasksActivated", "Completed", "1", "TaskIDs = " + taskID + " AND SaveIDs = 0"); int tasksCount = DbCommands.GetCountFromTable( "QuestTasks", "QuestNames = " + DbCommands.GetParameterNameFromValue(questName), questName); string[] taskResults = DbCommands.GetTupleFromQry(DbQueries.GetAllTaskResultsQry(taskID)); //string startDialogueID = DbCommands.GetFieldValueFromTable("QuestTaskStartDialogueResults", "DialogueIDs", "TaskIDs = " + taskID); string endCombatWithCharName = taskResults[0]; string startDialogueID = taskResults[1]; if (endCombatWithCharName != "") { combatUI.EndCombatWithCharacter(endCombatWithCharName); } if (startDialogueID != "") { print(startDialogueID); DbCommands.InsertTupleToTable("ActivatedDialogues", startDialogueID, "0", "0"); dialogueUI.StartNewDialogue(startDialogueID); } int tasksCompletedCount = DbCommands.GetCountFromQry( DbQueries.GetTasksCompleteFromQuestName(questName, "0"), questName); if (tasksCount == tasksCompletedCount) { DbCommands.UpdateTableField("QuestsActivated", "Completed", "1", "SaveIDs = 0 AND QuestNames = " + DbCommands.GetParameterNameFromValue(questName), questName); } } SetQuestDetails(questName); }