public bool Execute(GameServer server, Player plr, string[] args) { Task.Factory.StartNew(() => { var message = "Reloading shop, server may lag for a short period of time..."; if (plr == null) { Console.WriteLine(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } server.BroadcastNotice(message); server.ResourceCache.Clear(ResourceCacheType.Shop); ShopService.ShopUpdateMsg(null, true); message = "Shop reload completed"; server.BroadcastNotice(message); if (plr == null) { Console.WriteLine(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } }); return(true); }
public bool Execute(GameServer server, Player plr, string[] args) { var message = "Reloading shop, server may lag for a short period of time..."; if (plr == null) { Console.WriteLine(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } server.BroadcastNotice(message); server.ResourceCache.Clear(ResourceCacheType.Shop); server.ResourceCache.GetShop(); message = "Reload completed"; server.BroadcastNotice(message); if (plr == null) { Console.WriteLine(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } return(true); }
public async Task <bool> Execute(GameServer server, Player plr, string[] args) { await Task.Run(async() => { var message = "Reloading shop, server may lag for a short period of time..."; if (plr == null) { CommandManager.Logger.Information(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } server.BroadcastNotice(message); server.ResourceCache.Clear(ResourceCacheType.Shop); await ShopService.ShopUpdateMsg(null, true); message = "Shop reload completed"; server.BroadcastNotice(message); if (plr == null) { CommandManager.Logger.Information(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } }); return(true); }
public bool Execute(GameServer server, Player plr, string[] args) { var notice = new StringBuilder(); foreach (string x in args.ToList()) { notice.Append(" " + x); } server.BroadcastNotice(notice.ToString().Replace("/whole_notice", "")); return(true); }
public async Task <bool> Execute(GameServer server, Player plr, string[] args) { if (args.Length < 1) { plr.SendConsoleMessage(S4Color.Red + "Wrong Usage, possible usages:"); plr.SendConsoleMessage(S4Color.Red + "> /whole_notice message"); return(true); } var notice = new StringBuilder(); foreach (var x in args.ToList()) { notice.Append(" " + x); } server.BroadcastNotice(notice.ToString().Replace("/whole_notice", "")); return(true); }
public bool Execute(GameServer server, Player plr, string[] args) { Task.Factory.StartNew(() => { var message = "Reloading shop, server may lag for a short period of time..."; if (plr == null) { Console.WriteLine(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } server.BroadcastNotice(message); server.ResourceCache.Clear(ResourceCacheType.Shop); var shop = server.ResourceCache.GetShop(); var version = shop.Version; server.Broadcast(new NewShopUpdateCheckAckMessage { Date01 = version, Date02 = version, Date03 = version, Date04 = version, Unk = 0 }); #region NewShopPrice using (var w = new BinaryWriter(new MemoryStream())) { w.Serialize(shop.Prices.Values.ToArray()); server.Broadcast(new NewShopUpdataInfoAckMessage { Type = ShopResourceType.NewShopPrice, Data = w.ToArray(), Date = version }); } #endregion #region NewShopEffect using (var w = new BinaryWriter(new MemoryStream())) { w.Serialize(shop.Effects.Values.ToArray()); server.Broadcast(new NewShopUpdataInfoAckMessage { Type = ShopResourceType.NewShopEffect, Data = w.ToArray(), Date = version }); } #endregion #region NewShopItem using (var w = new BinaryWriter(new MemoryStream())) { w.Serialize(shop.Items.Values.ToArray()); server.Broadcast(new NewShopUpdataInfoAckMessage { Type = ShopResourceType.NewShopItem, Data = w.ToArray(), Date = version }); } #endregion // ToDo using (var w = new BinaryWriter(new MemoryStream())) { w.Write(0); server.Broadcast(new NewShopUpdataInfoAckMessage { Type = ShopResourceType.NewShopUniqueItem, Data = w.ToArray(), Date = version }); } server.Broadcast(new NewShopUpdateEndAckMessage()); message = "Shop reload completed"; server.BroadcastNotice(message); if (plr == null) { Console.WriteLine(message); } else { plr.SendConsoleMessage(S4Color.Green + message); } }); return(true); }