예제 #1
0
        public void StartSale()
        {
            LPXRemastered sale = LPXRemastered.Instance;

            SaleTime    = DateTime.Now;
            salesStart  = true;
            SaleEndTime = SaleTime.AddMinutes(sale.Configuration.Instance.SaleTime);
        }
예제 #2
0
        public void CheckSale()
        {
            LPXRemastered sale = LPXRemastered.Instance;

            if (!salesStart)
            {
                if ((nextSale - DateTime.Now).Seconds <= 60 && (DateTime.Now - lastMsg).Seconds >= 60)
                {
                    UnturnedChat.Say("Sale is starting in 1 minute");
                    lastMsg = DateTime.Now;
                }
                if ((nextSale - DateTime.Now).TotalSeconds <= b && (DateTime.Now - lastMsg).TotalSeconds >= 1)
                {
                    if (b != 0)
                    {
                        UnturnedChat.Say(LPXRemastered.Instance.Translate("sale_start", b));
                        lastMsg = DateTime.Now;
                        b      -= (byte)1;
                    }
                    else if (!salesStart)
                    {
                        UnturnedChat.Say(LPXRemastered.Instance.Translate("sale_started", sale.Configuration.Instance.SaleTime));
                        lastMsg = DateTime.Now;
                        StartSale();
                        Logger.LogWarning("Sales have started");
                    }
                }
            }
            if (salesStart)
            {
                b = 3;
                if ((SaleEndTime - DateTime.Now).TotalMinutes <= 1 && (SaleEndTime - DateTime.Now).TotalSeconds > 59 && (DateTime.Now - lastMsg).Seconds >= 60)
                {
                    UnturnedChat.Say(LPXRemastered.Instance.Translate("sale_ending", 1, "minute"));
                    lastMsg = DateTime.Now;
                }
                if ((SaleEndTime - DateTime.Now).TotalSeconds <= 10 && (SaleEndTime - DateTime.Now).TotalSeconds > 9 && (DateTime.Now - lastMsg).Seconds >= 10)
                {
                    UnturnedChat.Say(LPXRemastered.Instance.Translate("sale_ending", 10, "seconds"));
                    lastMsg = DateTime.Now;
                }
                if ((SaleEndTime - DateTime.Now).TotalSeconds <= 5 && (SaleEndTime - DateTime.Now).TotalSeconds > 4 && (DateTime.Now - lastMsg).Seconds >= 5)
                {
                    UnturnedChat.Say(LPXRemastered.Instance.Translate("sale_ending", 5, "seconds"));
                    lastMsg = DateTime.Now;
                }
                if (DateTime.Now >= SaleEndTime)
                {
                    UnturnedChat.Say(LPXRemastered.Instance.Translate("sale_end"));
                    Logger.LogWarning("Sales have ended");
                    lastMsg = DateTime.Now;
                    ResetSale();
                }
            }
        }
예제 #3
0
 protected override void Load()
 {
     LastVehicleCheck = DateTime.Now;
     Instance         = this;
     if (Configuration.Instance.EnableShop)
     {
         ShopDB = new DatabaseManagerShop();
     }
     OriginalPermissions = R.Permissions;
     if (Configuration.Instance.LPXEnabled)
     {
         SQLPermission permission = new SQLPermission();
         R.Permissions = permission;
         U.Events.OnPlayerConnected    += RocketServerEvents_OnPlayerConnected;
         U.Events.OnPlayerDisconnected += RocketServerEvents_OnPlayerDisconnected;
     }
     Database    = new DatabaseManager();
     DatabaseCar = new DatabaseCar();
     if (Configuration.Instance.KitsEnabled && Configuration.Instance.KitCooldownResetOnDeath)
     {
         UnturnedPlayerEvents.OnPlayerDead += RocketServerEvents_OnPlayerDead;
     }
     if (Configuration.Instance.AllowAuction)
     {
         DatabaseAuction = new DatabaseManagerAuction();
     }
     if (Configuration.Instance.AutoRemoveEnabled)
     {
         Instance.Database.AutoRemove();
     }
     if (Configuration.Instance.AllowCarOwnerShip)
     {
         UnturnedPlayerEvents.OnPlayerUpdateStance += OnPlayerUpdateStance;
     }
     if (Configuration.Instance.SaleEnable && Configuration.Instance.EnableShop)
     {
         sale = new Sales();
         sale.ResetSale();
     }
     if (Configuration.Instance.EnableShop && Configuration.Instance.EnableAutoDBUpdate)
     {
         ItemAsset ia;
         Logger.Log("Loading Item Database...", ConsoleColor.Yellow);
         for (ushort x = 0; x < 60000; x++)
         {
             try
             {
                 ia = (ItemAsset)Assets.find(EAssetType.ITEM, x);
                 if (ia.itemName != "" && ia.itemName != " ")
                 {
                     Instance.ShopDB.AutoAddItem(ia.id, ia.name, Instance.ShopDB.CheckItemExist(x));
                 }
                 Instance.ShopDB.DeleteEmptyItemRow(x);
                 if (x == 500)
                 {
                     Logger.Log("We are halfway there...", ConsoleColor.Yellow);
                 }
             }
             catch
             {
                 Instance.ShopDB.DeleteItem(x);
             }
         }
         Logger.Log("Item Database Updated!", ConsoleColor.Yellow);
         VehicleAsset va;
         Logger.Log("Loading Vehicle Database...", ConsoleColor.Yellow);
         for (ushort x = 0; x < 20000; x++)
         {
             try
             {
                 va = (VehicleAsset)Assets.find(EAssetType.VEHICLE, x);
                 if (va.vehicleName != "" && va.vehicleName != " ")
                 {
                     Instance.ShopDB.AutoAddVehicle(va.id, va.vehicleName, Instance.ShopDB.CheckVehicleExist(x));
                 }
                 Instance.ShopDB.DeleteEmptyVehicleRow(x);
                 if (x == 50)
                 {
                     Logger.Log("Should be quick...", ConsoleColor.Yellow);
                 }
             }
             catch
             {
                 Instance.ShopDB.DeleteVehicle(x);
             }
         }
         Logger.Log("Vehicle Database Updated!", ConsoleColor.Yellow);
     }
 }