public AchievementList writeFile(string file) { StreamWriter tw = new StreamWriter(file, true); AchievementList AchievementList = new AchievementList(); AchievementList.AddItem(new Achievement(0, "Level 1", new Conditions(0, 0, 50), new Effects(0, 0))); tw.Write(JsonConvert.SerializeObject(AchievementList, Formatting.Indented)); tw.Close(); return AchievementList; }
public void OnInitialize() { save = Path.Combine(TShock.SavePath, @"TShockMMO\Achievements.json"); AchievementConfig config = new AchievementConfig(); if (File.Exists(save)) { try { achievementlist = config.readFile(save); Console.ForegroundColor = ConsoleColor.Yellow; if (achievementlist.Achievements.Count != 0) Console.WriteLine(achievementlist.Achievements.Count + " achievements have been loaded."); Console.ResetColor(); } catch (Exception e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Error in Achievements.json file! Check log for more details."); Console.WriteLine(e.Message); Console.ResetColor(); Log.Error("--------- Config Exception in TShockMMO Config file (Achievements.json) ---------"); Log.Error(e.Message); Log.Error("----------------------------------- Error End -----------------------------------"); } } else { Directory.CreateDirectory(Path.Combine(TShock.SavePath, "TShockMMO")); achievementlist = config.writeFile(save); using (StreamWriter writer = new StreamWriter(Path.Combine(TShock.SavePath, @"TShockMMO\loginmsg.txt"), true)) { writer.WriteLine("Welcome %playername% %color%"); writer.WriteLine("You currently have %xp% %color%"); } Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Sample Achievement file generated."); Console.ResetColor(); Log.Info("Sample Achievement file genereated."); } }