Guest User

Untitled

a guest
May 11th, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.83 KB | None | 0 0
  1. package commands.voice;
  2. import net.sf.l2j.gameserver.model.L2ItemInstance;
  3. import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  4. import net.sf.l2j.gameserver.model.actor.instance.L2PlayableInstance;
  5. import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
  6. import scripts.commands.IVoicedCommandHandler;
  7. import scripts.commands.VoicedCommandHandler;
  8. import scripts.items.ItemHandler;
  9. import scripts.items.IItemHandler;
  10. import java.util.logging.Logger;
  11. import net.sf.l2j.util.Rnd;
  12. import net.sf.l2j.gameserver.Announcements;
  13. import net.sf.l2j.gameserver.datatables.ItemTable;
  14.  
  15. public class VipBag implements IVoicedCommandHandler, IItemHandler
  16. {
  17.     private final static Logger _log = Logger.getLogger(VipBag.class.getName());
  18.  
  19.     //Id предметов активации через запятую
  20.     private static final int[] ITEM_IDS = {57,677,77};
  21.  
  22.     private final static boolean VB_HERO = true; // Включить выдачу Геройства.
  23.     private final static int VB_HERO_CHANCE = 25; // Шанс получения Геройства.
  24.     private final static int VB_HERO_DAYS = 1; // На сколько дней выдавать Геройство.
  25.  
  26.     private final static boolean VB_PA = true; // Включить выдачу Премиум Аккаунта.
  27.     private final static int VB_PA_CHANCE = 25; // Шанс получения Премиум Аккаунта.
  28.     private final static int VB_PA_DAYS = 1; // На сколько дней выдавать Премиум Аккаунта.
  29.  
  30.     private final static boolean VB_ARMOR = true; // Включить выдачу одной из Брони по рандуму.
  31.     private final static int VB_ARMOR_CHANCE = 10; // Шанс получения Брони.
  32.     private static final int[] VB_ARMOR_IDS = {14554,14554}; // ИДы Брони указывать через запятую.
  33.  
  34.     private final static boolean VB_COL = true; // Включить выдачу Монеты.
  35.     private final static int VB_COL_CHANCE = 10; // Шанс получения Монет.
  36.     private final static int VB_COL_ID = 14504; // ИД Монет.
  37.     private final static int VB_COL_COUNT = 3; // Количество Монет.
  38.  
  39.     private final static boolean VB_TATOO = true; // Включить выдачу Донат Тату.
  40.     private final static int VB_TATOO_CHANCE = 1; // Шанс получения Донат Тату.
  41.     private final static int VB_TATOO_ID = 15620; // ИД Донат Тату.
  42.  
  43.     public boolean useVoicedCommand(String command, L2PcInstance player, String target)
  44.     {
  45.  
  46.         if(command.startsWith("ag_vipbag_"))
  47.         {
  48.  
  49.             String choise = command.substring(10).trim();
  50.             if(choise.startsWith("edit"))
  51.             {
  52.  
  53.                 int chance = Rnd.get(100);
  54.                 L2ItemInstance coin = player.getInventory().getItemByItemId(ITEM_IDS[0]);
  55.                 int flag = Integer.parseInt(choise.substring(4).trim());
  56.  
  57.                 if (coin != null && coin.getCount() > 0)
  58.                 {
  59.                     if(flag == 1 && VB_HERO)
  60.                     {
  61.                         if (player.isHero())
  62.                         {
  63.                             player.sendMessage("Вы Уже имеете Геройство.");
  64.                             showWelcome(player);
  65.                         }
  66.                         else
  67.                         {
  68.                             if (chance < VB_HERO_CHANCE)
  69.                             {
  70.                                 player.setHero(VB_HERO_DAYS);
  71.                                 Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Хиро\" и ему повезло!");
  72.                                 player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  73.                             }
  74.                             else
  75.                             {
  76.                                 Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Хиро\" и ему не повезло");
  77.                                 player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  78.                             }
  79.                         }
  80.                     }
  81.                     if(flag == 2 && VB_PA)
  82.                     {
  83.                         if (player.isPremium())
  84.                         {
  85.                             player.sendMessage("Вы Уже имеете Премиум Аккаунт.");
  86.                             showWelcome(player);
  87.                         }
  88.                         else
  89.                         {
  90.                             if (chance < VB_PA_CHANCE)
  91.                             {
  92.                                 player.storePremium(VB_PA_DAYS);
  93.                                 Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Премиум Аккаунт\" и ему повезло!");
  94.                                 player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  95.                             }
  96.                             else
  97.                             {
  98.                                 Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Премиум Аккаунт\" и ему не повезло");
  99.                                 player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  100.                             }
  101.                         }
  102.                     }
  103.                     if(flag == 3 && VB_ARMOR)
  104.                     {
  105.                         if (chance < VB_ARMOR_CHANCE)
  106.                         {
  107.                             int armor_id = Rnd.get(VB_ARMOR_IDS.length);
  108.                             String _ItemName = ItemTable.getInstance().getItemName(VB_ARMOR_IDS[armor_id]);
  109.                             player.addItem("ag_vipbag_", VB_ARMOR_IDS[armor_id], 1, player, true);
  110.                             Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Vip Лицензия\" и ему повезло c "+_ItemName+"!");
  111.                             player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  112.                         }
  113.                         else
  114.                         {
  115.                             Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Vip Лицензия\" и ему не повезло");
  116.                             player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  117.                         }
  118.                     }
  119.                     if(flag == 4 && VB_COL)
  120.                     {
  121.                         if (chance < VB_COL_CHANCE)
  122.                         {
  123.                             String _ItemName = ItemTable.getInstance().getItemName(VB_COL_ID);
  124.                             player.addItem("ag_vipbag_", VB_COL_ID, VB_COL_COUNT, player, true);
  125.                             Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"3 Донат Монеты\" и ему повезло с "+_ItemName+" "+VB_COL_COUNT+" штука!");
  126.                             player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  127.                         }
  128.                         else
  129.                         {
  130.                             Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"3 Донат Монеты\" и ему не повезло");
  131.                             player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  132.                         }
  133.                     }
  134.                     if(flag == 5 && VB_TATOO)
  135.                     {
  136.                         if (chance < VB_TATOO_CHANCE)
  137.                         {
  138.                             String _ItemName = ItemTable.getInstance().getItemName(VB_TATOO_ID);
  139.                             player.addItem("ag_vipbag_", VB_TATOO_ID, 1, player, true);
  140.                             Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Донат Тату\" и ему повезло с "+_ItemName+"!");
  141.                             player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  142.                         }
  143.                         else
  144.                         {
  145.                             Announcements.getInstance().announceToAll("Игрок " + player.getName() + " везунчик и получил шанс испытать удачу он выбрал \"Донат Тату\" и ему не повезло");
  146.                             player.destroyItemByItemId("ag_vipbag_", ITEM_IDS[0], 1, player, true);
  147.                         }
  148.                     }
  149.                 }
  150.                 else
  151.                 {
  152.                     player.sendMessage("Не достаточное количество предметов!");
  153.                 }
  154.  
  155.                 return true;
  156.  
  157.             }
  158.             else
  159.             {
  160.                 return false;
  161.             }
  162.         }
  163.         return true;
  164.     }
  165.  
  166.     private void showWelcome(L2PcInstance player)
  167.     {
  168.         if(player.isParalyzed() || player.getUserKey().on == 1)
  169.         {
  170.             player.sendActionFailed();
  171.             return;
  172.         }
  173.         NpcHtmlMessage nhm = NpcHtmlMessage.id(5);
  174.         String build = "<html><body><center>";
  175.         build += "Получить приз!<br1>";
  176.         if(VB_HERO)
  177.         {
  178.             build +=("<button value=\"Хиро на сутки 25%\" action=\"bypass -h vch_ag_vipbag_edit 2\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  179.         }
  180.         if(VB_PA)
  181.         {
  182.             build +=("<button value=\"Премиум на сутки 25%\" action=\"bypass -h vch_ag_vipbag_edit 2\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  183.         }
  184.         if(VB_ARMOR)
  185.         {
  186.             build +=("<button value=\"Vip Лицензия 10%\" action=\"bypass -h vch_ag_vipbag_edit 3\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  187.         }
  188.         if(VB_COL)
  189.         {
  190.             build +=("<button value=\"3 Донат Монеты 10%\" action=\"bypass -h vch_ag_vipbag_edit 4\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  191.         }
  192.         if(VB_TATOO)
  193.         {
  194.             build +=("<button value=\" Донат Тату 1%\" action=\"bypass -h vch_ag_vipbag_edit 5\" width=135 height=24 back=\"L2UI_CH3.bigbutton3_down\" fore=\"L2UI_CH3.bigbutton3\"><br1>");
  195.         }
  196.         build +=("</center></body></html>");
  197.         nhm.setHtml(build.toString());
  198.         player.sendPacket(nhm);
  199.         build = null;
  200.     }
  201.  
  202.     public void useItem(L2PlayableInstance playable, L2ItemInstance item, boolean b)
  203.     {
  204.         if (!playable.isPlayer())
  205.             return;
  206.  
  207.         L2PcInstance player = (L2PcInstance) playable;
  208.         showWelcome(player);
  209.     }
  210.  
  211.     public int[] getItemIds()
  212.     {
  213.         return ITEM_IDS;
  214.     }
  215.  
  216.     private static final String[] VOICED_COMMANDS = {
  217.             "ag_","ag_vipbag_"
  218.     };
  219.  
  220.     public String[] getVoicedCommandList()
  221.     {
  222.         return VOICED_COMMANDS;
  223.     }
  224.  
  225.     public static void main (String... arguments )
  226.     {
  227.         new VipBag();
  228.     }
  229.  
  230.     public VipBag()
  231.     {
  232.         _log.info("Загрузка скрипта: " + VipBag.class.getName());
  233.         _log.info("Регистрация итемов скрипта: " + VipBag.class.getName());
  234.         ItemHandler.getInstance().registerItemHandler(this);
  235.         for (int i : ITEM_IDS)
  236.             _log.info(ItemTable.getInstance().getItemName(i));
  237.         _log.info("Регистрация команд: " + VipBag.class.getName());
  238.         VoicedCommandHandler.getInstance().registerVoicedCommandHandler(this);
  239.         for (String i : VOICED_COMMANDS)
  240.             _log.info(i + "\t");
  241.         _log.info("Скрипт загружен: " + VipBag.class.getName());
  242.     }
  243. }
Add Comment
Please, Sign In to add comment