private void CharacterLoad_UCE_Quest(Player player) { var table = connection.Query <quest>( "SELECT name, pvped, killed, gathered, harvested, visited, crafted, looted, completed, completedAgain, lastCompleted, counter FROM character_UCE_quests WHERE character = ?", player.name); foreach (var row in table) { string questName = row.name; UCE_ScriptableQuest questData; if (UCE_ScriptableQuest.dict.TryGetValue(questName.GetStableHashCode(), out questData)) { UCE_Quest quest = new UCE_Quest(questData); quest.pvpedTarget = UCE_Tools.IntStringToArray(row.pvped); quest.killedTarget = UCE_Tools.IntStringToArray(row.killed); quest.gatheredTarget = UCE_Tools.IntStringToArray(row.gathered); quest.harvestedTarget = UCE_Tools.IntStringToArray(row.harvested); quest.visitedTarget = UCE_Tools.IntStringToArray(row.visited); quest.craftedTarget = UCE_Tools.IntStringToArray(row.crafted); quest.lootedTarget = UCE_Tools.IntStringToArray(row.looted); foreach (int i in quest.visitedTarget) { if (i != 0) { quest.visitedCount++; } } quest.completed = row.completed != 0; // sqlite has no bool quest.completedAgain = row.completedAgain != 0; // sqlite has no bool quest.lastCompleted = row.lastCompleted; quest.counter = row.counter; player.UCE_quests.Add(quest); } } }
private void CharacterLoad_UCE_Quest(Player player) { #if _MYSQL && _SERVER List <List <object> > table = ExecuteReaderMySql("SELECT name, killed, gathered, harvested, visited, crafted, looted, completed, completedAgain, lastCompleted, counter FROM character_UCE_quests WHERE `character`=@character", new MySqlParameter("@character", player.name)); foreach (List <object> row in table) { string questName = (string)row[0]; UCE_ScriptableQuest questData; if (UCE_ScriptableQuest.dict.TryGetValue(questName.GetDeterministicHashCode(), out questData)) { UCE_Quest quest = new UCE_Quest(questData); quest.killedTarget = UCE_Tools.IntStringToArray((string)row[1]); quest.gatheredTarget = UCE_Tools.IntStringToArray((string)row[2]); quest.harvestedTarget = UCE_Tools.IntStringToArray((string)row[3]); quest.visitedTarget = UCE_Tools.IntStringToArray((string)row[4]); quest.craftedTarget = UCE_Tools.IntStringToArray((string)row[5]); quest.lootedTarget = UCE_Tools.IntStringToArray((string)row[6]); foreach (int i in quest.visitedTarget) { if (i != 0) { quest.visitedCount++; } } quest.completed = ((int)row[7]) != 0; // sqlite has no bool quest.completedAgain = ((int)row[8]) != 0; // sqlite has no bool quest.lastCompleted = (string)row[9]; quest.counter = (int)row[10]; player.UCE_quests.Add(quest); } } #elif _SQLITE && _SERVER var table = connection.Query <character_UCE_quests>("SELECT name, pvped, killed, gathered, harvested, visited, crafted, looted, completed, completedAgain, lastCompleted, counter FROM character_UCE_quests WHERE character=?", player.name); foreach (var row in table) { string questName = row.name; UCE_ScriptableQuest questData; if (UCE_ScriptableQuest.dict.TryGetValue(questName.GetDeterministicHashCode(), out questData)) { UCE_Quest quest = new UCE_Quest(questData); quest.pvpedTarget = UCE_Tools.IntStringToArray(row.pvped); quest.killedTarget = UCE_Tools.IntStringToArray(row.killed); quest.gatheredTarget = UCE_Tools.IntStringToArray(row.gathered); quest.harvestedTarget = UCE_Tools.IntStringToArray(row.harvested); quest.visitedTarget = UCE_Tools.IntStringToArray(row.visited); quest.craftedTarget = UCE_Tools.IntStringToArray(row.crafted); quest.lootedTarget = UCE_Tools.IntStringToArray(row.looted); foreach (int i in quest.visitedTarget) { if (i != 0) { quest.visitedCount++; } } quest.completed = row.completed; quest.completedAgain = row.completedAgain; quest.lastCompleted = row.lastCompleted; quest.counter = row.counter; player.UCE_quests.Add(quest); } } #endif }