Сообщений: 12
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
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)
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Видимо в grid.* у одного из свойств указали пустое значение вместо необходимого числа.
Да и неужели в логах нет информации какой файл загружается и в каком ошибка?
Сообщений: 12
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
1
04-18-2018, 04:42 PM
(Сообщение последний раз редактировалось: 04-18-2018, 04:51 PM zane.)
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
Сервер запускается, но ивенты не пробовал включать
Сообщений: 6,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Значит у TvTRewardItems разделитель не ;. Проще открыть Config.java и посмотреть, что он там читает и как.
Сообщений: 12
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
1
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,450
Тем: 262
Зарегистрирован: Nov 2007
Репутация:
44,165
Не тот файл. ru/catssoftware/Config.java
Сообщений: 12
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
1
PROGRAMMATOR Написал:Не тот файл. ru/catssoftware/Config.java
нету у меня такой папки и такого пути, по поиску находит только configurator.java
путь: D:\...\Server\gameserver pvp\data\scripts\handlers\voice
Сообщений: 466
Тем: 10
Зарегистрирован: Dec 2012
Репутация:
398
zane Написал:нету у меня такой папки и такого пути, по поиску находит только configurator.java
путь: D:\...\Server\gameserver pvp\data\scripts\handlers\voice
Потому что данный класс уже скомпилирован и собран в JAR. Можно декомпилировать его и глянуть.
Сообщений: 12
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
1
Daan Raven Написал:Потому что данный класс уже скомпилирован и собран в JAR. Можно декомпилировать его и глянуть.
вобщем верну как было, декомпиляция пока не мое...)
Сообщений: 2
Тем: 0
Зарегистрирован: Jul 2015
Репутация:
0
я думаю если кфг настроить не можете, может это вообще не ваше)
jd-gui можно например использовать чтобы посмотреть кфг или fernflower
|