03-16-2014, 01:32 PM
Здравствуйте
Уважаемые!
Помогите решить данную траблу :
Ошибка GS:
Пишет что мертвый код.
Помогите пожалуйста написать правильно эти строки
Сборка c исходниками l2emuEnterprise
Вот сам скрипт
Вот кусок скрипта на который ругается сервер
[CODE]
else if (!CANCHANGECLASS_NOWINPEACEZONE && !player.isInsideZone(L2Zone.FLAG_PEACE))
{
player.sendMessage("Данное действие запрещено вне мирной зоны.");
return false;
}[CODE]
Уважаемые!
Помогите решить данную траблу :
Ошибка 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]