La2Bash 87 Опубликовано 31 января, 2013 Уважаемые знатоки, помогите решить проблему. В общем в сборке есть следующий конфиг - # Если человек создал на том же акк чара, будет ли он newbie(для бафа ну и т д). AltNewCharAlwaysIsNewbie = False Мне необходимо сделать так, чтобы итемы которые выдаются при старте персонажа (CharacterCreate.java) if (Config.CUSTOM_STARTER_ITEMS_ENABLED) { if (newChar.isMageClass()) { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_M) { if (ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Mage", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Mage", reward[0], 1, newChar, null); } } else { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_F) { if(ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Fighter", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Fighter", reward[0], 1, newChar, null); } } } выдавались только первому персонажу на аккаунте. Я пытался реализовать это добавив простую проверку в данное условие - if (Config.CUSTOM_STARTER_ITEMS_ENABLED) { if(newChar.isNewbie()) { if (newChar.isMageClass()) { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_M) { if (ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Mage", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Mage", reward[0], 1, newChar, null); } } else { for (int[] reward : Config.STARTING_CUSTOM_ITEMS_F) { if(ItemTable.getInstance().createDummyItem(reward[0]).isStackable()) newChar.getInventory().addItem("Starter Items Fighter", reward[0], reward[1], newChar, null); else for (int i = 0; i < reward[1]; ++i) newChar.getInventory().addItem("Starter Items Fighter", reward[0], 1, newChar, null); } } } } Компиляция проходит нормально. Регистрирую новый аккаунт, создаю первого персонажа - итемов нет. Второго - итемов нет. Удалил проверку - создаю персонажей - итемы есть на свех. Как можно реализовать это? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 31 января, 2013 Ага, проверка похоже работает нормально. Все персонажи появляются 76 уровня, по этому похоже newbie = 0 у всех как я понимаю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
La2Bash 87 Опубликовано 31 января, 2013 Да, проверка работает нормально, предметы выдаются. Я не правильно понял конфиг. Он работает не так как я думал. Я думал что только 1 из персонажей на аккаунте будет newbie, а оказывается это относится ко всем... if(Config.ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE) { player.setNewbie(true); } Так что, как можно реализовать такое? Чтобы только первый созданный персонаж получал начальные итемы, а остальные нет? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
iceman 42 Опубликовано 3 февраля, 2013 Ну а что если проверять на количество созданных персонажей или я вас не правильно понял? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты