protected override void DoPurchase(Player p, string message, string[] args) { string text = message.SplitSpaces(2)[1]; // keep spaces this way bool hasAToken = false; for (int i = 0; i < text.Length; i++) { if (!CheckEscape(text, i, ref hasAToken)) { p.Message("You can only use {0} and {1} for tokens in infect messages."); return; } } if (!hasAToken) { p.Message("You need to include a \"{0}\" (placeholder for zombie player) " + "and/or a \"{1}\" (placeholder for human player) in the infect message."); return; } ZSData data = ZSGame.Get(p); if (data.InfectMessages == null) { data.InfectMessages = new List <string>(); } data.InfectMessages.Add(text); ZSConfig.AppendPlayerInfectMessage(p.name, text); p.Message("&aAdded infect message: &f" + text); Economy.MakePurchase(p, Price, "%3InfectMessage: " + message); }
protected internal override void OnPurchase(Player p, string msg) { if (msg.Length == 0) { OnStoreCommand(p); return; } bool hasAToken = false; for (int i = 0; i < msg.Length; i++) { if (!CheckEscape(msg, i, ref hasAToken)) { p.Message("You can only use {0} and {1} for tokens in infect messages."); return; } } if (!hasAToken) { p.Message("You need to include a \"{0}\" (placeholder for zombie player) " + "and/or a \"{1}\" (placeholder for human player) in the infect message."); return; } if (!CheckPrice(p)) { return; } ZSData data = ZSGame.Get(p); if (data.InfectMessages == null) { data.InfectMessages = new List <string>(); } data.InfectMessages.Add(msg); ZSConfig.AppendPlayerInfectMessage(p.name, msg); p.Message("&aAdded infect message: &f" + msg); Economy.MakePurchase(p, Price, "%3InfectMessage: " + msg); }