Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
ClassBBSManager
#1
Здравствуйте
Уважаемые!
Помогите решить данную траблу :
Ошибка GS:
Код:
INFO L2ScriptEventManager: register event name=BBSPlayerOnEnterWorld type=PLAYER
_ONENTER
----------
1. WARNING in \ClassBBSManager.java (at line 439)
        else if (!CANCHANGECLASS_NOWINPEACEZONE && !player.isInsideZone(L2Zone.F
LAG_PEACE))
                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^
Dead code
----------
2. WARNING in \ClassBBSManager.java (at line 440)
        {
                        player.sendMessage("╨Ф╨░╨╜╨╜╨╛╨╡ ╨┤╨╡╨╣╤Б╤В╨▓╨╕╨╡ ╨╖╨░╨┐
╤А╨╡╤Й╨╡╨╜╨╛ ╨▓╨╜╨╡ ╨╝╨╕╤А╨╜╨╛╨╣ ╨╖╨╛╨╜╤Л.");
                        return false;
                }
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^
Dead code
----------
2 problems (2 warnings)Service: Bash - RSS data parsed: loaded 100 quotes.
Пишет что мертвый код.
Помогите пожалуйста написать правильно эти строки
Сборка c исходниками l2emuEnterprise
Вот сам скрипт
Код:
package handlers.bbs.pvp;

import java.util.Map;
import java.util.StringTokenizer;

import javolution.text.TextBuilder;
import net.l2emuproject.Config;
import net.l2emuproject.gameserver.cache.HtmCache;
import net.l2emuproject.gameserver.communitybbs.CommunityBoard;
import net.l2emuproject.gameserver.communitybbs.IBBSHandler;
import net.l2emuproject.gameserver.communitybbs.Manager.TopBBSManager;
import net.l2emuproject.gameserver.datatables.CharTemplateTable;
import net.l2emuproject.gameserver.datatables.ItemTable;
import net.l2emuproject.gameserver.instancemanager.games.HandysBlockCheckerManager;
import net.l2emuproject.gameserver.model.L2ItemInstance;
import net.l2emuproject.gameserver.model.actor.instance.L2PcInstance;
import net.l2emuproject.gameserver.model.base.ClassId;
import net.l2emuproject.gameserver.model.base.SubClass;
import net.l2emuproject.gameserver.model.olympiad.Olympiad;
import net.l2emuproject.gameserver.model.zone.L2Zone;
import net.l2emuproject.gameserver.network.SystemMessageId;
import net.l2emuproject.gameserver.network.serverpackets.SystemMessage;
import net.l2emuproject.gameserver.network.serverpackets.ValidateLocation;
import net.l2emuproject.gameserver.util.FloodProtector;
import net.l2emuproject.gameserver.util.FloodProtector.Protected;

public class ClassBBSManager extends TopBBSManager implements IBBSHandler
{
    private static final boolean    CANCHANGESUBCLASS    = true;//можно менять сабкласс
    private static final boolean    CANCHANGECLASS_NOWINPEACEZONE = true; //можно менять сабкласс за мирной зоной
    private static final boolean    CANCHANGECLASS_INSTANCE = false; //можно менять сабкласс в инстансах
    private static final boolean    CANCHANGECLASS_BOSSZONE = false; //можно менять сабкласс в инстансах
    private static final boolean    CANCHANGECLASS_PVPZONE = false; //можно менять сабкласс на арене
    private static final boolean    CANCHANGECLASS_SIEGEZONE = false; //можно менять сабкласс в зоне осады
    private static final boolean    CANCHANGECLASS_PVPSTATE = false; //можно менять сабкласс в ПвП состоянии - розовый
    private static final boolean    CANCHANGECLASS_DEBUFF = false; //можно менять сабкласс пока висит дебаф
    private static final boolean    CANBUYNOBLE        = true;// можно купить ноблес
    private static final int    BUYNOBLEITEMID        = 6393;
    private static final long    BUYNOBLEITEMCOUNT    = 3000;
    private static final int    NOBLESS_TIARA        = 7694;
    

    @Override
    public String getBoard()
    {
        return "101";
    }

    private static String[] _COMMANDS = {"class", "changeclass", "changesubclass", "noble"};

    @Override
    public String[] getCommands()
    {
        return _COMMANDS;
    }

    public void onEvent(Object...objects){};

    @Override
    public String handleCommand(L2PcInstance activeChar, String command, String param)
    {
        if(command.equals("class"))
        {
            TextBuilder sb = new TextBuilder();
            ClassId classId = activeChar.getClassId();
            int level = activeChar.getLevel();
            int jobLevel = classId.level();
            int newJobLevel = jobLevel + 1;

            if(level >= 20 && jobLevel == 0 || level >= 40 && jobLevel == 1 || level >= 76 && jobLevel == 2 && Config.CLASS_MASTER_SETTINGS.isAllowed(newJobLevel))
            {
                    sb.append("<center>Приветствую <font color=F2C202>" + activeChar.getName() + "</font>! Ваша текущая профессия <font color=F2C202>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "</font></center>.<br>");
                    sb.append("<center>Список доступных классов:</center><br>");

                    for(ClassId child : ClassId.values())
                    {
                        if(child.childOf(classId) && child.level() == newJobLevel)
                        {
                            sb.append("<br><center><button value=\"" + CharTemplateTable.getClassNameById(child.getId()) + "\" action=\"bypass -h _bbschangeclass " + child.getId() + "\" width=175 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\"></center>");
                        }
                    }
                    if((Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel) != null) && (!Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).isEmpty()))
                    {
                        sb.append("<br><br><center>Список необходимых предметов:</center>");
                        sb.append("<center><table width=200>");
                        for(Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())
                        {
                            int _count = Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).get(_itemId).intValue();
                            sb.append("<tr><td><center><font color=\"LEVEL\">" + _count + "</font></center></td><td><center>" + ItemTable.getInstance().getTemplate(_itemId.intValue()).getName() + "</center></td></tr>");
                        }
                        sb.append("</table></center><br>");
                    }
            }
            else
            {
                switch(jobLevel)
                {
                    case 0:
                        if(Config.CLASS_MASTER_SETTINGS.isAllowed(1))
                        {
                            sb.append("Приветствую <font color=F2C202>" + activeChar.getName() + "</font>! Ваша текущая профессия <font color=F2C202>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "</font>.<br>");
                            sb.append("Для того, чтобы сменить вашу профессию, вы должны достичь: <font color=F2C202>20-го уровня</font>.<br>");
                            sb.append("Для активации сабклассов, вы должны достичь <font color=F2C202>76-го уровня</font>.<br>");
                            sb.append("Чтобы стать дворянином, вы должны прокачать сабкласс до <font color=F2C202>76-го уровня</font>.<br>");
                        }
                        else if(Config.CLASS_MASTER_SETTINGS.isAllowed(2))
                            sb.append("Вернитесь после получения 1 профессии.<br>");
                        else if(Config.CLASS_MASTER_SETTINGS.isAllowed(3))
                            sb.append("Вернитесь после получения 2 профессии.<br>");
                        else
                            sb.append("Вы не можете изменить вашу профессию.<br>");
                        break;
                    case 1:
                        if(Config.CLASS_MASTER_SETTINGS.isAllowed(2))
                        {
                            sb.append("Приветствую <font color=F2C202>" + activeChar.getName() + "</font>! Ваша текущая профессия <font color=F2C202>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "</font>.<br>");
                            sb.append("Для того, чтобы сменить вашу профессию, вы должны достичь: <font color=F2C202>40-го уровня</font>.<br>");
                            sb.append("Для активации сабклассов, вы должны достичь <font color=F2C202>76-го уровня</font>.<br>");
                            sb.append("Чтобы стать дворянином, вы должны прокачать сабкласс до <font color=F2C202>76-го уровня</font>.<br>");
                        }
                        else if(Config.CLASS_MASTER_SETTINGS.isAllowed(3))
                            sb.append("Вернитесь после получения 2 профессии.<br>");
                        else
                            sb.append("Вы не можете изменить вашу профессию.<br>");
                        break;
                    case 2:
                        if(Config.CLASS_MASTER_SETTINGS.isAllowed(3))
                        {
                            sb.append("Приветствую <font color=F2C202>" + activeChar.getName() + "</font>! Ваша текущая профессия <font color=F2C202>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "</font><br>");
                            sb.append("Для того, чтобы сменить вашу профессию, вы должны достичь: <font color=F2C202>76-го уровня</font>.<br>");
                            sb.append("Для активации сабклассов, вы должны достичь <font color=F2C202>76-го уровня</font>.<br>");
                            sb.append("Чтобы стать дворянином, вы должны прокачать сабкласс до <font color=F2C202>76-го уровня</font>.<br>");
                        }
                        else
                            sb.append("Вы не можете изменить вашу профессию.<br>");
                        break;
                    case 3:
                        sb.append("Приветствую <font color=F2C202>" + activeChar.getName() + "</font>! Ваша текущая профессия <font color=F2C202>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "</font>.<br>");
                        sb.append("Для вас больше нет доступных профессий.<br><br>");
                        if(canBuyNoble(activeChar, false))
                        {
                            if(!activeChar.isNoble())
                            {
                                sb.append("Вы достигли <font color=F2C202>76-го уровня</font>. Активация сабклассов теперь доступна.<br>");
                                sb.append("<br><button value=\"" + "Получить Дворянина" + "\" action=\"bypass -h _bbsnoble " + "\" width=175 height=18 back=\"L2UI_ct1.button_df\" fore=\"L2UI_ct1.button_df\">");
                                sb.append("<br1>Необходимый предмет:"+ItemTable.getInstance().getTemplate(BUYNOBLEITEMID).getName()+" количество:"+BUYNOBLEITEMCOUNT);
                            }
                            else
                                sb.append("Вы уже Дворянин. Получение дворянства более не доступно.<br>");
                        }
                }
                sb.append("<br>");
            }

            TextBuilder sb1 = new TextBuilder();
            if (activeChar.getSubClasses().size() > 0 && CANCHANGESUBCLASS)
            {
                sb1.append("Смена сабкласса:<br>");
                sb1.append("<table width=200>");
                if (activeChar.getBaseClass() == activeChar.getActiveClass())
                    sb1.append("<tr><td>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "(базовый класс)</td></tr>");
                else
                    sb1.append("<tr><td><a action=\"bypass -h _bbschangesubclass " + 0 + "\">" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "(базовый класс)</a></td></tr>");

                for (Map.Entry<Integer, SubClass> en : activeChar.getSubClasses().entrySet())
                {
                    if (en.getValue().getClassId() == activeChar.getActiveClass())
                        sb1.append("<tr><td>" + CharTemplateTable.getClassNameById(en.getValue().getClassId()) + "</td></tr>");
                    else
                        sb1.append("<tr><td><a action=\"bypass -h _bbschangesubclass " + en.getValue().getClassIndex() + "\">" + CharTemplateTable.getClassNameById(en.getValue().getClassId()) + "</a></td></tr>");
                }
                sb1.append("</table><br>");
            }
            else
                sb1.append("<br>");

            String content = HtmCache.getInstance().getHtm("data/html/CommunityBoard/100.htm");
            content = content.replace("%classmaster%", sb.toString());
            content = content.replace("%subclasses%", sb1.toString());
            separateAndSend(content, activeChar);
        }
        else if(command.equals("changeclass"))
        {
            if (activeChar.isChangeProcess()) return null;

            if (!checkCondition(activeChar)) return null;

            StringTokenizer st = new StringTokenizer(param, ";");
            int val = Short.parseShort(st.nextToken());
            ClassId classId = activeChar.getClassId();
            ClassId newClassId = ClassId.values()[val];

            int level = activeChar.getLevel();
            int jobLevel = classId.level();
            int newJobLevel = newClassId.level();

            if(!Config.CLASS_MASTER_SETTINGS.isAllowed(newJobLevel))
                return null;
            if(!newClassId.childOf(classId))
                return null;
            if(newJobLevel != jobLevel + 1)
                return null;
            if(level < 20 && newJobLevel > 1)
                return null;
            if(level < 40 && newJobLevel > 2)
                return null;
            if(level < 76 && newJobLevel > 3)
            {
                return null;
            }

            if(!Config.CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).isEmpty() && activeChar.getWeightPenalty() >= 3 || activeChar.getInventoryLimit() * 0.8D <= activeChar.getInventory().getSize())
            {
                activeChar.sendPacket(new SystemMessage(SystemMessageId.INVENTORY_LESS_THAN_80_PERCENT));
                return null;
            }

            for(Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())
            {
                int _count = Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).get(_itemId).intValue();
                if(activeChar.getInventory().getInventoryItemCount(_itemId.intValue(), -1) < _count)
                {
                    activeChar.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS);
                    return null;
                }
            }
            for(Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).keySet())
            {
                int _count = Config.CLASS_MASTER_SETTINGS.getRequireItems(newJobLevel).get(_itemId).intValue();
                activeChar.destroyItemByItemId("ClassMaster", _itemId.intValue(), _count, activeChar, true);
            }
            for(Integer _itemId : Config.CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).keySet())
            {
                int _count = Config.CLASS_MASTER_SETTINGS.getRewardItems(newJobLevel).get(_itemId).intValue();
                activeChar.addItem("ClassMaster", _itemId.intValue(), _count, activeChar, true);
            }

            changeClass(activeChar, val);

            if (Config.ALLOW_SKILL_TRANSFER)
                rewardPormanders(activeChar, val);

            if(newJobLevel == 3)
                activeChar.sendPacket(SystemMessageId.THIRD_CLASS_TRANSFER);
            else
                activeChar.sendPacket(SystemMessageId.CLASS_TRANSFER);

            TextBuilder sb = new TextBuilder();
            sb.append("<br>");
            sb.append("<center>Поздравляю, Вы получили класс: <font color=\"LEVEL\">" + CharTemplateTable.getClassNameById(activeChar.getClassId().getId()) + "</font>.</center>");

            TextBuilder sb1 = new TextBuilder();
            sb1.append("<br>");

            String content = HtmCache.getInstance().getHtm("data/html/CommunityBoard/100.htm");
            content = content.replace("%classmaster%", sb.toString());
            content = content.replace("%subclasses%", sb1.toString());
            separateAndSend(content, activeChar);
            activeChar.refreshOverloaded();
            activeChar.refreshExpertisePenalty();
        }
        else if(command.equals("changesubclass"))
        {
            if (!CANCHANGESUBCLASS) return null;

            if (activeChar.isChangeProcess()) return null;

            if (!checkCondition(activeChar)) return null;

            StringTokenizer st = new StringTokenizer(param, ";");
            int val = Short.parseShort(st.nextToken());

            if (!FloodProtector.tryPerformAction(activeChar, Protected.SUBCLASS))
                return null;

            activeChar.setChangeProcess(true);
            activeChar.stopAllEffects();
            activeChar.clearSouls();
            activeChar.clearCharges();

            activeChar.setActiveClass(val);
            activeChar.setChangeProcess(false);
            activeChar.sendPacket(new ValidateLocation(activeChar));

            activeChar.sendPacket(SystemMessageId.SUBCLASS_TRANSFER_COMPLETED); // Transfer completed.
            TextBuilder sb = new TextBuilder();
            sb.append("<br>");

            TextBuilder sb1 = new TextBuilder();
            if (activeChar.getSubClasses().size() > 0)
            {
                sb1.append("Смена сабкласса<br>");
                sb1.append("<table width=200>");
                if (activeChar.getBaseClass() == activeChar.getActiveClass())
                    sb1.append("<tr><td>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "(базовый класс)</td></tr>");
                else
                    sb1.append("<tr><td><a action=\"bypass -h _bbschangesubclass " + 0 + "\">" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "(базовый класс)</a></td></tr>");

                for (Map.Entry<Integer, SubClass> en : activeChar.getSubClasses().entrySet())
                {
                    if (en.getValue().getClassId() == activeChar.getActiveClass())
                        sb1.append("<tr><td>" + CharTemplateTable.getClassNameById(en.getValue().getClassId()) + "</td></tr>");
                    else
                        sb1.append("<tr><td><a action=\"bypass -h _bbschangesubclass " + en.getValue().getClassIndex() + "\">" + CharTemplateTable.getClassNameById(en.getValue().getClassId()) + "</a></td></tr>");
                }
                sb1.append("</table><br>");
            }
            else
                sb1.append("<br>");

            String content = HtmCache.getInstance().getHtm("data/html/CommunityBoard/100.htm");
            content = content.replace("%classmaster%", sb.toString());
            content = content.replace("%subclasses%", sb1.toString());
            separateAndSend(content, activeChar);
        }
        else if(command.equals("noble"))
        {
            if (canBuyNoble(activeChar, true))
            {
                if (!checkCondition(activeChar)) return null;

                if (!activeChar.destroyItemByItemId("CommunityNoble", BUYNOBLEITEMID, BUYNOBLEITEMCOUNT, activeChar, true)) return null;
                
                activeChar.setNoble(true);
                activeChar.addItem("CommunityNoble", NOBLESS_TIARA, 1, null, true);
                activeChar.store(false);

                TextBuilder sb = new TextBuilder();
                sb.append("<br>Поздравляем!<br1>Вы стали Дворянином<br>");
                TextBuilder sb1 = new TextBuilder();

                if (activeChar.getSubClasses().size() > 0 && CANCHANGESUBCLASS)
                {
                    sb1.append("Смена сабкласса:<br>");
                    sb1.append("<table width=200>");
                    if (activeChar.getBaseClass() == activeChar.getActiveClass())
                        sb1.append("<tr><td>" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "(базовый класс)</td></tr>");
                    else
                        sb1.append("<tr><td><a action=\"bypass -h _bbschangesubclass " + 0 + "\">" + CharTemplateTable.getClassNameById(activeChar.getBaseClass()) + "(базовый класс)</a></td></tr>");

                    for (Map.Entry<Integer, SubClass> en : activeChar.getSubClasses().entrySet())
                    {
                        if (en.getValue().getClassId() == activeChar.getActiveClass())
                            sb1.append("<tr><td>" + CharTemplateTable.getClassNameById(en.getValue().getClassId()) + "</td></tr>");
                        else
                            sb1.append("<tr><td><a action=\"bypass -h _bbschangesubclass " + en.getValue().getClassIndex() + "\">" + CharTemplateTable.getClassNameById(en.getValue().getClassId()) + "</a></td></tr>");
                    }
                    sb1.append("</table><br>");
                }
                else
                    sb1.append("<br>");

                String content = HtmCache.getInstance().getHtm("data/html/CommunityBoard/100.htm");
                content = content.replace("%classmaster%", sb.toString());
                content = content.replace("%subclasses%", sb1.toString());
                separateAndSend(content, activeChar);
            }
        }

        return null;
    }

    private static void changeClass(L2PcInstance player, int val)
    {
        player.setChangeProcess(true);
        player.setClassId(val);

        if (player.isSubClassActive())
            player.getSubClasses().get(player.getClassIndex()).setClassId(player.getActiveClass());
        else
            player.setBaseClass(player.getActiveClass());
        player.store();
        player.setChangeProcess(false);
    }

    public static boolean checkCondition(L2PcInstance player)
    {
        if(player == null){ return false; }
        if(player.isAlikeDead())
        {
            player.sendMessage("Смена класса в таком режиме запрещена.");
            return false;
        }
        if(player.isInCombat())
        {
            player.sendMessage("Смена класса в режиме боя запрещена.");
            return false;
        }
        else if(player.isChaotic())
        {
            player.sendMessage("Смена класса в режиме PK запрещена.");
            return false;
        }
        else if(player.isInOlympiadMode() || Olympiad.isRegistered(player))
        {
            player.sendMessage("Данное действие запрещено на Олимпе.");
            return false;
        }
        else if(player.isInFunEvent())
        {
            player.sendMessage("Данное действие запрещено во время ивента.");
            return false;
        }
        else if (player.getBlockCheckerArena() >= 0 || HandysBlockCheckerManager.getInstance().isRegistered(player))
        {
            player.sendMessage("Действие на ивенте Handy Block Checker запрещено.");
            return false;
        }
        else if(player.isInJail())
        {
            player.sendMessage("Данное действие запрещено в Тюрьме.");
            return false;
        }
        else if(player.isFlying())
        {
            player.sendMessage("Во время полёта Смена класса запрещена.");
            return false;
        }
        else if(!CANCHANGECLASS_INSTANCE && player.getInstanceId() > 0)
        {
            player.sendMessage("Смена класса в Инстансе запрещена.");
            return false;
        }
        else if (!CANCHANGECLASS_BOSSZONE && player.isInsideZone(L2Zone.FLAG_BOSS))
        {
            player.sendMessage("Данное действие запрещено в зоне Эпик-босса.");
            return false;
        }
        else if (!CANCHANGECLASS_PVPZONE && player.isInsideZone(L2Zone.FLAG_PVP) && !player.isInsideZone(L2Zone.FLAG_PEACE))
        {
            player.sendMessage("Данное действие запрещено на Арене.");
            return false;
        }
        else if (!CANCHANGECLASS_SIEGEZONE && player.isInsideZone(L2Zone.FLAG_SIEGE))
        {
            player.sendMessage("Данное действие запрещено на Арене.");
            return false;
        }
        else if (!CANCHANGECLASS_NOWINPEACEZONE && !player.isInsideZone(L2Zone.FLAG_PEACE))
        {
            player.sendMessage("Данное действие запрещено вне мирной зоны.");
            return false;
        }
        else if (!CANCHANGECLASS_PVPSTATE && player.getPvpFlag() > 0)
        {
            player.sendMessage("Данное действие запрещено в режиме ПвП (розовый ник).");
            return false;
        }
        else if (!CANCHANGECLASS_DEBUFF && player.getEffectsDeBuffCount() > 0)
        {
            player.sendMessage("Данное действие запрещено пока висит дебаф.");
            return false;
        }
        else if (player.isInObserverMode())
            return false;
        
        return true;
    }

    private void rewardPormanders(L2PcInstance player, int val)
    {
        switch (val)
        {
        case 97: // http://lineage2.rochand.com/Knowledge/race_human.php?my_class=human_cardinal
            player.addItem("ClassReward", 15307, 1, player, true);
            break;
        case 105: // http://lineage2.rochand.com/Knowledge/race_elf.php?my_class=elf_evas_saint
            player.addItem("ClassReward", 15308, 1, player, true);
            break;
        case 112: // http://lineage2.rochand.com/Knowledge/race_darkelf.php?my_class=dark_elf_shillien_saint
            player.addItem("ClassReward", 15309, 4, player, true);
            break;
        }
    }

    private static boolean canBuyNoble(L2PcInstance player, boolean showMsg)
    {
        if (!CANBUYNOBLE) return false;
        if (player.getLevel() < 76) {if(showMsg) player.sendMessage("Невозможно получить Дворянина, потому что уровень меньше 76."); return false;}
        if (player.isSubClassActive()) {if(showMsg) player.sendMessage("Невозможно получить Дворянина, потому что вы на сабклассе."); return false;}
        if (player.getSubClasses().size() == 0) {if(showMsg) player.sendMessage("Невозможно получить Дворянина, потому что у вас нет ни одного сабкласса."); return false;}

        boolean canTrueSub = false;
        for (SubClass sub : player.getSubClasses().values())
        {
            if (sub.getLevel() >= 75)
            {
                canTrueSub = true;
                break;
            }
        }

        if (!canTrueSub) {if(showMsg) player.sendMessage("Невозможно получить Дворянина, потому что у вас нет ни одного сабкласса с уровнем 75+."); return false;}

        if (showMsg)
        {
            if (player.isNoble()){player.sendMessage("Вы уже Дворянин. Получение дворянства более не доступно."); return false;}
            L2ItemInstance payItem = player.getInventory().getItemByItemId(BUYNOBLEITEMID);
            if (payItem == null || payItem.getCount() < BUYNOBLEITEMCOUNT) {player.sendMessage("Невозможно получить Дворянина, потому что у вас нет необходимого кол-ва "+ItemTable.getInstance().getTemplate(BUYNOBLEITEMID).getName()+"."); return false;}
        }

        return true;
    }

    public static void main(String[] args)
    {
        CommunityBoard.getInstance().registerBBSHandler(new ClassBBSManager());
    }
}

Вот кусок скрипта на который ругается сервер
[CODE]
else if (!CANCHANGECLASS_NOWINPEACEZONE && !player.isInsideZone(L2Zone.FLAG_PEACE))
{
player.sendMessage("Данное действие запрещено вне мирной зоны.");
return false;
}
[CODE]
Ответ
#2
sakson Написал:Вот кусок скрипта на который ругается сервер
[CODE]
else if (!CANCHANGECLASS_NOWINPEACEZONE && !player.isInsideZone(L2Zone.FLAG_PEACE))
{
player.sendMessage("Данное действие запрещено вне мирной зоны.");
return false;
}
[CODE]
Видимо постоянно возвращает false, на это и ругается среда.
[Изображение: 4e38c909fcd08c5fcdf363b54a62.png]
Ответ
#3
Dead code т.к. у Вас CANCHANGECLASS_NOWINPEACEZONE всегда true, соответственно данное условие никогда не выполнится.
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
Ответ
#4
Спасибо уважаемые!)
Разобрался!)
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)