Ошибка геймсервера - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 18.04.2018, 15:29   #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)
zane вне форума Ответить с цитированием
Непрочитано 18.04.2018, 16:28   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Ошибка геймсервера

Видимо в grid.* у одного из свойств указали пустое значение вместо необходимого числа.

Да и неужели в логах нет информации какой файл загружается и в каком ошибка?
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 18.04.2018, 16:42   #3
Пользователь

Автор темы (Топик Стартер) Re: Ошибка геймсервера

Цитата:
Сообщение от 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
Сервер запускается, но ивенты не пробовал включать

Последний раз редактировалось zane; 18.04.2018 в 16:51. Причина: Добавлено сообщение
zane вне форума Ответить с цитированием
Непрочитано 19.04.2018, 01:50   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Ошибка геймсервера

Значит у TvTRewardItems разделитель не ;. Проще открыть Config.java и посмотреть, что он там читает и как.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 19.04.2018, 10:13   #5
Пользователь

Автор темы (Топик Стартер) Re: Ошибка геймсервера

Цитата:
Сообщение от 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());
    }
}
zane вне форума Ответить с цитированием
Непрочитано 19.04.2018, 18:04   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Ошибка геймсервера

Не тот файл. ru/catssoftware/Config.java
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 19.04.2018, 19:36   #7
Пользователь

Автор темы (Топик Стартер) Re: Ошибка геймсервера

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Не тот файл. ru/catssoftware/Config.java
нету у меня такой папки и такого пути, по поиску находит только configurator.java

путь: D:\...\Server\gameserver pvp\data\scripts\handlers\voice
zane вне форума Ответить с цитированием
Непрочитано 19.04.2018, 20:02   #8
Аватар для Daan Raven
Пользователь

По умолчанию Re: Ошибка геймсервера

Цитата:
Сообщение от zane Посмотреть сообщение
нету у меня такой папки и такого пути, по поиску находит только configurator.java

путь: D:\...\Server\gameserver pvp\data\scripts\handlers\voice
Потому что данный класс уже скомпилирован и собран в JAR. Можно декомпилировать его и глянуть.
Daan Raven вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 19.04.2018, 22:09   #9
Пользователь

Автор темы (Топик Стартер) Re: Ошибка геймсервера

Цитата:
Сообщение от Daan Raven Посмотреть сообщение
Потому что данный класс уже скомпилирован и собран в JAR. Можно декомпилировать его и глянуть.
вобщем верну как было, декомпиляция пока не мое...)
zane вне форума Ответить с цитированием
Непрочитано 27.04.2018, 12:28   #10
Пользователь

По умолчанию Re: Ошибка геймсервера

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при запуски "ГеймСервера" Counter Lineage II 5 17.05.2011 15:05
Ошибки ГеймСервера InTerior Lineage II 5 24.01.2011 15:07
ошибка геймсервера Volonter Lineage II 28 01.12.2010 22:18
проблемы с запуском геймсервера blink Lineage II 0 28.11.2010 14:56


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 16:43. Часовой пояс GMT +3.

Вверх