Beispiel #1
0
    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);
            }
        }
    }
Beispiel #2
0
    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
    }