Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Ошибка геймсервера
#1
Всем привет, после настройки конфигов сервер стал выкидывать такую ошибку, гуглеж не помог, причина явно в конфигах, только не пойму в каком конкретно, подобных ошибки было сначала 2, но потом я вспомнил что менял титул мобам-чемпионам на русскоязычный, после этого одна ошибка ушла, но эта осталась

Код:
[18.04.18 15:24:36] For input string: ""
java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at ru.catssoftware.Config.loadGridConfig(Config.java:3924)
    at ru.catssoftware.Config.loadMainConfig(Config.java:4570)
    at ru.catssoftware.Config.loadAll(Config.java:4503)
    at ru.catssoftware.gameserver.L2GameServer.<init>(L2GameServer.java:187)
    at ru.catssoftware.gameserver.L2GameServer.main(L2GameServer.java:167)
Ответ
#2
Видимо в grid.* у одного из свойств указали пустое значение вместо необходимого числа.

Да и неужели в логах нет информации какой файл загружается и в каком ошибка?
Ответ
#3
PROGRAMMATOR Написал:Видимо в grid.* у одного из свойств указали пустое значение вместо необходимого числа.

Да и неужели в логах нет информации какой файл загружается и в каком ошибка?

это весь текст что был в логах, запускаю start.bat появляется ошибка и окно закрывается.

да нашел, там был пустой конфиг

Код:
# Список защищенных итемов, никокгда не пропадут
ListOfProtectedItems =

странно что это оказалось так критично

Добавлено через 4 минуты
Может еще вот это расшифруешь? Ошибка видимо в настройках TvT

