Перейти к содержанию
Авторизация  
La2Bash

Срочно Нужна Помощь, Донат Шоп Lucera

Рекомендуемые сообщения

Уважаемые дамы и господа, у меня случилась очень большая проблема.

Я переношу донат шоп из frozen (там он у меня доработанный , всё с ним ок).

Компилится всё ок, не хочет показывать в игре - пишет "Мне нечего тебе сказать, задание".

вот код, ребят помогите пожалуйста.

 

 

 

package lasteam.gameserver.model.actor.instance;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.StringTokenizer;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;

import lasteam.Config;
import lasteam.gameserver.datatables.CharNameTable;
import lasteam.gameserver.datatables.ClanTable;
import lasteam.gameserver.model.L2World;
import lasteam.gameserver.model.L2Multisell;
import lasteam.gameserver.network.serverpackets.ActionFailed;
import lasteam.gameserver.network.serverpackets.InventoryUpdate;
import lasteam.gameserver.network.serverpackets.MagicSkillUse;
import lasteam.gameserver.network.serverpackets.NpcHtmlMessage;
import lasteam.gameserver.network.serverpackets.UserInfo;
import lasteam.gameserver.templates.chars.L2NpcTemplate;
import lasteam.gameserver.model.L2ItemInstance;
import lasteam.L2DatabaseFactory;

/**
* This class ...
*
* @version $Revision: 1.10.4.9 $ $Date: 2005/04/11 10:06:08 $
*/
public class L2DonateInstance extends L2FolkInstance
{
   //private static Logger _log = Logger.getLogger(L2ArteiaGoldMerchantInstance.class.getName());

   private static int SETNAME = Config.COL_CHANGENAME;
   private static int SETNAMECOLOR =Config.COL_NICKCOLOR;
   private static int SETTITLECOLOR = Config.COL_TITLECOLOR;
   private static int SETCLANNAME = Config.COL_CHANGECLANNAME;
   private static int CLANLVL6 = Config.COL_CLANLVL_5_TO_6;
   private static int CLANLVL7 = Config.COL_CLANLVL_6_TO_7;
   private static int CLANLVL8 = Config.COL_CLANLVL_7_TO_8;
   private static int NOBLESS = Config.COL_NOBLESSE;
   private static int PREM1 = Config.COL_PREM1; // 1 день
   private static int PREM2 = Config.COL_PREM2; // 1 неделя
   private static int PREM3 = Config.COL_PREM3; // 1 месяц
   private static int SEX = Config.COL_SEX;
   private static int PK = Config.COL_PK;
   public static int ITEM_ID = Config.DONATE_ITEM_ID;
    public static int CRP_COUNT = Config.DONATE_CRP_COUNT;
    public static Pattern DONNAME_PATTERN = Config.DONNAME_TEMPLATE;
    public static Pattern CLANNAME_PATTERN = Config.CLANNAME_TEMPLATE;
   String str = "";
   /**
    * @param template
    */
   public L2DonateInstance(int objectId, L2NpcTemplate template)
   {
       super(objectId, template);
   }

   public String getHtmlPath(int npcId, int val)
   {
       String pom = "";
       if (val == 0) pom = "" + npcId;
       else pom = npcId + "-" + val;
       return "data/html/donate/" + pom + ".htm";
   }

   @Override
   public void onBypassFeedback(L2PcInstance player, String command)
   {
       StringTokenizer st = new StringTokenizer(command, " ");
       String actualCommand = st.nextToken(); // Get actual command
       if (actualCommand.equalsIgnoreCase("Multisell"))
       {
           if (st.countTokens() < 1) return;
           int val = Integer.parseInt(st.nextToken());
           L2Multisell.getInstance().separateAndSend(val, player, false, getCastle().getTaxRate());
       }
       else if (actualCommand.equalsIgnoreCase("premadd1"))
       {
           if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM1)
           {
               player.sendMessage("Неправильное кол-во предметов.");
               showServices(player);
               return;
           }
           player.destroyItemByItemId("Consume", ITEM_ID, PREM1, player, false);
           try
      	   {

      		 addPremiumServices(1, player.getAccountName());
      	   }
      	   catch (StringIndexOutOfBoundsException e)
      	   {
      		 player.sendMessage("Ошибка");
      		 showServices(player);
      	   }
      	 MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);
      	 player.sendPacket(MSU);
      	 player.broadcastPacket(MSU);
             player.sendMessage("Вы получили премиум аккаунт на 1 день. Новое получение не добавляет время, а обновляет!");
             player.store();
             showServices(player);
       }

       else if (actualCommand.equalsIgnoreCase("premadd2"))
       {
           if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM2)
           {
               player.sendMessage("Неправильное кол-во предметов.");
               showServices(player);
               return;
           }
           player.destroyItemByItemId("Consume", ITEM_ID, PREM2, player, false);
           try
      	   {

      		 addPremiumServices(7, player.getAccountName());
      	   }
      	   catch (StringIndexOutOfBoundsException e)
      	   {
      		 player.sendMessage("Ошибка, свяжитесь с администрацией");
      		 showServices(player);
      	   }
      	 MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);
      	 player.sendPacket(MSU);
      	 player.broadcastPacket(MSU);
             player.sendMessage("Вы получили премиум аккаунт на 1 неделю. Новое получение не добавляет время, а обновляет!");
             player.store();
             showServices(player);
       }
       else if (actualCommand.equalsIgnoreCase("premadd3"))
       {
           if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM3)
           {
               player.sendMessage("Неправильное кол-во предметов.");
               showServices(player);
               return;
           }
           player.destroyItemByItemId("Consume", ITEM_ID, PREM3, player, false);
           try
      	 {
      	   addPremiumServices(31, player.getAccountName());
      	 }
      	 catch (StringIndexOutOfBoundsException e)
      	 {
      		 player.sendMessage("Ошибка");
      		 showServices(player);
      	 }
      	 MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);
      	 player.sendPacket(MSU);
      	 player.broadcastPacket(MSU);
             player.sendMessage("Вы получили премиум аккаунт на 1 месяц. Новое получение не добавляет время, а обновляет!");
             player.store();
             showServices(player);
       }
   else if (actualCommand.equalsIgnoreCase("Setname"))
   {
           if (st.countTokens() < 1) return;
           String newname = st.nextToken();
           if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAME)
	    {
		    player.sendMessage("Неправильное кол-во предметов.");
		    showServices(player);
		    return;
	    }
  	 else if (!Config.DONNAME_TEMPLATE.matcher(newname).matches())
  	 {
		    player.sendMessage("Это имя не может быть использовано.");
		    showServices(player);
		    return;
  	 }
	    else if ((newname.length() < 3) || (newname.length() > 16))
	    {
		    player.sendMessage("Это имя не может быть использовано.");
		    showServices(player);
		    return;
	    }
	    else if (CharNameTable.getInstance().doesCharNameExist(newname))
	    {
		    player.sendMessage("Это имя уже занято.");
		    showServices(player);
		    return;
	    }
	    else if (player.isClanLeader())
	    {
		    player.sendMessage("Передайте клан на время смены ника другому игроку.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setname "+newname+" for "+player.getName(), ITEM_ID, SETNAME, player, player);
	    if (destritem != null)
	    {
		    L2World.getInstance().removeFromAllPlayers(player);
		    player.setName(newname);
		    player.store();
		    L2World.getInstance().addToAllPlayers(player);
       player.sendMessage("Вы успешно сменили свое имя!");
		    player.setClan(player.getClan());
       player.broadcastUserInfo();
       showServices(player);
		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }
   else if (actualCommand.equalsIgnoreCase("Setnamecolor"))
       {
           if (st.countTokens() < 1) return;
           String newcolor = st.nextToken();
	    int color = 0;
	    try
	    {
		    color = Integer.parseInt(newcolor);
	    }
	    catch (Exception e)
	    {
		    return;
	    }
	    newcolor = "";
	    switch (color)
	    {
		    case 1: newcolor = "FFFF00";
				    break;
		    case 2: newcolor = "000000";
				    break;
		    case 3: newcolor = "FF0000";
				    break;
		    case 4: newcolor = "FF00FF";
				    break;
		    case 5: newcolor = "808080";
				    break;
		    case 6: newcolor = "008000";
				    break;
		    case 7: newcolor = "00FF00";
				    break;
		    case 8: newcolor = "800000";
				    break;
		    case 9: newcolor = "008080";
				    break;
		    case 10: newcolor = "800080";
				    break;
		    case 11: newcolor = "808000";
				    break;
		    case 12: newcolor = "FFFFFF";
				    break;
		    case 13: newcolor = "00FFFF";
				    break;
		    case 14: newcolor = "C0C0C0";
				    break;
		    case 15: newcolor = "17A0D4";
				    break;
		    default:return;
	    }
  	 if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAMECOLOR)
	    {
		    player.sendMessage("Неправильное кол-во предметов.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setnamecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETNAMECOLOR, player, player);
	    if (destritem != null)
	    {
       player.sendMessage("Вы успешно изменили цвет имени!");
		    player.getAppearance().setNameColor(Integer.decode("0x"+newcolor));
		    player.broadcastUserInfo();
       player.store();
       showServices(player);
		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }
   else if (actualCommand.equalsIgnoreCase("Settitlecolor"))
       {
           if (st.countTokens() < 1) return;
           String newcolor = st.nextToken();
	    int color = 0;
	    try
	    {
		    color = Integer.parseInt(newcolor);
	    }
	    catch (Exception e)
	    {
		    return;
	    }
	    newcolor = "";
	    switch (color)
	    {
		    case 1: newcolor = "FFFF00";
				    break;
		    case 2: newcolor = "000000";
				    break;
		    case 3: newcolor = "FF0000";
				    break;
		    case 4: newcolor = "FF00FF";
				    break;
		    case 5: newcolor = "808080";
				    break;
		    case 6: newcolor = "008000";
				    break;
		    case 7: newcolor = "00FF00";
				    break;
		    case 8: newcolor = "800000";
				    break;
		    case 9: newcolor = "008080";
				    break;
		    case 10: newcolor = "800080";
				    break;
		    case 11: newcolor = "808000";
				    break;
		    case 12: newcolor = "FFFFFF";
				    break;
		    case 13: newcolor = "00FFFF";
				    break;
		    case 14: newcolor = "C0C0C0";
				    break;
		    case 15: newcolor = "17A0D4";
				    break;
		    default:return;
	    }
           if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETTITLECOLOR)
	    {
		    player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Settitlecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETTITLECOLOR, player, player);
	    if (destritem != null)
	    {
       player.sendMessage("Вы успешно изменили цвет титула!");
		    player.getAppearance().setTitleColor(Integer.decode("0x"+newcolor));
       player.broadcastUserInfo();
       player.store();
       showServices(player);
		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }
   else if (actualCommand.equalsIgnoreCase("Setclanname"))
       {
           if (st.countTokens() < 1) return;
           String newname = st.nextToken();
           if (!player.isClanLeader())
	    {
		    player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
		    showServices(player);
		    return;
	    }
	    if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETCLANNAME)
	    {
		    player.sendMessage("Неправильное кол-во предметов.");
		    showServices(player);
		    return;
	    }
	    else if ((newname.length() < 3) || (newname.length() > 16))
	    {
		    player.sendMessage("Это имя не может быть использовано.");
		    showServices(player);
		    return;
	    }
  	 else if (!Config.CLANNAME_TEMPLATE.matcher(newname).matches())
  	 {
		    player.sendMessage("Это имя не может быть использовано.");
		    showServices(player);
		    return;
  	 }
	    else if (ClanTable.getInstance().getClanByName(newname) != null)
	    {
		    player.sendMessage("Это имя уже занято.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanname "+newname+" for "+player.getName(), ITEM_ID, SETCLANNAME, player, player);
	    if (destritem != null)
	    {
		    player.getClan().setName(newname);
		    player.getClan().updateClanInDB();
		    player.getClan().broadcastClanStatus();
              		 player.sendMessage("Вы успешно сменили имя клана!");
              		 showServices(player);
		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }

   else if (actualCommand.equalsIgnoreCase("Increaseclanlevel6"))
       {
           if (!player.isClanLeader())
	    {
		    player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
		    showServices(player);
		    return;
	    }
	    else if (player.getClan().getLevel() != 5)
	    {
		    player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 5");
		    showServices(player);
		    return;
	    }
	    else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL6)
	    {
		    player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 6 for "+player.getName(), ITEM_ID, CLANLVL6, player, player);
	    if (destritem != null)
	    {
		    player.getClan().changeLevel(6);
		    player.sendMessage("Вы успешно повысили уровень клана!");
		    showServices(player);
		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }
   else if (actualCommand.equalsIgnoreCase("Increaseclanlevel7"))
       {
           if (!player.isClanLeader())
	    {
		    player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
		    showServices(player);
		    return;
	    }
	    else if (player.getClan().getLevel() != 6)
	    {
		    player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 6");
		    showServices(player);
		    return;
	    }
	    else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL7)
	    {
		    player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 7 for "+player.getName(), ITEM_ID, CLANLVL7, player, player);
	    if (destritem != null)
	    {
		    player.getClan().changeLevel(7);
		    player.sendMessage("Вы успешно повысили уровень клана!");
		    showServices(player);
		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }
   else if (actualCommand.equalsIgnoreCase("Increaseclanlevel8"))
       {
           if (!player.isClanLeader())
	    {
		    player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");
		    showServices(player);
		    return;
	    }
	    else if (player.getClan().getLevel() != 7)
	    {
		    player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 7");
		    showServices(player);
		    return;
	    }
	    else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL8)
	    {
		    player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 8 for "+player.getName(), ITEM_ID, CLANLVL8, player, player);
	    if (destritem != null)
	    {
		    player.getClan().changeLevel(;
		    player.sendMessage("Вы успешно повысили уровень клана!");
		    showServices(player);

		    InventoryUpdate iu = new InventoryUpdate();
		    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
		    else iu.addModifiedItem(destritem);
		    player.sendPacket(iu);
	    }
	    else
	    {
		    player.sendMessage("Ошибка!");
		    showServices(player);
	    }
       }


       else if (actualCommand.equalsIgnoreCase("nobless"))
       {

           if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < NOBLESS)
	    {
		    player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");
		    showServices(player);
		    return;
	    }
	    L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: NOBLESS for "+player.getName(), ITEM_ID, NOBLESS, player, player);
	    if (destritem != null)
	    {
	        if(player.isNoble())
               {
                   player.sendMessage("Вы уже ноблесс");
                   showServices(player);
                   return;
               }
               player.sendMessage("Вы получили прохождения квестов для ноблесса! Поздравляем! Теперь Вы ноблесс!");
               player.setNoble(true);
               showServices(player);
               player.addItem(" GoldMerchant: NOBLESS", 7694, 1, this, true);
    InventoryUpdate iu = new InventoryUpdate();
    if (destritem.getCount() == 0) iu.addRemovedItem(destritem);
    else iu.addModifiedItem(destritem);
    player.sendPacket(iu);
    }
    else
    {
	  player.sendMessage("Ошибка!");
	  showServices(player);
    }
       }

       else if (actualCommand.equalsIgnoreCase("sex"))
       {
           if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < SEX)
           {
               player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");
               showServices(player);
               return;
           }
           player.destroyItemByItemId("Consume", ITEM_ID, SEX, player, false);
           player.getAppearance().setSex(player.getAppearance().getSex() ? false : true);
           player.decayMe();
           player.spawnMe(player.getX(), player.getY(), player.getZ());
           player.broadcastUserInfo();
           player.sendMessage("Вы успешно сменили свой пол.");
           showServices(player);
       }

       else if (actualCommand.equalsIgnoreCase("pk"))
       {
           if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= PK)
           {
               int inipkKills = player.getPkKills();
               if(inipkKills == 0)
               {
                   player.sendMessage("У вас нет PK");
                   showServices(player);
                   return;
               }
               player.destroyItemByItemId("Consume", ITEM_ID, PK, player, false);
               player.setPkKills(0);
               if (player.getKarma()>0)
               {
                   player.setKarma(0);
               }
               player.sendPacket(new UserInfo(player));
               player.sendMessage("Ваш счетчик PK обнулен");
               showServices(player);                
           }
           else
           {
               player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");
               showServices(player);
           }
       }

       else if(actualCommand.startsWith("crp"))
       {

              if (player.getClan() != null && (player.getObjectId() == player.getClan().getLeaderId()))
              {
              if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= 1)
              {

                	 player.getClan().setReputationScore(player.getClan().getReputationScore()+Config.DONATE_CRP_COUNT, true);
                	 player.sendMessage("Ваш клан получил "+Config.DONATE_CRP_COUNT+" очков репутации! Сделайте релог.");
                	 player.destroyItemByItemId("Consume", ITEM_ID, 1, player, false);
                	 showServices(player);
              }
              else
              {
                   player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");
                   showServices(player);
              }
              }
              else
              {
                  player.sendMessage("Вы не являетесь лидером клана");
                  showServices(player);
              }
       }
       else
       {
           // this class dont know any other commands, let forward
           // the command to the parent class
           super.onBypassFeedback(player, command);
       }
   }

   /*@Override
   public void onActionShift(L2GameClient client)
   {
       L2PcInstance player = client.getActiveChar();
       if (player == null) return;
       player.sendPacket(new ActionFailed());
   }*/
   public void showServices(L2PcInstance activeChar)
   {
       NpcHtmlMessage html = new NpcHtmlMessage(1);
       String file = "data/html/donate/"+getNpcId()+".htm";
  	 html.setFile(file);
    sendHtmlMessage(activeChar,html);
    activeChar.sendPacket(ActionFailed.STATIC_PACKET);
       html.replace("%crpcount%", str+Config.DONATE_CRP_COUNT);
       html.replace("%colcount%", 1);
       html.replace("%5-6%", str+Config.COL_CLANLVL_5_TO_6);
       html.replace("%6-7%", str+Config.COL_CLANLVL_6_TO_7);
       html.replace("%7-8%", str+Config.COL_CLANLVL_7_TO_;
       html.replace("%namechange%", str+Config.COL_CHANGENAME);
       html.replace("%namecolor%", str+Config.COL_NICKCOLOR);
       html.replace("%titlecolor%", str+Config.COL_TITLECOLOR);
       html.replace("%pk%", str+Config.COL_PK);
       html.replace("%sex%", str+Config.COL_SEX);
       html.replace("%nooble%", str+Config.COL_NOBLESSE);
       html.replace("%prem1%", str+Config.COL_PREM1); // 1 день
       html.replace("%prem2%", str+Config.COL_PREM2); // 1 неделя
       html.replace("%prem3%", str+Config.COL_PREM3); // 1 месяц
   }
   private void sendHtmlMessage(L2PcInstance player, NpcHtmlMessage html)
   {
       html.replace("%objectId%", String.valueOf(getObjectId()));
       html.replace("%npcId%", String.valueOf(getNpcId()));
       player.sendPacket(html);
   }

   public static void addPremiumServices(int Day, String AccName)
     {
  	 Connection con = null;
  	 try
  	 {
  	   Calendar finishtime = Calendar.getInstance();
  	   finishtime.setTimeInMillis(System.currentTimeMillis());
  	   finishtime.set(Calendar.SECOND, 0);
  	   finishtime.add(Calendar.DAY_OF_MONTH, Day);

  	   con = L2DatabaseFactory.getInstance().getConnection(con);
  	   PreparedStatement statement = con.prepareStatement("UPDATE account_premium SET premium_service=?,enddate=? WHERE account_name=?");
  	   statement.setInt(1, 1);
  	   statement.setLong(2, finishtime.getTimeInMillis());
  	   statement.setString(3, AccName);
  	   statement.execute();
  	   statement.close();
  	 }
  	 catch (SQLException e)
  	 {
		  e.printStackTrace();
  	   _log.warn("PremiumService: Could not increase data");
  	 }
  	 finally
  	 {
		    try {
			    if (con != null)
				    con.close();
				    con = null;
		    } catch (SQLException ex) {
			    Logger.getLogger(L2DonateInstance.class.getName()).log(Level.SEVERE, null, ex);
		    }
  	 }
     }
}

 

 

 

СБОРКА ЛЮЦЕРА

 

Если кто то поможет пишите пм.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Импорты забыл пере-писать.

Скорее всего что ты, не квесты не добавил в init_py, больше нет вариантов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в люцере нет init_py.

import java.io.File;

import java.io.FileReader;

import java.io.LineNumberReader;

import java.util.HashMap;

import java.util.Map;

 

import ru.catssoftware.gameserver.datatables.ItemTable;

import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;

import ru.catssoftware.gameserver.handler.VoicedCommandHandler;

import ru.catssoftware.gameserver.model.actor.instance.L2NpcInstance;

import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;

import ru.catssoftware.gameserver.model.quest.Quest;

import ru.catssoftware.gameserver.model.quest.QuestState;

import ru.catssoftware.gameserver.util.PcAction;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pre_1369509785__rl.gif Глупости пишут... Скажу одно, в таком виде этот скрипт не будет на люцере работать. Я вообще удивлён, как он у вас скомпилился под ядро люцеры, там даже конфигов таких нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На быстрый глаз перед сном глянул;

По идеи должно работать,нужно добавить только все эти конфиги.

NPC type L2DonatInstance даёте?

 

На вот попробуй, ток имя класса сменить не забудь)

 

package ru.catssoftware.gameserver.handler.voicedcommandhandlers;

 

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.Calendar;

import java.util.StringTokenizer;

import java.util.logging.Level;

import java.util.logging.Logger;

import java.util.regex.Pattern;

 

import ru.catssoftware.Config;

import ru.catssoftware.gameserver.datatables.CharNameTable;

import ru.catssoftware.gameserver.datatables.ClanTable;

import ru.catssoftware.gameserver.model.L2World;

import ru.catssoftware.gameserver.model.L2Multisell;

import ru.catssoftware.gameserver.network.serverpackets.ActionFailed;

import ru.catssoftware.gameserver.network.serverpackets.InventoryUpdate;

import ru.catssoftware.gameserver.network.serverpackets.MagicSkillUse;

import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;

import ru.catssoftware.gameserver.network.serverpackets.UserInfo;

import ru.catssoftware.gameserver.templates.chars.L2NpcTemplate;

import ru.catssoftware.gameserver.model.L2ItemInstance;

import ru.catssoftware.L2DatabaseFactory;

import ru.catssoftware.gameserver.model.actor.instance.L2FolkInstance;

import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;

 

/**

* This class ...

*

* @version $Revision: 1.10.4.9 $ $Date: 2005/04/11 10:06:08 $

*/

public class Menu extends L2FolkInstance

{

//private static Logger _log = Logger.getLogger(L2ArteiaGoldMerchantInstance.class.getName());

 

private static int SETNAME = Config.COL_CHANGENAME;

private static int SETNAMECOLOR =Config.COL_NICKCOLOR;

private static int SETTITLECOLOR = Config.COL_TITLECOLOR;

private static int SETCLANNAME = Config.COL_CHANGECLANNAME;

private static int CLANLVL6 = Config.COL_CLANLVL_5_TO_6;

private static int CLANLVL7 = Config.COL_CLANLVL_6_TO_7;

private static int CLANLVL8 = Config.COL_CLANLVL_7_TO_8;

private static int NOBLESS = Config.COL_NOBLESSE;

private static int PREM1 = Config.COL_PREM1; // 1 день

private static int PREM2 = Config.COL_PREM2; // 1 неделя

private static int PREM3 = Config.COL_PREM3; // 1 месяц

private static int SEX = Config.COL_SEX;

private static int PK = Config.COL_PK;

public static int ITEM_ID = Config.DONATE_ITEM_ID;

public static int CRP_COUNT = Config.DONATE_CRP_COUNT;

public static Pattern DONNAME_PATTERN = Config.DONNAME_TEMPLATE;

public static Pattern CLANNAME_PATTERN = Config.CLANNAME_TEMPLATE;

String str = "";

/**

* @param template

*/

public Menu(int objectId, L2NpcTemplate template)

{

super(objectId, template);

}

 

public String getHtmlPath(int npcId, int val)

{

String pom = "";

if (val == 0) pom = "" + npcId;

else pom = npcId + "-" + val;

return "data/html/donate/" + pom + ".htm";

}

 

@Override

public void onBypassFeedback(L2PcInstance player, String command)

{

StringTokenizer st = new StringTokenizer(command, " ");

String actualCommand = st.nextToken(); // Get actual command

if (actualCommand.equalsIgnoreCase("Multisell"))

{

if (st.countTokens() < 1) return;

int val = Integer.parseInt(st.nextToken());

L2Multisell.getInstance().separateAndSend(val, player, false, getCastle().getTaxRate());

}

else if (actualCommand.equalsIgnoreCase("premadd1"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM1)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PREM1, player, false);

try

{

 

addPremiumServices(1, player.getAccountName());

}

catch (StringIndexOutOfBoundsException e)

{

player.sendMessage("Ошибка");

showServices(player);

}

MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);

player.sendPacket(MSU);

player.broadcastPacket(MSU);

player.sendMessage("Вы получили премиум аккаунт на 1 день. Новое получение не добавляет время, а обновляет!");

player.store();

showServices(player);

}

 

else if (actualCommand.equalsIgnoreCase("premadd2"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM2)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PREM2, player, false);

try

{

 

addPremiumServices(7, player.getAccountName());

}

catch (StringIndexOutOfBoundsException e)

{

player.sendMessage("Ошибка, свяжитесь с администрацией");

showServices(player);

}

MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);

player.sendPacket(MSU);

player.broadcastPacket(MSU);

player.sendMessage("Вы получили премиум аккаунт на 1 неделю. Новое получение не добавляет время, а обновляет!");

player.store();

showServices(player);

}

else if (actualCommand.equalsIgnoreCase("premadd3"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM3)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PREM3, player, false);

try

{

addPremiumServices(31, player.getAccountName());

}

catch (StringIndexOutOfBoundsException e)

{

player.sendMessage("Ошибка");

showServices(player);

}

MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);

player.sendPacket(MSU);

player.broadcastPacket(MSU);

player.sendMessage("Вы получили премиум аккаунт на 1 месяц. Новое получение не добавляет время, а обновляет!");

player.store();

showServices(player);

}

else if (actualCommand.equalsIgnoreCase("Setname"))

{

if (st.countTokens() < 1) return;

String newname = st.nextToken();

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAME)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

else if (!Config.DONNAME_TEMPLATE.matcher(newname).matches())

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if ((newname.length() < 3) || (newname.length() > 16))

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if (CharNameTable.getInstance().doesCharNameExist(newname))

{

player.sendMessage("Это имя уже занято.");

showServices(player);

return;

}

else if (player.isClanLeader())

{

player.sendMessage("Передайте клан на время смены ника другому игроку.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setname "+newname+" for "+player.getName(), ITEM_ID, SETNAME, player, player);

if (destritem != null)

{

L2World.getInstance().removeFromAllPlayers(player);

player.setName(newname);

player.store();

L2World.getInstance().addToAllPlayers(player);

player.sendMessage("Вы успешно сменили свое имя!");

player.setClan(player.getClan());

player.broadcastUserInfo();

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Setnamecolor"))

{

if (st.countTokens() < 1) return;

String newcolor = st.nextToken();

int color = 0;

try

{

color = Integer.parseInt(newcolor);

}

catch (Exception e)

{

return;

}

newcolor = "";

switch (color)

{

case 1: newcolor = "FFFF00";

break;

case 2: newcolor = "000000";

break;

case 3: newcolor = "FF0000";

break;

case 4: newcolor = "FF00FF";

break;

case 5: newcolor = "808080";

break;

case 6: newcolor = "008000";

break;

case 7: newcolor = "00FF00";

break;

case 8: newcolor = "800000";

break;

case 9: newcolor = "008080";

break;

case 10: newcolor = "800080";

break;

case 11: newcolor = "808000";

break;

case 12: newcolor = "FFFFFF";

break;

case 13: newcolor = "00FFFF";

break;

case 14: newcolor = "C0C0C0";

break;

case 15: newcolor = "17A0D4";

break;

default:return;

}

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAMECOLOR)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setnamecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETNAMECOLOR, player, player);

if (destritem != null)

{

player.sendMessage("Вы успешно изменили цвет имени!");

player.getAppearance().setNameColor(Integer.decode("0x"+newcolor));

player.broadcastUserInfo();

player.store();

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Settitlecolor"))

{

if (st.countTokens() < 1) return;

String newcolor = st.nextToken();

int color = 0;

try

{

color = Integer.parseInt(newcolor);

}

catch (Exception e)

{

return;

}

newcolor = "";

switch (color)

{

case 1: newcolor = "FFFF00";

break;

case 2: newcolor = "000000";

break;

case 3: newcolor = "FF0000";

break;

case 4: newcolor = "FF00FF";

break;

case 5: newcolor = "808080";

break;

case 6: newcolor = "008000";

break;

case 7: newcolor = "00FF00";

break;

case 8: newcolor = "800000";

break;

case 9: newcolor = "008080";

break;

case 10: newcolor = "800080";

break;

case 11: newcolor = "808000";

break;

case 12: newcolor = "FFFFFF";

break;

case 13: newcolor = "00FFFF";

break;

case 14: newcolor = "C0C0C0";

break;

case 15: newcolor = "17A0D4";

break;

default:return;

}

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETTITLECOLOR)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Settitlecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETTITLECOLOR, player, player);

if (destritem != null)

{

player.sendMessage("Вы успешно изменили цвет титула!");

player.getAppearance().setTitleColor(Integer.decode("0x"+newcolor));

player.broadcastUserInfo();

player.store();

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Setclanname"))

{

if (st.countTokens() < 1) return;

String newname = st.nextToken();

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETCLANNAME)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

else if ((newname.length() < 3) || (newname.length() > 16))

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if (!Config.CLANNAME_TEMPLATE.matcher(newname).matches())

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if (ClanTable.getInstance().getClanByName(newname) != null)

{

player.sendMessage("Это имя уже занято.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanname "+newname+" for "+player.getName(), ITEM_ID, SETCLANNAME, player, player);

if (destritem != null)

{

player.getClan().setName(newname);

player.getClan().updateClanInDB();

player.getClan().broadcastClanStatus();

player.sendMessage("Вы успешно сменили имя клана!");

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

 

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel6"))

{

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

else if (player.getClan().getLevel() != 5)

{

player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 5");

showServices(player);

return;

}

else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL6)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 6 for "+player.getName(), ITEM_ID, CLANLVL6, player, player);

if (destritem != null)

{

player.getClan().changeLevel(6);

player.sendMessage("Вы успешно повысили уровень клана!");

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel7"))

{

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

else if (player.getClan().getLevel() != 6)

{

player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 6");

showServices(player);

return;

}

else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL7)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 7 for "+player.getName(), ITEM_ID, CLANLVL7, player, player);

if (destritem != null)

{

player.getClan().changeLevel(7);

player.sendMessage("Вы успешно повысили уровень клана!");

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel8"))

{

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

else if (player.getClan().getLevel() != 7)

{

player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 7");

showServices(player);

return;

}

else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL8)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 8 for "+player.getName(), ITEM_ID, CLANLVL8, player, player);

if (destritem != null)

{

player.getClan().changeLevel( 8);

player.sendMessage("Вы успешно повысили уровень клана!");

showServices(player);

 

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

 

 

else if (actualCommand.equalsIgnoreCase("nobless"))

{

 

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < NOBLESS)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: NOBLESS for "+player.getName(), ITEM_ID, NOBLESS, player, player);

if (destritem != null)

{

if(player.isNoble())

{

player.sendMessage("Вы уже ноблесс");

showServices(player);

return;

}

player.sendMessage("Вы получили прохождения квестов для ноблесса! Поздравляем! Теперь Вы ноблесс!");

player.setNoble(true);

showServices(player);

player.addItem(" GoldMerchant: NOBLESS", 7694, 1, this, true);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

 

else if (actualCommand.equalsIgnoreCase("sex"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < SEX)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, SEX, player, false);

player.getAppearance().setSex(player.getAppearance().getSex() ? false : true);

player.decayMe();

player.spawnMe(player.getX(), player.getY(), player.getZ());

player.broadcastUserInfo();

player.sendMessage("Вы успешно сменили свой пол.");

showServices(player);

}

 

else if (actualCommand.equalsIgnoreCase("pk"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= PK)

{

int inipkKills = player.getPkKills();

if(inipkKills == 0)

{

player.sendMessage("У вас нет PK");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PK, player, false);

player.setPkKills(0);

if (player.getKarma()>0)

{

player.setKarma(0);

}

player.sendPacket(new UserInfo(player));

player.sendMessage("Ваш счетчик PK обнулен");

showServices(player);

}

else

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");

showServices(player);

}

}

 

else if(actualCommand.startsWith("crp"))

{

 

if (player.getClan() != null && (player.getObjectId() == player.getClan().getLeaderId()))

{

if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= 1)

{

 

player.getClan().setReputationScore(player.getClan().getReputationScore()+Config.DONATE_CRP_COUNT, true);

player.sendMessage("Ваш клан получил "+Config.DONATE_CRP_COUNT+" очков репутации! Сделайте релог.");

player.destroyItemByItemId("Consume", ITEM_ID, 1, player, false);

showServices(player);

}

else

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");

showServices(player);

}

}

else

{

player.sendMessage("Вы не являетесь лидером клана");

showServices(player);

}

}

else

{

// this class dont know any other commands, let forward

// the command to the parent class

super.onBypassFeedback(player, command);

}

}

 

/*@Override

public void onActionShift(L2GameClient client)

{

L2PcInstance player = client.getActiveChar();

if (player == null) return;

player.sendPacket(new ActionFailed());

}*/

public void showServices(L2PcInstance activeChar)

{

NpcHtmlMessage html = new NpcHtmlMessage(1);

String file = "data/html/donate/"+getNpcId()+".htm";

html.setFile(file);

sendHtmlMessage(activeChar,html);

activeChar.sendPacket(ActionFailed.STATIC_PACKET);

html.replace("%crpcount%", str+Config.DONATE_CRP_COUNT);

html.replace("%colcount%", 1);

html.replace("%5-6%", str+Config.COL_CLANLVL_5_TO_6);

html.replace("%6-7%", str+Config.COL_CLANLVL_6_TO_7);

html.replace("%7-8%", str+Config.COL_CLANLVL_7_TO_ 8);

html.replace("%namechange%", str+Config.COL_CHANGENAME);

html.replace("%namecolor%", str+Config.COL_NICKCOLOR);

html.replace("%titlecolor%", str+Config.COL_TITLECOLOR);

html.replace("%pk%", str+Config.COL_PK);

html.replace("%sex%", str+Config.COL_SEX);

html.replace("%nooble%", str+Config.COL_NOBLESSE);

html.replace("%prem1%", str+Config.COL_PREM1); // 1 день

html.replace("%prem2%", str+Config.COL_PREM2); // 1 неделя

html.replace("%prem3%", str+Config.COL_PREM3); // 1 месяц

}

private void sendHtmlMessage(L2PcInstance player, NpcHtmlMessage html)

{

html.replace("%objectId%", String.valueOf(getObjectId()));

html.replace("%npcId%", String.valueOf(getNpcId()));

player.sendPacket(html);

}

 

public static void addPremiumServices(int Day, String AccName)

{

Connection con = null;

try

{

Calendar finishtime = Calendar.getInstance();

finishtime.setTimeInMillis(System.currentTimeMillis());

finishtime.set(Calendar.SECOND, 0);

finishtime.add(Calendar.DAY_OF_MONTH, Day);

 

con = L2DatabaseFactory.getInstance().getConnection(con);

PreparedStatement statement = con.prepareStatement("UPDATE account_premium SET premium_service=?,enddate=? WHERE account_name=?");

statement.setInt(1, 1);

statement.setLong(2, finishtime.getTimeInMillis());

statement.setString(3, AccName);

statement.execute();

statement.close();

}

catch (SQLException e)

{

e.printStackTrace();

_log.warn("PremiumService: Could not increase data");

}

finally

{

try {

if (con != null)

con.close();

con = null;

} catch (SQLException ex) {

Logger.getLogger(L2DonateInstance.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

}

 

Изменено пользователем Project-World

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На быстрый глаз перед сном глянул;

По идеи должно работать,нужно добавить только все эти конфиги.

NPC type L2DonatInstance даёте?

 

На вот попробуй, ток имя класса сменить не забудь)

 

package ru.catssoftware.gameserver.handler.voicedcommandhandlers;

 

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.Calendar;

import java.util.StringTokenizer;

import java.util.logging.Level;

import java.util.logging.Logger;

import java.util.regex.Pattern;

 

import ru.catssoftware.Config;

import ru.catssoftware.gameserver.datatables.CharNameTable;

import ru.catssoftware.gameserver.datatables.ClanTable;

import ru.catssoftware.gameserver.model.L2World;

import ru.catssoftware.gameserver.model.L2Multisell;

import ru.catssoftware.gameserver.network.serverpackets.ActionFailed;

import ru.catssoftware.gameserver.network.serverpackets.InventoryUpdate;

import ru.catssoftware.gameserver.network.serverpackets.MagicSkillUse;

import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;

import ru.catssoftware.gameserver.network.serverpackets.UserInfo;

import ru.catssoftware.gameserver.templates.chars.L2NpcTemplate;

import ru.catssoftware.gameserver.model.L2ItemInstance;

import ru.catssoftware.L2DatabaseFactory;

import ru.catssoftware.gameserver.model.actor.instance.L2FolkInstance;

import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;

 

/**

* This class ...

*

* @version $Revision: 1.10.4.9 $ $Date: 2005/04/11 10:06:08 $

*/

public class Menu extends L2FolkInstance

{

//private static Logger _log = Logger.getLogger(L2ArteiaGoldMerchantInstance.class.getName());

 

private static int SETNAME = Config.COL_CHANGENAME;

private static int SETNAMECOLOR =Config.COL_NICKCOLOR;

private static int SETTITLECOLOR = Config.COL_TITLECOLOR;

private static int SETCLANNAME = Config.COL_CHANGECLANNAME;

private static int CLANLVL6 = Config.COL_CLANLVL_5_TO_6;

private static int CLANLVL7 = Config.COL_CLANLVL_6_TO_7;

private static int CLANLVL8 = Config.COL_CLANLVL_7_TO_8;

private static int NOBLESS = Config.COL_NOBLESSE;

private static int PREM1 = Config.COL_PREM1; // 1 день

private static int PREM2 = Config.COL_PREM2; // 1 неделя

private static int PREM3 = Config.COL_PREM3; // 1 месяц

private static int SEX = Config.COL_SEX;

private static int PK = Config.COL_PK;

public static int ITEM_ID = Config.DONATE_ITEM_ID;

public static int CRP_COUNT = Config.DONATE_CRP_COUNT;

public static Pattern DONNAME_PATTERN = Config.DONNAME_TEMPLATE;

public static Pattern CLANNAME_PATTERN = Config.CLANNAME_TEMPLATE;

String str = "";

/**

* @param template

*/

public Menu(int objectId, L2NpcTemplate template)

{

super(objectId, template);

}

 

public String getHtmlPath(int npcId, int val)

{

String pom = "";

if (val == 0) pom = "" + npcId;

else pom = npcId + "-" + val;

return "data/html/donate/" + pom + ".htm";

}

 

@Override

public void onBypassFeedback(L2PcInstance player, String command)

{

StringTokenizer st = new StringTokenizer(command, " ");

String actualCommand = st.nextToken(); // Get actual command

if (actualCommand.equalsIgnoreCase("Multisell"))

{

if (st.countTokens() < 1) return;

int val = Integer.parseInt(st.nextToken());

L2Multisell.getInstance().separateAndSend(val, player, false, getCastle().getTaxRate());

}

else if (actualCommand.equalsIgnoreCase("premadd1"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM1)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PREM1, player, false);

try

{

 

addPremiumServices(1, player.getAccountName());

}

catch (StringIndexOutOfBoundsException e)

{

player.sendMessage("Ошибка");

showServices(player);

}

MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);

player.sendPacket(MSU);

player.broadcastPacket(MSU);

player.sendMessage("Вы получили премиум аккаунт на 1 день. Новое получение не добавляет время, а обновляет!");

player.store();

showServices(player);

}

 

else if (actualCommand.equalsIgnoreCase("premadd2"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM2)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PREM2, player, false);

try

{

 

addPremiumServices(7, player.getAccountName());

}

catch (StringIndexOutOfBoundsException e)

{

player.sendMessage("Ошибка, свяжитесь с администрацией");

showServices(player);

}

MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);

player.sendPacket(MSU);

player.broadcastPacket(MSU);

player.sendMessage("Вы получили премиум аккаунт на 1 неделю. Новое получение не добавляет время, а обновляет!");

player.store();

showServices(player);

}

else if (actualCommand.equalsIgnoreCase("premadd3"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM3)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PREM3, player, false);

try

{

addPremiumServices(31, player.getAccountName());

}

catch (StringIndexOutOfBoundsException e)

{

player.sendMessage("Ошибка");

showServices(player);

}

MagicSkillUse MSU = new MagicSkillUse(player, player, 2023, 1, 1, 0,false);

player.sendPacket(MSU);

player.broadcastPacket(MSU);

player.sendMessage("Вы получили премиум аккаунт на 1 месяц. Новое получение не добавляет время, а обновляет!");

player.store();

showServices(player);

}

else if (actualCommand.equalsIgnoreCase("Setname"))

{

if (st.countTokens() < 1) return;

String newname = st.nextToken();

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAME)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

else if (!Config.DONNAME_TEMPLATE.matcher(newname).matches())

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if ((newname.length() < 3) || (newname.length() > 16))

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if (CharNameTable.getInstance().doesCharNameExist(newname))

{

player.sendMessage("Это имя уже занято.");

showServices(player);

return;

}

else if (player.isClanLeader())

{

player.sendMessage("Передайте клан на время смены ника другому игроку.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setname "+newname+" for "+player.getName(), ITEM_ID, SETNAME, player, player);

if (destritem != null)

{

L2World.getInstance().removeFromAllPlayers(player);

player.setName(newname);

player.store();

L2World.getInstance().addToAllPlayers(player);

player.sendMessage("Вы успешно сменили свое имя!");

player.setClan(player.getClan());

player.broadcastUserInfo();

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Setnamecolor"))

{

if (st.countTokens() < 1) return;

String newcolor = st.nextToken();

int color = 0;

try

{

color = Integer.parseInt(newcolor);

}

catch (Exception e)

{

return;

}

newcolor = "";

switch (color)

{

case 1: newcolor = "FFFF00";

break;

case 2: newcolor = "000000";

break;

case 3: newcolor = "FF0000";

break;

case 4: newcolor = "FF00FF";

break;

case 5: newcolor = "808080";

break;

case 6: newcolor = "008000";

break;

case 7: newcolor = "00FF00";

break;

case 8: newcolor = "800000";

break;

case 9: newcolor = "008080";

break;

case 10: newcolor = "800080";

break;

case 11: newcolor = "808000";

break;

case 12: newcolor = "FFFFFF";

break;

case 13: newcolor = "00FFFF";

break;

case 14: newcolor = "C0C0C0";

break;

case 15: newcolor = "17A0D4";

break;

default:return;

}

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETNAMECOLOR)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setnamecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETNAMECOLOR, player, player);

if (destritem != null)

{

player.sendMessage("Вы успешно изменили цвет имени!");

player.getAppearance().setNameColor(Integer.decode("0x"+newcolor));

player.broadcastUserInfo();

player.store();

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Settitlecolor"))

{

if (st.countTokens() < 1) return;

String newcolor = st.nextToken();

int color = 0;

try

{

color = Integer.parseInt(newcolor);

}

catch (Exception e)

{

return;

}

newcolor = "";

switch (color)

{

case 1: newcolor = "FFFF00";

break;

case 2: newcolor = "000000";

break;

case 3: newcolor = "FF0000";

break;

case 4: newcolor = "FF00FF";

break;

case 5: newcolor = "808080";

break;

case 6: newcolor = "008000";

break;

case 7: newcolor = "00FF00";

break;

case 8: newcolor = "800000";

break;

case 9: newcolor = "008080";

break;

case 10: newcolor = "800080";

break;

case 11: newcolor = "808000";

break;

case 12: newcolor = "FFFFFF";

break;

case 13: newcolor = "00FFFF";

break;

case 14: newcolor = "C0C0C0";

break;

case 15: newcolor = "17A0D4";

break;

default:return;

}

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETTITLECOLOR)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Settitlecolor "+newcolor+" for "+player.getName(), ITEM_ID, SETTITLECOLOR, player, player);

if (destritem != null)

{

player.sendMessage("Вы успешно изменили цвет титула!");

player.getAppearance().setTitleColor(Integer.decode("0x"+newcolor));

player.broadcastUserInfo();

player.store();

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Setclanname"))

{

if (st.countTokens() < 1) return;

String newname = st.nextToken();

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < SETCLANNAME)

{

player.sendMessage("Неправильное кол-во предметов.");

showServices(player);

return;

}

else if ((newname.length() < 3) || (newname.length() > 16))

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if (!Config.CLANNAME_TEMPLATE.matcher(newname).matches())

{

player.sendMessage("Это имя не может быть использовано.");

showServices(player);

return;

}

else if (ClanTable.getInstance().getClanByName(newname) != null)

{

player.sendMessage("Это имя уже занято.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanname "+newname+" for "+player.getName(), ITEM_ID, SETCLANNAME, player, player);

if (destritem != null)

{

player.getClan().setName(newname);

player.getClan().updateClanInDB();

player.getClan().broadcastClanStatus();

player.sendMessage("Вы успешно сменили имя клана!");

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

 

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel6"))

{

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

else if (player.getClan().getLevel() != 5)

{

player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 5");

showServices(player);

return;

}

else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL6)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 6 for "+player.getName(), ITEM_ID, CLANLVL6, player, player);

if (destritem != null)

{

player.getClan().changeLevel(6);

player.sendMessage("Вы успешно повысили уровень клана!");

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel7"))

{

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

else if (player.getClan().getLevel() != 6)

{

player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 6");

showServices(player);

return;

}

else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL7)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 7 for "+player.getName(), ITEM_ID, CLANLVL7, player, player);

if (destritem != null)

{

player.getClan().changeLevel(7);

player.sendMessage("Вы успешно повысили уровень клана!");

showServices(player);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

else if (actualCommand.equalsIgnoreCase("Increaseclanlevel8"))

{

if (!player.isClanLeader())

{

player.sendMessage("Вы не глава клана. Только глава клана может это сделать.");

showServices(player);

return;

}

else if (player.getClan().getLevel() != 7)

{

player.sendMessage("У Вас не верный уровень клана. Можете только если уровень клана 7");

showServices(player);

return;

}

else if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < CLANLVL8)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: Setclanlvl 8 for "+player.getName(), ITEM_ID, CLANLVL8, player, player);

if (destritem != null)

{

player.getClan().changeLevel( 8);

player.sendMessage("Вы успешно повысили уровень клана!");

showServices(player);

 

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

 

 

else if (actualCommand.equalsIgnoreCase("nobless"))

{

 

if (player.getInventory().getInventoryItemCount(ITEM_ID, 0) < NOBLESS)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции.");

showServices(player);

return;

}

L2ItemInstance destritem = player.getInventory().destroyItemByItemId(" GoldMerchant: NOBLESS for "+player.getName(), ITEM_ID, NOBLESS, player, player);

if (destritem != null)

{

if(player.isNoble())

{

player.sendMessage("Вы уже ноблесс");

showServices(player);

return;

}

player.sendMessage("Вы получили прохождения квестов для ноблесса! Поздравляем! Теперь Вы ноблесс!");

player.setNoble(true);

showServices(player);

player.addItem(" GoldMerchant: NOBLESS", 7694, 1, this, true);

InventoryUpdate iu = new InventoryUpdate();

if (destritem.getCount() == 0) iu.addRemovedItem(destritem);

else iu.addModifiedItem(destritem);

player.sendPacket(iu);

}

else

{

player.sendMessage("Ошибка!");

showServices(player);

}

}

 

else if (actualCommand.equalsIgnoreCase("sex"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < SEX)

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, SEX, player, false);

player.getAppearance().setSex(player.getAppearance().getSex() ? false : true);

player.decayMe();

player.spawnMe(player.getX(), player.getY(), player.getZ());

player.broadcastUserInfo();

player.sendMessage("Вы успешно сменили свой пол.");

showServices(player);

}

 

else if (actualCommand.equalsIgnoreCase("pk"))

{

if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= PK)

{

int inipkKills = player.getPkKills();

if(inipkKills == 0)

{

player.sendMessage("У вас нет PK");

showServices(player);

return;

}

player.destroyItemByItemId("Consume", ITEM_ID, PK, player, false);

player.setPkKills(0);

if (player.getKarma()>0)

{

player.setKarma(0);

}

player.sendPacket(new UserInfo(player));

player.sendMessage("Ваш счетчик PK обнулен");

showServices(player);

}

else

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");

showServices(player);

}

}

 

else if(actualCommand.startsWith("crp"))

{

 

if (player.getClan() != null && (player.getObjectId() == player.getClan().getLeaderId()))

{

if(player.getInventory().getItemByItemId(ITEM_ID) != null && player.getInventory().getItemByItemId(ITEM_ID).getCount() >= 1)

{

 

player.getClan().setReputationScore(player.getClan().getReputationScore()+Config.DONATE_CRP_COUNT, true);

player.sendMessage("Ваш клан получил "+Config.DONATE_CRP_COUNT+" очков репутации! Сделайте релог.");

player.destroyItemByItemId("Consume", ITEM_ID, 1, player, false);

showServices(player);

}

else

{

player.sendMessage("У Вас не достаточное кол-во монет для проведения операции");

showServices(player);

}

}

else

{

player.sendMessage("Вы не являетесь лидером клана");

showServices(player);

}

}

else

{

// this class dont know any other commands, let forward

// the command to the parent class

super.onBypassFeedback(player, command);

}

}

 

/*@Override

public void onActionShift(L2GameClient client)

{

L2PcInstance player = client.getActiveChar();

if (player == null) return;

player.sendPacket(new ActionFailed());

}*/

public void showServices(L2PcInstance activeChar)

{

NpcHtmlMessage html = new NpcHtmlMessage(1);

String file = "data/html/donate/"+getNpcId()+".htm";

html.setFile(file);

sendHtmlMessage(activeChar,html);

activeChar.sendPacket(ActionFailed.STATIC_PACKET);

html.replace("%crpcount%", str+Config.DONATE_CRP_COUNT);

html.replace("%colcount%", 1);

html.replace("%5-6%", str+Config.COL_CLANLVL_5_TO_6);

html.replace("%6-7%", str+Config.COL_CLANLVL_6_TO_7);

html.replace("%7-8%", str+Config.COL_CLANLVL_7_TO_ 8);

html.replace("%namechange%", str+Config.COL_CHANGENAME);

html.replace("%namecolor%", str+Config.COL_NICKCOLOR);

html.replace("%titlecolor%", str+Config.COL_TITLECOLOR);

html.replace("%pk%", str+Config.COL_PK);

html.replace("%sex%", str+Config.COL_SEX);

html.replace("%nooble%", str+Config.COL_NOBLESSE);

html.replace("%prem1%", str+Config.COL_PREM1); // 1 день

html.replace("%prem2%", str+Config.COL_PREM2); // 1 неделя

html.replace("%prem3%", str+Config.COL_PREM3); // 1 месяц

}

private void sendHtmlMessage(L2PcInstance player, NpcHtmlMessage html)

{

html.replace("%objectId%", String.valueOf(getObjectId()));

html.replace("%npcId%", String.valueOf(getNpcId()));

player.sendPacket(html);

}

 

public static void addPremiumServices(int Day, String AccName)

{

Connection con = null;

try

{

Calendar finishtime = Calendar.getInstance();

finishtime.setTimeInMillis(System.currentTimeMillis());

finishtime.set(Calendar.SECOND, 0);

finishtime.add(Calendar.DAY_OF_MONTH, Day);

 

con = L2DatabaseFactory.getInstance().getConnection(con);

PreparedStatement statement = con.prepareStatement("UPDATE account_premium SET premium_service=?,enddate=? WHERE account_name=?");

statement.setInt(1, 1);

statement.setLong(2, finishtime.getTimeInMillis());

statement.setString(3, AccName);

statement.execute();

statement.close();

}

catch (SQLException e)

{

e.printStackTrace();

_log.warn("PremiumService: Could not increase data");

}

finally

{

try {

if (con != null)

con.close();

con = null;

} catch (SQLException ex) {

Logger.getLogger(L2DonateInstance.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

}

 

Что бы он работал, надо почти весь код перебрать. Метод выдачи премиума к примеру, здесь не нужен. В люцере он через PCAction выдаёться. Вообщем проще будет взять готовый вариант и поправить, как душе угодно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

всё ок работает, но правда не одна функция не пашет. Щас исправим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

пишет что неправильное кол-во предметов, как исправить? конфиги всё ок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ааа всё понял в чём проблема, в loadMainConfig загрузку конфигов дон шопа не включил...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...