09-18-2011, 04:10 AM
Доброй ночи, уважаемые форумчане.
Нужно мне, значит, вынести некоторые переменные в файл конфигов. Пошел я следующим путем:
Грузятся они, понятное дело, после использования метода getEventConfigs().
И все бы ничего, но переменную ChestId мне нужно использовать в следующей конструкции:
Которая берет значение ChestId во время загрузки сервера, а она в этот момент еще не принимает значения указанного в конфиге и является нулем.
Понятное дело, мне нужно, чтобы метод getEventConfigs() использовался до загрузки квестов, либо пойти каким-то обходным путем. Доступа к ядру сервера у меня нет (скомпилировано оно). Надеюсь на вашу помощь.
Нужно мне, значит, вынести некоторые переменные в файл конфигов. Пошел я следующим путем:
Код:
public static final String PATH = "./config/event.properties";
public static int ChestId;
public static int DelayBeforeChestRespawn;
public static void getEventConfigs(){
try{
Properties _prop = new Properties();
InputStream is = new FileInputStream(PATH);
_prop.load(is);
is.close();
ChestId = Integer.parseInt(_prop.getProperty("ChestId","700538"));
DelayBeforeChestRespawn = Integer.parseInt(_prop.getProperty("DelayBeforeChestRespawn","30000"));
...
Грузятся они, понятное дело, после использования метода getEventConfigs().
И все бы ничего, но переменную ChestId мне нужно использовать в следующей конструкции:
Код:
private final static int[] dialogNpcs = { ChestId, ... };
@Override
public void register()
{
for(int dialogNpc : dialogNpcs)
qe.setNpcQuestData(dialogNpc).addOnTalkEvent(questId);
}
Которая берет значение ChestId во время загрузки сервера, а она в этот момент еще не принимает значения указанного в конфиге и является нулем.
Понятное дело, мне нужно, чтобы метод getEventConfigs() использовался до загрузки квестов, либо пойти каким-то обходным путем. Доступа к ядру сервера у меня нет (скомпилировано оно). Надеюсь на вашу помощь.