Advertisement
Eiromplays

Hmm

Apr 3rd, 2020
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.85 KB | None | 0 0
  1. using Rocket.API.Collections;
  2. using Rocket.Core.Logging;
  3. using Rocket.Core.Plugins;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. using Steamworks;
  8. using SDG.Unturned;
  9. using Rocket.Unturned;
  10. using Rocket.Unturned.Player;
  11. using Rocket.Unturned.Chat;
  12. using Rocket.Core.Permissions;
  13. using Rocket.Core;
  14. using Rocket.Unturned.Events;
  15. using System.Linq;
  16. using System.Text;
  17. using System;
  18.  
  19. namespace Token_Shop
  20. {
  21.     public class TokenShopManager : RocketPlugin<Configuration>
  22.     {
  23.         public static TokenShopManager Instance;
  24.  
  25.         public int buy1 = 0;
  26.         public int buy2 = 0;
  27.         public int buy3 = 0;
  28.         public int buy4 = 0;
  29.         public int buy5 = 0;
  30.         public int buy6 = 0;
  31.  
  32.         public int currentPage = 1;
  33.  
  34.         int pageSize = 6;
  35.  
  36.         protected override void Load()
  37.         {
  38.             Instance = this;
  39.  
  40.             Rocket.Core.Logging.Logger.Log("--------------------------------------------");
  41.             Rocket.Core.Logging.Logger.Log("Token Shop V " + Assembly.GetName().Version + " Made by: Eiromplays#1446");
  42.             Rocket.Core.Logging.Logger.Log("--------------------------------------------");
  43.  
  44.             EffectManager.onEffectButtonClicked += (Player player, string buttonName) =>
  45.             {
  46.                 UnturnedPlayer Player = UnturnedPlayer.FromPlayer(player);
  47.                 if (buttonName == "CloseButton")
  48.                 {
  49.                     EffectManager.askEffectClearByID(12861, Player.CSteamID);
  50.                     EffectManager.askEffectClearByID(12862, Player.CSteamID);
  51.                     EffectManager.askEffectClearByID(12863, Player.CSteamID);
  52.                     EffectManager.askEffectClearByID(12864, Player.CSteamID);
  53.                     EffectManager.askEffectClearByID(12865, Player.CSteamID);
  54.                     EffectManager.askEffectClearByID(12866, Player.CSteamID);
  55.                     EffectManager.askEffectClearByID(12860, Player.CSteamID);
  56.                     player.disablePluginWidgetFlag(EPluginWidgetFlags.Modal);
  57.                 }
  58.                 if (buttonName == "Buy1")
  59.                 {
  60.                     UnturnedChat.Say(Configuration.Instance.Shop[buy1].name);
  61.                     UnturnedChat.Say(Configuration.Instance.Shop[buy1].Type);
  62.                 }
  63.                 if (buttonName == "Buy2")
  64.                 {
  65.                     UnturnedChat.Say(Configuration.Instance.Shop[buy2].name);
  66.                     UnturnedChat.Say(Configuration.Instance.Shop[buy2].Type);
  67.                 }
  68.                 if (buttonName == "Buy3")
  69.                 {
  70.                     UnturnedChat.Say(Configuration.Instance.Shop[buy3].name);
  71.                     UnturnedChat.Say(Configuration.Instance.Shop[buy3].Type);
  72.                 }
  73.                 if (buttonName == "Buy4")
  74.                 {
  75.                     UnturnedChat.Say(Configuration.Instance.Shop[buy4].name);
  76.                     UnturnedChat.Say(Configuration.Instance.Shop[buy4].Type);
  77.                 }
  78.                 if (buttonName == "Buy5")
  79.                 {
  80.                     UnturnedChat.Say(Configuration.Instance.Shop[buy5].name);
  81.                     UnturnedChat.Say(Configuration.Instance.Shop[buy5].Type);
  82.                 }
  83.                 if (buttonName == "Buy6")
  84.                 {
  85.                     UnturnedChat.Say(Configuration.Instance.Shop[buy6].name);
  86.                     UnturnedChat.Say(Configuration.Instance.Shop[buy6].Type);
  87.                 }
  88.                 if (buttonName == "Next")
  89.                 {
  90.                     currentPage++;
  91.                     var totalPages = (int)System.Math.Ceiling((decimal)Configuration.Instance.Shop.Count / (decimal)pageSize);
  92.                     if (currentPage < 1)
  93.                     {
  94.                         currentPage = 1;
  95.                     }
  96.                     else if (currentPage > totalPages)
  97.                     {
  98.                         currentPage = totalPages;
  99.                     }
  100.                     int startPage, endPage;
  101.                     if (totalPages <= Configuration.Instance.maxPages)
  102.                     {
  103.                         // total pages less than max so show all pages
  104.                         startPage = 1;
  105.                         endPage = totalPages;
  106.                         UnturnedChat.Say("work3");
  107.                     }
  108.                     else
  109.                     {
  110.                         // total pages more than max so calculate start and end pages
  111.                         var maxPagesBeforeCurrentPage = (int)System.Math.Floor((decimal)Configuration.Instance.maxPages / (decimal)2);
  112.                         var maxPagesAfterCurrentPage = (int)System.Math.Ceiling((decimal)Configuration.Instance.maxPages / (decimal)2) - 1;
  113.                         if (currentPage <= maxPagesBeforeCurrentPage)
  114.                         {
  115.                             // current page near the start
  116.                             startPage = 1;
  117.                             endPage = Configuration.Instance.maxPages;
  118.                         }
  119.                         else if (currentPage + maxPagesAfterCurrentPage >= totalPages)
  120.                         {
  121.                             // current page near the end
  122.                             startPage = totalPages - Configuration.Instance.maxPages + 1;
  123.                             endPage = totalPages;
  124.                         }
  125.                         else
  126.                         {
  127.                             // current page somewhere in the middle
  128.                             startPage = currentPage - maxPagesBeforeCurrentPage;
  129.                             endPage = currentPage + maxPagesAfterCurrentPage;
  130.                         }
  131.                         // calculate start and end item indexes
  132.                         var startIndex = (currentPage - 1) * pageSize;
  133.                         var endIndex = System.Math.Min(startIndex + pageSize - 1, Configuration.Instance.Shop.Count - 1);
  134.  
  135.                         // create an array of pages that can be looped over
  136.                         var pages = Enumerable.Range(startPage, (endPage + 1) - startPage);
  137.  
  138.                         UnturnedChat.Say(pages.ToString());
  139.  
  140.                         EffectManager.askEffectClearByID(12861, Player.CSteamID);
  141.                         EffectManager.askEffectClearByID(12862, Player.CSteamID);
  142.                         EffectManager.askEffectClearByID(12863, Player.CSteamID);
  143.                         EffectManager.askEffectClearByID(12864, Player.CSteamID);
  144.                         EffectManager.askEffectClearByID(12865, Player.CSteamID);
  145.                         EffectManager.askEffectClearByID(12866, Player.CSteamID);
  146.  
  147.                         for(int i = startIndex; i < Convert.ToInt32(pages); i++)
  148.                         {
  149.                             EffectManager.sendUIEffect(12861, 12861, Player.CSteamID, true, Configuration.Instance.Shop[i].price.ToString());
  150.                             EffectManager.sendUIEffectImageURL(12861, Player.CSteamID, true, "Box1", Configuration.Instance.Shop[i].Image);
  151.                             EffectManager.sendUIEffect(12862, 12862, Player.CSteamID, true, Configuration.Instance.Shop[i++].price.ToString());
  152.                             EffectManager.sendUIEffectImageURL(12862, Player.CSteamID, true, "Box2", Configuration.Instance.Shop[i++].Image);
  153.                             EffectManager.sendUIEffect(12863, 12863, Player.CSteamID, true, Configuration.Instance.Shop[i++].price.ToString());
  154.                             EffectManager.sendUIEffectImageURL(12863, Player.CSteamID, true, "Box2", Configuration.Instance.Shop[i++].Image);
  155.                             EffectManager.sendUIEffect(12864, 12864, Player.CSteamID, true, Configuration.Instance.Shop[i++].price.ToString());
  156.                             EffectManager.sendUIEffectImageURL(12864, Player.CSteamID, true, "Box6", Configuration.Instance.Shop[i++].Image);
  157.                             EffectManager.sendUIEffect(12865, 12865, Player.CSteamID, true, Configuration.Instance.Shop[i++].price.ToString());
  158.                             EffectManager.sendUIEffectImageURL(12865, Player.CSteamID, true, "Box6", Configuration.Instance.Shop[i++].Image);
  159.                             EffectManager.sendUIEffect(12866, 12866, Player.CSteamID, true, Configuration.Instance.Shop[i++].price.ToString());
  160.                             EffectManager.sendUIEffectImageURL(12866, Player.CSteamID, true, "Box6", Configuration.Instance.Shop[i++].Image);
  161.                         }
  162.                     }
  163.                 }
  164.                 if (buttonName == "Back")
  165.                 {
  166.                 }
  167.             };
  168.         }
  169.  
  170.         protected override void Unload()
  171.         {
  172.             Instance = null;
  173.         }
  174.  
  175.         public override TranslationList DefaultTranslations => new TranslationList()
  176.         {
  177.             {"hmm", "hmm" }
  178.         };
  179.     }
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement