Перейти к содержанию

La2Bash

Заблокирован
  • Публикаций

    673
  • Зарегистрирован

  • Посещение

  • Отзывы

    0%

Сообщения, опубликованные La2Bash


  1. Слушай а вот ещё проблемка, когда бафаю вику потом бафаю магнус - он бафается нормально.Пытаюсь бафнуть повы на висящий магнус/вику - бабки берутся, баф не даётся. Когда пофы бафаю друг на друга - всё ок. Где может быть проблема?


  2. идём на сайт косперского, покупаем лицензию на фильтр трафика на пол года за 150 т.р. (тоже самое что вам предлагают на ддосгуард и проманаджед)

     

    http://www.kaspersky...ddos-prevention

     

    Лучше всех сервисов - объясню почему:

    1. Вы не приобретаете уже купленную защиту ещё раз с огромной наценкой.

    2. Вы клиент касперского (тех. поддержка).

    3. Вы на 100% уверены что ваша защита только ваша и ей не пользуются другие проекты.


  3. идея збс но надо уметь раскручивать.

    сам держал радио sampfm.ru, за неделю половина нормальных русских серверов крутило нас у себя в игре ибо это збс.

    вот даже мод свой был для нг дискачки слушателей было 700+


  4. вот так вот, помогай потом после этого людям.

    держите, мб кому то понадобится:

     

    DonNameTemplate = [A-Za-z0-9\\-\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\=\\[\\]\\{\\}\\|\\:\\.]{3,16}

    DonClNameTemplate = [A-Za-z0-9\\-\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\_\\+\\=\\[\\]\\{\\}\\|\\:\\.]{3,16}


  5. Помогите написать синтаксис к патерну (я не совсем разбираюсь в нём)

    вывел в конфиги на фрозене проверку на дон ники (проверяет как при создании чара).

    мне нужна проверка следующим способом:

    вот допустим мои конфиги -

    DonNameTemplate = [A-Za-z0-9-]{3,16}

    DonClNameTemplate = [A-Za-z0-9-]{3,16}

    мне нужно добавить к этим разрешенным символам следующие: ~!@#$%^&*()_+=[]{}|:.

    тому кто поможет буду очень благодарен :)

     

    кому надо вот мой класс L2DonateInstance (с уже добавленной проверкой на неправильность дон ника, пока не компилил и не тестил, но по идее должно работать), вам остаётся вывести DONCLANNAME_TEMPLATE и DONNAME_TEMPLATE в конфиги

     

     

    
    package com.l2jfrozen.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 com.l2jfrozen.Config;
    import com.l2jfrozen.gameserver.cache.HtmCache;
    import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager;
    import com.l2jfrozen.gameserver.datatables.sql.CharNameTable;
    import com.l2jfrozen.gameserver.datatables.sql.ClanTable;
    import com.l2jfrozen.gameserver.model.L2World;
    import com.l2jfrozen.gameserver.model.multisell.L2Multisell;
    import com.l2jfrozen.gameserver.network.L2GameClient;
    import com.l2jfrozen.gameserver.network.serverpackets.ActionFailed;
    import com.l2jfrozen.gameserver.network.serverpackets.InventoryUpdate;
    import com.l2jfrozen.gameserver.network.serverpackets.MagicSkillUser;
    import com.l2jfrozen.gameserver.network.serverpackets.NpcHtmlMessage;
    import com.l2jfrozen.gameserver.network.serverpackets.UserInfo;
    import com.l2jfrozen.gameserver.templates.L2NpcTemplate;
    import com.l2jfrozen.util.CloseUtil;
    import com.l2jfrozen.util.database.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_6LVL_CLAN;
    private static int CLANLVL7 = Config.COL_7LVL_CLAN;
    private static int CLANLVL8 = Config.COL_8LVL_CLAN;
    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 PREM4 = Config.COL_PREM4; // 3 месяца
    private static int PREM5 = Config.COL_PREM5; // 6 месяцев
    private static int PREM6 = Config.COL_PREM6; // 1 год
    private static int SEX = Config.COL_SEX;
    private static int PK = Config.COL_PK;
    public static int CRP_ITEM_ID = Config.CRP_ITEM_ID;
    public static int ITEM_ID = Config.DON_ITEM_ID;
    String str = "";
    /**
    * @param template
    */
    public L2DonateInstance(int objectId, L2NpcTemplate template)
    {
    super(objectId, template);
    }
    
    @Override
    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);
    }
    MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
    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);
    }
    MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
    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);
    }
    MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
    player.sendPacket(MSU);
    player.broadcastPacket(MSU);
    player.sendMessage("Вы получили премиум аккаунт на 1 месяц. Новое получение не добавляет время, а обновляет!");
    player.store();
    showServices(player);
    }
    else if (actualCommand.equalsIgnoreCase("premadd4"))
    {
    if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM4)
    {
    player.sendMessage("Неправильное кол-во предметов.");
    showServices(player);
    return;
    }
    player.destroyItemByItemId("Consume", ITEM_ID, PREM4, player, false);
    try
    {
    
    addPremiumServices(93, player.getAccountName());
    }
    catch (StringIndexOutOfBoundsException e)
    {
    player.sendMessage("Ошибка");
    showServices(player);
    }
    MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
    player.sendPacket(MSU);
    player.broadcastPacket(MSU);
    player.sendMessage("Вы получили премиум аккаунт на 3 месяца. Новое получение не добавляет время, а обновляет!");
    player.store();
    showServices(player);
    }
    else if (actualCommand.equalsIgnoreCase("premadd5"))
    {
    if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM5)
    {
    player.sendMessage("Неправильное кол-во предметов.");
    showServices(player);
    return;
    }
    player.destroyItemByItemId("Consume", ITEM_ID, PREM5, player, false);
    try
    {
    addPremiumServices(183, player.getAccountName());
    }
    catch (StringIndexOutOfBoundsException e)
    {
    player.sendMessage("Ошибка");
    showServices(player);
    }
    MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
    player.sendPacket(MSU);
    player.broadcastPacket(MSU);
    player.sendMessage("Вы получили премиум аккаунт на 6 месяцев. Новое получение не добавляет время, а обновляет!");
    player.store();
    showServices(player);
    }
    else if (actualCommand.equalsIgnoreCase("premadd6"))
    {
    if(player.getInventory().getItemByItemId(ITEM_ID) == null || player.getInventory().getItemByItemId(ITEM_ID).getCount() < PREM6)
    {
    player.sendMessage("Неправильное кол-во предметов.");
    showServices(player);
    return;
    }
    player.destroyItemByItemId("Consume", ITEM_ID, PREM6, player, false);
    try
    {
    addPremiumServices(365, player.getAccountName());
    }
    catch (StringIndexOutOfBoundsException e)
    {
    player.sendMessage("Ошибка");
    showServices(player);
    }
    MagicSkillUser MSU = new MagicSkillUser(player, player, 2023, 1, 1, 0);
    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();
    RegionBBSManager.getInstance().changeCommunityBoard();
    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.DONCLANNAME_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();
    L2PcInstance.setSexDB(player, 1);
    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(CRP_ITEM_ID) != null && player.getInventory().getItemByItemId(CRP_ITEM_ID).getCount() >= Config.COL_CRP)
    {
    
    player.getClan().setReputationScore(player.getClan().getReputationScore()+Config.CRP_COUNT, true);
    player.sendMessage("Ваш клан получил "+Config.CRP_COUNT+" очков репутации! Сделайте релог");
    player.destroyItemByItemId("Consume", CRP_ITEM_ID, Config.COL_CRP, 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(new ActionFailed());
    html.replace("%crpcount%", str+Config.CRP_COUNT);
    html.replace("%colcount%", str+Config.COL_CRP);
    html.replace("%5-6%", str+Config.COL_6LVL_CLAN);
    html.replace("%6-7%", str+Config.COL_7LVL_CLAN);
    html.replace("%7-8%", str+Config.COL_8LVL_CLAN);
    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 месяц
    html.replace("%prem4%", str+Config.COL_PREM4); // 3 месяца
    html.replace("%prem5%", str+Config.COL_PREM5); // 6 месяцев
    html.replace("%prem6%", str+Config.COL_PREM6); // 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(false);
    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)
    {
    if(Config.ENABLE_ALL_EXCEPTIONS)
    e.printStackTrace();
    
    _log.warning("PremiumService: Could not increase data");
    }
    finally
    {
    CloseUtil.close(con);
    con = null;
    }
    }
    }

     

     


  6. Уважаемые пользователи, всем привет.

    Специально для вас публикую баг с никами (который пашет скорей всего на всех сборках).

     

    В общем делаем следующее: открываем дон шоп, жмём сменить ник персонажа. В поле ввода ника нажимаем пробел и Ctrl+Backspace. После чего в поле ввода появляется квадратик. Делаем 2-3 таких квадратика и меняем на него ник. Проканало? Теперь пробуем писать в чат - не пишет. Баг не особо критичный, но его быть не должно. фикситься добавлением методов на разрешённые символы в дон шопе для смены ника. Такая же херня творится походу с названиями кланов.

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