Esempio n. 1
0
            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);
            }
Esempio n. 3
0
            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);
            }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
            }