Код:
java.lang.NumberFormatException: For input string: "25;8762"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at ru.catssoftware.util.ArrayUtils.get(ArrayUtils.java:173)
    at ru.catssoftware.util.ArrayUtils.get(ArrayUtils.java:186)
    at ru.catssoftware.config.L2Properties.getProperty(L2Properties.java:153)
    at ru.catssoftware.gameserver.model.entity.events.pvp.PvPEventAbstract.load(PvPEventAbstract.java:73)
    at ru.catssoftware.gameserver.model.entity.events.pvp.team.TeamEventAbstract.load(TeamEventAbstract.java:24)
    at ru.catssoftware.gameserver.model.entity.events.pvp.team.TvT.TvT.load(TvT.java:32)
    at ru.catssoftware.gameserver.model.entity.events.GameEventManager.registerEvent(GameEventManager.java:75)
    at ru.catssoftware.gameserver.model.entity.events.GameEventManager.<init>(GameEventManager.java:41)
    at ru.catssoftware.gameserver.model.entity.events.GameEventManager.getInstance(GameEventManager.java:28)
    at ru.catssoftware.gameserver.network.clientpackets.EnterWorld.runImpl(EnterWorld.java:377)
    at ru.catssoftware.gameserver.network.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:50)
    at ru.catssoftware.gameserver.mmocore.MMOExecutableQueue.run(MMOExecutableQueue.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

вот конфиг на который ругается ГС

Код:
# Награда, которая выдается за победу на эвенте.
TvTRewardItems = 6673,25;8762,1

в CtF стоит такая же награда за ивент, но на него почему то ГС не ругается

Код:
# Выдача награды.
# 1 - Награда, которая выдается за победу на эвенте.
# 2 - Необходимое кол-во убийств, для получения награды.
# 3 - Необходимое кол-во флагов, для получения награды.
# Для получения награды необходимо выполнить условие: вы должны быть в команде победителей и выполнить (2) или (3) пункт.
CTFRewardItems = 6673,25;8762,1
CTFRewardKills = 1
CTFRewardPickUpFlags = 0

Сервер запускается, но ивенты не пробовал включать
Ответ
#4
Значит у TvTRewardItems разделитель не ;. Проще открыть Config.java и посмотреть, что он там читает и как.
Ответ
#5
PROGRAMMATOR Написал:Значит у TvTRewardItems разделитель не ;. Проще открыть Config.java и посмотреть, что он там читает и как.

глянь пожалуйста, ниче не понимаю:

Код:
package handlers.voice;

import ru.catssoftware.Config;
import ru.catssoftware.Message;
import ru.catssoftware.gameserver.handler.IVoicedCommandHandler;
import ru.catssoftware.gameserver.handler.VoicedCommandHandler;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance;
import ru.catssoftware.gameserver.model.actor.instance.L2PcInstance.UserKey;
import ru.catssoftware.gameserver.model.entity.events.pvp.DeathMatch.DeathMatch;
import ru.catssoftware.gameserver.model.entity.events.pvp.LastHero.LastHero;
import ru.catssoftware.gameserver.model.entity.events.pvp.team.TvT.TvT;
import ru.catssoftware.gameserver.model.entity.events.pvp.team.CTF.CTF;
import ru.catssoftware.gameserver.model.zone.L2Zone;
import ru.catssoftware.gameserver.network.serverpackets.NpcHtmlMessage;
import ru.catssoftware.util.StringUtil;

import java.util.regex.Pattern;
import javolution.text.TextBuilder;
//import ru.catssoftware.gameserver.network.Disconnection;
import ru.catssoftware.gameserver.util.Util;
import ru.catssoftware.tools.random.Rnd;

/**
* Author: m095
* Хандлер команд для конфигурации персонажа
* EmuRT DevTeam
**/
public class Configurator implements IVoicedCommandHandler {

    private static final String[] VOICED_COMMANDS = {
        "menu",
        "events",
        "autoloot",
        "enableTrade",
        "disableTrade",
        "enableOffKnow",
        "disableOffKnow",
        "enableAutoloot",
        "disableAutoloot",
        "enableMessage",
        "showSkillSuccess",
        "disableMessage",
        "enableBuffAnim",
        "disableBuffAnim",
        "enableGainExp",
        "disableGainExp",
        "ignorecolors",
        "kprotect",
        "kphone",
        "enableShowShots",
        "disableShowShots",
        "lang"
    };
    private static final Pattern keyPattern = Pattern.compile("[\\w\\u005F\\u002E]+", Pattern.UNICODE_CASE);
    private static final Pattern phonePattern = Pattern.compile("\\d+");

    public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target) {
        if (activeChar.getUserKey().on == 1 && !command.startsWith("kprotect")) {
            NpcHtmlMessage SET_CHAR_KEY = new NpcHtmlMessage(0);
            SET_CHAR_KEY.setFile("data/html/menu_unblock_form" + (activeChar.getChatLanguage() == 1 ? "_en" : "") + ".htm");
            activeChar.sendPacket(SET_CHAR_KEY);
            SET_CHAR_KEY = null;
            return false;
        }

        if (!command.startsWith("kprotect") && (activeChar.isInOlympiadMode() || activeChar.isInFunEvent() || activeChar.isInCombat())) {
            activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_NOT_ALLOWED_AT_THE_MOMENT));
            return true;
        }

        if (command.startsWith("menu")) {
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("events")) {
            showEventPage(activeChar);
            return true;
        } else if (command.startsWith("showSkillSuccess")) {
            if (!Config.SHOW_SKILL_SUCCESS_CHANCE) {
                activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_FORBIDEN_BY_ADMIN));
            } else {
                activeChar.setShowSkillChance(!activeChar.isShowSkillChance());
            }
            showMainPage(activeChar);
            return true;
        } else if (command.equals("ignorecolors")) {
            boolean val = true;
            try {
                val = !activeChar.getCharacterData().getBool("ignorecolors");
                activeChar.getCharacterData().set("ignorecolors", val);
            } catch (Exception e) {
                activeChar.getCharacterData().set("ignorecolors", val);
            }
            activeChar.sendMessage("Ignoring system colors " + (val ? "endbled" : "disabled"));

        } else if (command.startsWith("autoloot")) {
            if (!Config.ALLOW_AUTO_LOOT) {
                activeChar.notWorking(false);
                return true;
            }

            if (activeChar.isAutoLootEnabled()) {
                activeChar.enableAutoLoot(false);
                activeChar.sendMessage("AutoLoot is off.");
            } else {
                activeChar.enableAutoLoot(true);
                activeChar.sendMessage("AutoLoot is on");
            }
        } else if (command.startsWith("enableTrade")) {
            activeChar.setTradeRefusal(false);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableTrade")) {
            activeChar.setTradeRefusal(true);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("enableOffKnow")) {
            if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE)) {
                activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE));
                showMainPage(activeChar);
                return true;
            }
            activeChar.setKnowlistMode(true);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableOffKnow")) {
            if (!activeChar.isInsideZone(L2Zone.FLAG_PEACE)) {
                activeChar.sendMessage(Message.getMessage(activeChar, Message.MessageId.MSG_ONLY_IN_PEACE_ZONE));
                showMainPage(activeChar);
                return true;
            }
            activeChar.setKnowlistMode(false);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("enableAutoloot")) {
            if (Config.ALLOW_AUTO_LOOT) {
                activeChar.enableAutoLoot(true);
            } else {
                activeChar.notWorking(false);
            }
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableAutoloot")) {
            if (Config.ALLOW_AUTO_LOOT) {
                activeChar.enableAutoLoot(false);
            } else {
                activeChar.notWorking(false);
            }
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("enableGainExp")) {
            if (Config.ALLOW_USE_EXP_SET) {
                activeChar.canGainExp(true);
            } else {
                activeChar.notWorking(false);
            }
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableGainExp")) {
            if (Config.ALLOW_USE_EXP_SET) {
                activeChar.canGainExp(false);
            } else {
                activeChar.notWorking(false);
            }
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("enableMessage")) {
            activeChar.setMessageRefusal(false);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableMessage")) {
            activeChar.setMessageRefusal(true);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("enableBuffAnim")) {
            activeChar.setShowBuffAnim(true);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableBuffAnim")) {
            activeChar.setShowBuffAnim(false);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("kphone")) {
            String choise = target;
            if (choise.startsWith("set")) {
                if (!activeChar.getPhoneNumber().isEmpty()) {
                    return true;
                }

                try {
                    String cmd = choise.substring(4);
                    String[] data = cmd.split(" ");
                    String country = data[0].trim();
                    String code = data[1].trim();
                    String phone = data[2].trim();

                    phone = country + code + phone;

                    if (isValidPhone(activeChar, phone)) {
                        activeChar.setCheckPhoneNumber(phone);
                    } else {
                        NpcHtmlMessage SET_PHONE_ERROR4_16 = new NpcHtmlMessage(0);
                        SET_PHONE_ERROR4_16.setFile("data/html/phone_set_form_error.htm");
                        activeChar.sendPacket(SET_PHONE_ERROR4_16);
                        SET_PHONE_ERROR4_16 = null;
                        return true;
                    }
                } catch (Exception ignored) {
                    //
                }
                return true;
            } else if (choise.startsWith("send")) {
                if (activeChar.getPhoneNumber().isEmpty()) {
                    return true;
                }

                try {
                    //String phone = choise.substring(4).trim();
                    String cmd = choise.substring(5);
                    String[] data = cmd.split(" ");
                    String country = data[0].trim();
                    String code = data[1].trim();
                    String phone = data[2].trim();

                    phone = country + code + phone;

                    int lenght = phone.length();
                    if (isValidPhone(activeChar, phone)
                            && activeChar.getPhoneNumber().endsWith(phone.substring(lenght - 9, lenght))) {
                        //&& phone.equalsIgnoreCase(activeChar.getPhoneNumber())) {
                        activeChar.sendUnblockSMS(Rnd.get(10000, 99999));
                    } else {
                        NpcHtmlMessage SET_PHONE_ERROR4_16 = new NpcHtmlMessage(0);
                        SET_PHONE_ERROR4_16.setFile("data/html/phone_ublock_form_error.htm");
                        if (Config.SMS_SEND_FORCE) {
                            SET_PHONE_ERROR4_16.replace("%NEXT_TIME%", "");
                        } else {
                            SET_PHONE_ERROR4_16.replace("%NEXT_TIME%", "<a action=\"bypass -h voice_kphone nexttime\" msg=\"Вы уверены, что хотите отказаться?\">Нет, спасибо!</a>");
                        }
                        activeChar.sendPacket(SET_PHONE_ERROR4_16);
                        SET_PHONE_ERROR4_16 = null;
                        return true;
                    }
                } catch (Exception ignored) {
                    //
                }
                return true;
            } else if (choise.startsWith("check")) {
                try {
                    String code = choise.substring(5).trim();
                    if (activeChar.checkSMSCode(code)) {
                        activeChar.unblockSMSGuard();
                    } else {
                        NpcHtmlMessage SET_PHONE_ERROR4_16 = new NpcHtmlMessage(0);
                        SET_PHONE_ERROR4_16.setFile("data/html/phone_ublock_wrong_code.htm");
                        activeChar.sendPacket(SET_PHONE_ERROR4_16);
                        SET_PHONE_ERROR4_16 = null;
                        return true;
                    }
                } catch (Exception ignored) {
                    //
                }
                return true;
            } else if (choise.equalsIgnoreCase("nexttime")){
                NpcHtmlMessage SET_PHONE_NEXTTIME = new NpcHtmlMessage(0);
                SET_PHONE_NEXTTIME.setFile("data/html/phone_next_time.htm");
                activeChar.sendPacket(SET_PHONE_NEXTTIME);
                SET_PHONE_NEXTTIME = null;
                return true;
            }
            return true;
        } else if (command.startsWith("kprotect")) {
            String choise = target;
            if (choise.startsWith("key")) {
                if (!activeChar.getUserKey().key.equalsIgnoreCase("")) {
                    return true;
                }

                try {
                    String[] data = choise.substring(4).split(" ");
                    String key = data[0].trim();
                    String key2 = data[1].trim();
                    if (isValidKeys(activeChar, key, key2)) {
                        activeChar.setUserKey(key);
                    } else {
                        NpcHtmlMessage SET_KEY_ERROR4_16 = new NpcHtmlMessage(0);
                        SET_KEY_ERROR4_16.setFile("data/html/menu_set_form_error.htm");
                        activeChar.sendPacket(SET_KEY_ERROR4_16);
                        SET_KEY_ERROR4_16 = null;
                        return true;
                    }
                } catch (Exception ignored) {
                    NpcHtmlMessage SET_KEY_ERROR4_16 = new NpcHtmlMessage(0);
                    SET_KEY_ERROR4_16.setFile("data/html/menu_set_form_error.htm");
                    activeChar.sendPacket(SET_KEY_ERROR4_16);
                    SET_KEY_ERROR4_16 = null;
                    return true;
                }
                return true;
            } else if (choise.startsWith("chkkey")) {
                try {
                    if (!activeChar.isValidUserKey(choise.substring(6).trim())) {
                        if (activeChar.getUserKey().checkLeft()) {
                            //new Disconnection(activeChar).defaultSequence(true);
                            activeChar.setAccountAccesslevel(-37);
                            try {
                                // Фикс кика из игры для Оффлайн Трэйдеров
                                if (activeChar.isOfflineTrade()) {
                                    activeChar.setOfflineTrade(false);
                                    activeChar.standUp();
                                }
                                activeChar.kick();
                            } catch (Exception e) {
                                e.printStackTrace();
                                return false;
                            }
                            return false;
                        }
                        //activeChar.sendHtmlMessage("Неверный пароль.");
                        NpcHtmlMessage SET_KEY_ERROR4_16 = new NpcHtmlMessage(0);
                        SET_KEY_ERROR4_16.setFile("data/html/menu_unblock_form_error.htm");
                        SET_KEY_ERROR4_16.replace("%CHK_TRYES%", String.valueOf(activeChar.getUserKey().error));
                        activeChar.sendPacket(SET_KEY_ERROR4_16);
                        SET_KEY_ERROR4_16 = null;
                        return true;
                    }
                } catch (Exception ignored) {
                    //
                }
                activeChar.unsetUserKey();

                if (Config.SMS_PHONE && activeChar.getLevel() >= Config.SMS_SEND_CHAR_LEVEL) {
                    activeChar.setPhoneOnLevel();
                    return true;
                }

                if (!activeChar.isParalyzed()) {
                    showMainPage(activeChar);
                }
                return true;
            } else if (choise.equalsIgnoreCase("offkey")) {
                activeChar.delUserKey();
                showMainPage(activeChar);
                return true;
            }  
            else if (choise.equalsIgnoreCase("langru")) {
                activeChar.setChatLanguage(0);                
                if (!activeChar.getUserKey().key.equalsIgnoreCase("")) {
                    activeChar.checkUserKey();
                }
                else if (Config.VS_CKEY_CHARLEVEL && activeChar.getLevel() >= 20) {
                    activeChar.setUserKeyOnLevel();
                }
                return true;
            } else if (choise.equalsIgnoreCase("langen")) {
                activeChar.setChatLanguage(1);          
                if (!activeChar.getUserKey().key.equalsIgnoreCase("")) {
                    activeChar.checkUserKey();
                }
                else if (Config.VS_CKEY_CHARLEVEL && activeChar.getLevel() >= 20) {
                    activeChar.setUserKeyOnLevel();
                }
                return true;
            }
            return true;
        } else if (command.startsWith("enableShowShots")) {
            activeChar.setShowShotPacket(true);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("disableShowShots")) {
            activeChar.setShowShotPacket(false);
            showMainPage(activeChar);
            return true;
        } else if (command.startsWith("lang")) {
            try {
                activeChar.setChatLanguage(Integer.parseInt(target));
            } catch (Exception e) {
            }
            showMainPage(activeChar);
        }
        return false;
    }

    private boolean isValidKeys(L2PcInstance activeChar, String key, String key2) {
        if (!Util.isAlphaNumeric(key)
                || !Util.isAlphaNumeric(key2)) {
            if (activeChar.getChatLanguage() == 1) {
                activeChar.sendMessage("Only latin charcters and numbers.");
            } else {
                activeChar.sendMessage("Ключ не должен содержать спец. символы.");
            }
            return false;
        }

        if (!key.equalsIgnoreCase(key2))
        {
            if (activeChar.getChatLanguage() == 1) {
                activeChar.sendMessage("Only latin charcters and numbers.");
            } else {
                activeChar.sendMessage("Введенные ключи не совпадают.");
            }
            return false;
        }

        if (StringUtil.md5(key).equalsIgnoreCase(activeChar.getClient().getPWD())) {
            if (activeChar.getChatLanguage() == 1) {
                activeChar.sendMessage("Don't set password same as account.");
            } else {
                activeChar.sendMessage("Ключ не должен совпадать с паролем аккаунта.");
            }
            return false;
        }

        if (key.length() < 3 || key.length() > 16) {
            if (activeChar.getChatLanguage() == 1) {
                activeChar.sendMessage("Password lenght is about 4-16 symbols.");
            } else {
                activeChar.sendMessage("Ключ не должен быть менее 3 и более 16 символов.");
            }
            return false;
        }

        return keyPattern.matcher(key).matches();
    }

    private boolean isValidPhone(L2PcInstance activeChar, String phone) {
        if (phone.length() < 11 || phone.length() > 12) {
            activeChar.sendMessage("Номер телефона, обычно, от 11 до 12 символов.");
            return false;
        }

        return phonePattern.matcher(phone).matches();
    }

    private String getGainExpMode(L2PcInstance activeChar) {
        String result = "ON";
        if (activeChar.canGainExp()) {
            result = "OFF";
        }
        return result;
    }

    private String getShowShotsMode(L2PcInstance activeChar) {
        String result = "OFF";
        if (activeChar.isShowShotPacket()) {
            result = "ON";
        }
        return result;
    }

    private String getBuffAnimMode(L2PcInstance activeChar) {
        String result = "OFF";
        if (activeChar.ShowBuffAnim()) {
            result = "ON";
        }
        return result;
    }

    private String getKnowListMode(L2PcInstance activeChar) {
        String result = "ON";
        if (activeChar.showTraders()) {
            result = "OFF";
        }
        return result;
    }

    private String getTradeMode(L2PcInstance activeChar) {
        String result = "OFF";
        if (activeChar.getTradeRefusal()) {
            result = "ON";
        }
        return result;
    }

    private String getMessageMode(L2PcInstance activeChar) {
        String result = "OFF";
        if (activeChar.getMessageRefusal()) {
            result = "ON";
        }
        return result;
    }

    private String getLootMode(L2PcInstance activeChar) {
        String result = "OFF";
        if (activeChar.isAutoLootEnabled()) {
            result = "ON";
        }
        return result;
    }

    private String getCharKey(L2PcInstance player) {
        TextBuilder build = new TextBuilder("<table width=290><br>");
        UserKey uk = player.getUserKey();
        if (!uk.key.equalsIgnoreCase("")) {
            if (uk.on == 1) {
                if (player.getChatLanguage() == 1) {
                    build.append("<tr><td>What password?:</td>");
                } else {
                    build.append("<tr><td>Какой пароль?:</td>");
                }
                build.append("<td><edit var=\"key\" width=120 length=\"16\"></td>");
                if (player.getChatLanguage() == 1) {
                    build.append("<td><button value=\"Ок\" action=\"bypass -h voice_kprotect chkkey $key\" width=35 height=15 back=\"sek.cbui94\" fore=\"sek.cbui94\" ></td></tr>");
                } else {
                    build.append("<td><button value=\"Ok\" action=\"bypass -h voice_kprotect chkkey $key\" width=35 height=15 back=\"sek.cbui94\" fore=\"sek.cbui94\" ></td></tr>");
                }
            } else {
                if (player.getChatLanguage() == 1) {
                    build.append("<tr><td>Password:</td>");
                } else {
                    build.append("<tr><td>Пароль на чара:</td>");
                }
                build.append("<td>*******</td>");
                if (player.getChatLanguage() == 1) {
                    build.append("<td><button value=\"OFF.\" action=\"bypass -h voice_kprotect offkey\" width=35 height=15 back=\"sek.cbui94\" fore=\"sek.cbui94\" ></td></tr>");
                } else {
                    build.append("<td><button value=\"Выкл.\" action=\"bypass -h voice_kprotect offkey\" width=35 height=15 back=\"sek.cbui94\" fore=\"sek.cbui94\" ></td></tr>");
                }
            }
        } else {
            if (player.getChatLanguage() == 1) {
                build.append("<tr><td>Password:</td>");
            } else {
                build.append("<tr><td>Пароль на чара:</td>");
            }
            build.append("<td><edit var=\"key\" width=120 length=\"16\"></td>");
            if (player.getChatLanguage() == 1) {
                build.append("<td><button value=\"ON.\" action=\"bypass -h voice_kprotect key $key\" width=35 height=15 back=\"sek.cbui94\" fore=\"sek.cbui94\" ></td></tr>");
            } else {
                build.append("<td><button value=\"Вкл.\" action=\"bypass -h voice_kprotect key $key\" width=35 height=15 back=\"sek.cbui94\" fore=\"sek.cbui94\" ></td></tr>");
            }
        }
        build.append("</table><br>");
        return build.toString();
    }

    private void showMainPage(L2PcInstance activeChar) {
        if (!Config.ALLOW_MENU) {
            return;
        }
        NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId());
        html.setFile("data/html/menu" + (activeChar.getChatLanguage() == 1 ? "_en" : "") + ".htm");

        html.replace("%notraders%", getKnowListMode(activeChar));
        html.replace("%notrade%", getTradeMode(activeChar));
        html.replace("%autoloot%", getLootMode(activeChar));
        html.replace("%nomsg%", getMessageMode(activeChar));
        html.replace("%buffanim%", getBuffAnimMode(activeChar));
        html.replace("%gainexp%", getGainExpMode(activeChar));
        html.replace("%showshots%", getShowShotsMode(activeChar));
        html.replace("%skillchance%", activeChar.isShowSkillChance() ? "ON" : "OFF");
        html.replace("%charkey%", getCharKey(activeChar));
        activeChar.sendPacket(html);
    }

    private void showEventPage(L2PcInstance activeChar) {
        NpcHtmlMessage html = new NpcHtmlMessage(activeChar.getObjectId());
        html.setFile("data/html/mods/event_npc.htm");
        html.replace("%tvt_state%", getEventStatus(0));
        html.replace("%ctf_state%", getEventStatus(1));
        html.replace("%lh_state%", getEventStatus(2));
        html.replace("%dm_state%", getEventStatus(2));
        activeChar.sendPacket(html);
    }

    private String getEventStatus(int event) {
        String result = "unknown";
        try {
            switch (event) {
                case 0:
                    result = TvT.getInstance().getState().toString();
                    break;
                case 1:
                    result = CTF.getInstance().getState().toString();
                    break;
                case 2:
                    result = LastHero.getInstance().getState().toString();
                    break;
                case 3:
                    result = DeathMatch.getInstance().getState().toString();
                    break;
            }
        } catch (Exception e) {
        }
        return result;
    }

    public String getDescription(String command) {
        if (command.equals("menu")) {
            return "Выводит меню команд.";
        }
        return "Подробно в .menu";
    }

    public String[] getVoicedCommandList() {
        return VOICED_COMMANDS;
    }

    public static void main(String[] args) {
        VoicedCommandHandler.getInstance().registerVoicedCommandHandler(new Configurator());
    }
}
Ответ
#6
Не тот файл. ru/catssoftware/Config.java
Ответ
#7
PROGRAMMATOR Написал:Не тот файл. ru/catssoftware/Config.java

нету у меня такой папки и такого пути, по поиску находит только configurator.java

путь: D:\...\Server\gameserver pvp\data\scripts\handlers\voice
Ответ
#8
zane Написал:нету у меня такой папки и такого пути, по поиску находит только configurator.java

путь: D:\...\Server\gameserver pvp\data\scripts\handlers\voice

Потому что данный класс уже скомпилирован и собран в JAR. Можно декомпилировать его и глянуть.
Ответ
#9
Daan Raven Написал:Потому что данный класс уже скомпилирован и собран в JAR. Можно декомпилировать его и глянуть.

вобщем верну как было, декомпиляция пока не мое...)
Ответ
#10
я думаю если кфг настроить не можете, может это вообще не ваше)
jd-gui можно например использовать чтобы посмотреть кфг или fernflower
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Что за ошибка? serg5777 22 9,009 07-11-2023, 09:49 PM
Последний пост: ntking
  Ошибка Cannot read field "race" valdemart123 0 1,049 12-04-2021, 04:44 AM
Последний пост: valdemart123
  Ищу помощи с проблемой геймсервера skallistey 1 1,141 09-04-2021, 01:57 PM
Последний пост: flopix
  При запуске game server на сайте (sw13) ошибка mysql 0 AndreDeiu 1 1,301 09-27-2020, 11:32 PM
Последний пост: Lord_Gothic
  Ошибка загрузки гейм сервера zane 5 2,003 04-17-2018, 08:03 PM
Последний пост: zane
  Ошибка телепорта Rork 1 1,264 03-02-2018, 03:05 PM
Последний пост: Gaikotsu
  Ошибка с ГМ шопом silok 1 1,310 01-11-2018, 07:36 AM
Последний пост: Narsell
  Ошибка PWSOFT Ananim 0 1,367 07-07-2017, 11:42 AM
Последний пост: Ananim
  Ошибка _aveList; knaif 1 1,395 06-22-2017, 03:07 PM
Последний пост: Trimius
  Ошибка KastaMeN 1 1,806 06-16-2017, 11:32 PM
Последний пост: Mangol

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


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