示例#1
0
 private void CharacterSave_UCE_Quest(Player player)
 {
     // quests: remove old entries first, then add all new ones
     connection.Execute("DELETE FROM character_UCE_quests WHERE character = ?", player.name);
     foreach (UCE_Quest quest in player.UCE_quests)
     {
         connection.Execute("INSERT INTO character_UCE_quests VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                            player.name,
                            quest.name,
                            UCE_Tools.IntArrayToString(quest.killedTarget),
                            UCE_Tools.IntArrayToString(quest.killedTarget),
                            UCE_Tools.IntArrayToString(quest.gatheredTarget),
                            UCE_Tools.IntArrayToString(quest.harvestedTarget),
                            UCE_Tools.IntArrayToString(quest.visitedTarget),
                            UCE_Tools.IntArrayToString(quest.craftedTarget),
                            UCE_Tools.IntArrayToString(quest.lootedTarget),
                            quest.completed,
                            quest.completedAgain,
                            quest.lastCompleted,
                            quest.counter);
     }
 }
示例#2
0
    private void CharacterSave_UCE_Quest(Player player)
    {
#if _MYSQL && _SERVER
        var query2 = @"
            INSERT INTO character_UCE_quests
            SET
            `character`=@character,
            name=@name,
            killed=@killed,
            gathered=@gathered,
            harvested=@harvested,
            visited=@visited,
            crafted=@crafted,
            looted=@looted,
            completed=@completed,
            completedAgain=@completedAgain,
            lastCompleted=@lastCompleted,
            counter=@counter
            ON DUPLICATE KEY UPDATE
            name=@name,
            killed=@killed,
            gathered=@gathered,
            harvested=@harvested,
            visited=@visited,
            crafted=@crafted,
            looted=@looted,
            completed=@completed,
            completedAgain=@completedAgain,
            lastCompleted=@lastCompleted,
            counter=@counter
            ";

        foreach (UCE_Quest quest in player.UCE_quests)
        {
            ExecuteNonQueryMySql(query2,
                                 new MySqlParameter("@character", player.name),
                                 new MySqlParameter("@name", quest.name),
                                 new MySqlParameter("@killed", UCE_Tools.IntArrayToString(quest.killedTarget)),
                                 new MySqlParameter("@gathered", UCE_Tools.IntArrayToString(quest.gatheredTarget)),
                                 new MySqlParameter("@harvested", UCE_Tools.IntArrayToString(quest.harvestedTarget)),
                                 new MySqlParameter("@visited", UCE_Tools.IntArrayToString(quest.visitedTarget)),
                                 new MySqlParameter("@crafted", UCE_Tools.IntArrayToString(quest.craftedTarget)),
                                 new MySqlParameter("@looted", UCE_Tools.IntArrayToString(quest.lootedTarget)),
                                 new MySqlParameter("@completed", Convert.ToInt32(quest.completed)),
                                 new MySqlParameter("@completedAgain", Convert.ToInt16(quest.completedAgain)),
                                 new MySqlParameter("@lastCompleted", quest.lastCompleted),
                                 new MySqlParameter("@counter", quest.counter)
                                 );
        }
#elif _SQLITE && _SERVER
        connection.Execute("DELETE FROM character_UCE_quests WHERE character=?", player.name);
        foreach (UCE_Quest quest in player.UCE_quests)
        {
            connection.Insert(new character_UCE_quests
            {
                character      = player.name,
                name           = quest.name,
                pvped          = UCE_Tools.IntArrayToString(quest.killedTarget),
                killed         = UCE_Tools.IntArrayToString(quest.killedTarget),
                gathered       = UCE_Tools.IntArrayToString(quest.gatheredTarget),
                harvested      = UCE_Tools.IntArrayToString(quest.harvestedTarget),
                visited        = UCE_Tools.IntArrayToString(quest.visitedTarget),
                crafted        = UCE_Tools.IntArrayToString(quest.craftedTarget),
                looted         = UCE_Tools.IntArrayToString(quest.lootedTarget),
                completed      = quest.completed,
                completedAgain = quest.completedAgain,
                lastCompleted  = quest.lastCompleted,
                counter        = quest.counter
            });
        }
#endif
    }
    private void CharacterSave_UCE_Quest(Player player)
    {
#if _MYSQL
        var query2 = @"
            INSERT INTO character_UCE_quests
            SET
            `character`=@character,
            name=@name,
            killed=@killed,
            gathered=@gathered,
            harvested=@harvested,
            visited=@visited,
            crafted=@crafted,
            looted=@looted,
            completed=@completed,
            completedAgain=@completedAgain,
            lastCompleted=@lastCompleted,
            counter=@counter
            ON DUPLICATE KEY UPDATE
            name=@name,
            killed=@killed,
            gathered=@gathered,
            harvested=@harvested,
            visited=@visited,
            crafted=@crafted,
            looted=@looted,
            completed=@completed,
            completedAgain=@completedAgain,
            lastCompleted=@lastCompleted,
            counter=@counter
            ";

        foreach (UCE_Quest quest in player.UCE_quests)
        {
            ExecuteNonQueryMySql(query2,
                                 new MySqlParameter("@character", player.name),
                                 new MySqlParameter("@name", quest.name),
                                 new MySqlParameter("@killed", UCE_Tools.IntArrayToString(quest.killedTarget)),
                                 new MySqlParameter("@gathered", UCE_Tools.IntArrayToString(quest.gatheredTarget)),
                                 new MySqlParameter("@harvested", UCE_Tools.IntArrayToString(quest.harvestedTarget)),
                                 new MySqlParameter("@visited", UCE_Tools.IntArrayToString(quest.visitedTarget)),
                                 new MySqlParameter("@crafted", UCE_Tools.IntArrayToString(quest.craftedTarget)),
                                 new MySqlParameter("@looted", UCE_Tools.IntArrayToString(quest.lootedTarget)),
                                 new MySqlParameter("@completed", Convert.ToInt32(quest.completed)),
                                 new MySqlParameter("@completedAgain", Convert.ToInt16(quest.completedAgain)),
                                 new MySqlParameter("@lastCompleted", quest.lastCompleted),
                                 new MySqlParameter("@counter", quest.counter)
                                 );
        }
#elif _SQLITE
        // quests: remove old entries first, then add all new ones
        ExecuteNonQuery("DELETE FROM character_UCE_quests WHERE character=@character",
                        new SqliteParameter("@character", player.name));
        foreach (UCE_Quest quest in player.UCE_quests)
        {
            ExecuteNonQuery("INSERT INTO character_UCE_quests VALUES (@character, @name, @pvped, @killed, @gathered, @harvested, @visited, @crafted, @looted, @completed, @completedAgain, @lastCompleted, @counter)",
                            new SqliteParameter("@character", player.name),
                            new SqliteParameter("@name", quest.name),
                            new SqliteParameter("@pvped", UCE_Tools.IntArrayToString(quest.killedTarget)),
                            new SqliteParameter("@killed", UCE_Tools.IntArrayToString(quest.killedTarget)),
                            new SqliteParameter("@gathered", UCE_Tools.IntArrayToString(quest.gatheredTarget)),
                            new SqliteParameter("@harvested", UCE_Tools.IntArrayToString(quest.harvestedTarget)),
                            new SqliteParameter("@visited", UCE_Tools.IntArrayToString(quest.visitedTarget)),
                            new SqliteParameter("@crafted", UCE_Tools.IntArrayToString(quest.craftedTarget)),
                            new SqliteParameter("@looted", UCE_Tools.IntArrayToString(quest.lootedTarget)),
                            new SqliteParameter("@completed", Convert.ToInt32(quest.completed)),
                            new SqliteParameter("@completedAgain", Convert.ToInt32(quest.completedAgain)),
                            new SqliteParameter("@lastCompleted", quest.lastCompleted),
                            new SqliteParameter("@counter", quest.counter)
                            );
        }
#endif
    }