// heya thank you for using my plugin sorry bout that guest can just use a command /score to score but maybe soon ill make it only be usable on a messageblock or u can also modify this if u want using System; using System.Collections.Generic; using MCGalaxy; namespace MCGalaxy { public class CmdScore : Command { public override string name { get { return "Score"; } } public override string type { get { return "game"; } } public override LevelPermission defaultRank { get { return LevelPermission.Guest; } } // also u can change scoring message public static Dictionary PlayerScores = new Dictionary(); public override void Use(Player p, string message) { string playerKey = p.name.ToLower(); // heres the message shows and the code of when u reset scores if (message.ToLower() == "reset") { PlayerScores[playerKey] = 0; p.Message("&aYour score has been reset to 0."); return; } if (!PlayerScores.ContainsKey(playerKey)) PlayerScores[playerKey] = 0; // heres the code of how many points u earn on /score that second number is the alt after scoring on a first time int currentScore = PlayerScores[playerKey]; int pointsToAdd = (currentScore == 0) ? 1 : 1; PlayerScores[playerKey] += pointsToAdd; string announcement = string.Format("&e{0} scored! &a+{1} &epts.", p.ColoredName, pointsToAdd); p.level.Message(announcement); p.Message("&eYour new total is: &b" + PlayerScores[playerKey]); p.Message("&7(Keep scoring to climb the ranks!)"); } public override void Help(Player p) { p.Message("&T/Score &H- Earn points. (also announce on whole level)"); p.Message("&T/Score reset &H- Resets your score."); } } public class CmdMyScore : Command { public override string name { get { return "MyScore"; } } public override string type { get { return "game"; } } public override LevelPermission defaultRank { get { return LevelPermission.Guest; } } // this is the text shows when u type /myscore that shows ur own score public override void Use(Player p, string message) { int score = 0; CmdScore.PlayerScores.TryGetValue(p.name.ToLower(), out score); p.Message("&eYour current score is: &b" + score); } public override void Help(Player p) { p.Message("&T/MyScore &H- View your own score."); } } public class CmdScoreOf : Command { public override string name { get { return "ScoreOf"; } } public override string type { get { return "game"; } } public override LevelPermission defaultRank { get { return LevelPermission.Guest; } } public override void Use(Player p, string message) { if (string.IsNullOrEmpty(message)) { Help(p); return; } int score = 0; if (CmdScore.PlayerScores.TryGetValue(message.ToLower(), out score)) { p.Message("&eScore of &f" + message + "&e: &b" + score); } else { p.Message("&cPlayer &f" + message + " &chas no score recorded yet."); } } public override void Help(Player p) { // FIXED: Cleaned up the help text syntax here p.Message("&T/ScoreOf [player] &H- View someone else's score."); } } }