mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-06-09 05:54:50 +02:00
Got aetheryte map and completed quest work values... working.
This commit is contained in:
parent
a2c4d077e9
commit
306f4ef346
11 changed files with 546 additions and 382 deletions
|
@ -763,7 +763,7 @@ namespace Meteor.Map
|
|||
}
|
||||
}
|
||||
|
||||
public static void CompleteQuest(Player player, uint questId)
|
||||
public static void SaveCompletedQuests(Player player)
|
||||
{
|
||||
string query;
|
||||
MySqlCommand cmd;
|
||||
|
@ -776,15 +776,15 @@ namespace Meteor.Map
|
|||
|
||||
query = @"
|
||||
INSERT INTO characters_quest_completed
|
||||
(characterId, questId)
|
||||
(characterId, completedQuests)
|
||||
VALUES
|
||||
(@charaId, @questId)
|
||||
ON DUPLICATE KEY UPDATE characterId=characterId
|
||||
(@charaId, @completedQuests)
|
||||
ON DUPLICATE KEY UPDATE completedQuests=completedQuests
|
||||
";
|
||||
|
||||
cmd = new MySqlCommand(query, conn);
|
||||
cmd.Parameters.AddWithValue("@charaId", player.Id);
|
||||
cmd.Parameters.AddWithValue("@questId", 0xFFFFF & questId);
|
||||
cmd.Parameters.AddWithValue("@completedQuests", Utils.ConvertBoolArrayToBinaryStream(player.playerWork.questScenarioComplete));
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
}
|
||||
|
@ -799,31 +799,6 @@ namespace Meteor.Map
|
|||
}
|
||||
}
|
||||
|
||||
public static bool IsQuestCompleted(Player player, uint questId)
|
||||
{
|
||||
bool isCompleted = false;
|
||||
using (MySqlConnection conn = new MySqlConnection(String.Format("Server={0}; Port={1}; Database={2}; UID={3}; Password={4}", ConfigConstants.DATABASE_HOST, ConfigConstants.DATABASE_PORT, ConfigConstants.DATABASE_NAME, ConfigConstants.DATABASE_USERNAME, ConfigConstants.DATABASE_PASSWORD)))
|
||||
{
|
||||
try
|
||||
{
|
||||
conn.Open();
|
||||
MySqlCommand cmd = new MySqlCommand("SELECT * FROM characters_quest_completed WHERE characterId = @charaId and questId = @questId", conn);
|
||||
cmd.Parameters.AddWithValue("@charaId", player.Id);
|
||||
cmd.Parameters.AddWithValue("@questId", questId);
|
||||
isCompleted = cmd.ExecuteScalar() != null;
|
||||
}
|
||||
catch (MySqlException e)
|
||||
{
|
||||
Program.Log.Error(e.ToString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
conn.Dispose();
|
||||
}
|
||||
}
|
||||
return isCompleted;
|
||||
}
|
||||
|
||||
public static void LoadPlayerCharacter(Player player)
|
||||
{
|
||||
string query;
|
||||
|
@ -1267,6 +1242,25 @@ namespace Meteor.Map
|
|||
}
|
||||
}
|
||||
|
||||
//Load Completed Quests bitstream
|
||||
query = @"
|
||||
SELECT
|
||||
completedQuests
|
||||
FROM characters_quest_completed WHERE characterId = @charaId";
|
||||
|
||||
cmd = new MySqlCommand(query, conn);
|
||||
cmd.Parameters.AddWithValue("@charaId", player.Id);
|
||||
using (MySqlDataReader reader = cmd.ExecuteReader())
|
||||
{
|
||||
// Replace the bool stream or use the default empty one.
|
||||
if (reader.Read())
|
||||
{
|
||||
byte[] bytes = new byte[256];
|
||||
reader.GetBytes(reader.GetOrdinal("completedQuests"), 0, bytes, 0, 256);
|
||||
player.playerWork.questScenarioComplete = Utils.ConvertBinaryStreamToBoolArray(bytes);
|
||||
}
|
||||
}
|
||||
|
||||
//Load Local Guildleves
|
||||
query = @"
|
||||
SELECT
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue