↑ ↓

65 лвл при старте Config

Тема в разделе "Помощь", создана пользователем azraelim, 10 май 2018.

  1. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    Добрый день )
    Пытаюсь добавить себе конфиг на старт с 65тым уровнем.
    Зашел в ClassChangeService
    Добавил:
    if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() < GSConfig.PLAYER_MAX_LEVEL) {
    player.getCommonData().setChangeClass(true);
    player.getCommonData().setLevel(GSConfig.PLAYER_MAX_LEVEL);
    }

    Добавил импорты кастом и ГС конфиг
    В кастом конфиг добавил:

    @Property(key = "gameserver.enable.max.level", defaultValue = "true")
    public static boolean ENABLE_MAX_LEVEL;

    Ошибки компиляции:

    [javac] S:\SOURCE_AIONFLY\AionServer-4.0 (AionFly)\src\com\aionemu\gameserve
    r\services\ClassChangeService.java:188: error: illegal start of type
    [javac] if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() <
    GSConfig.PLAYER_MAX_LEVEL) {
    [javac] ^
    [javac] S:\SOURCE_AIONFLY\AionServer-4.0 (AionFly)\src\com\aionemu\gameserve
    r\services\ClassChangeService.java:188: error: <identifier> expected
    [javac] if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() <
    GSConfig.PLAYER_MAX_LEVEL) {
    [javac] ^
    [javac] S:\SOURCE_AIONFLY\AionServer-4.0 (AionFly)\src\com\aionemu\gameserve
    r\services\ClassChangeService.java:188: error: ';' expected
    [javac] if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() <
    GSConfig.PLAYER_MAX_LEVEL) {
    [javac] ^
    [javac] S:\SOURCE_AIONFLY\AionServer-4.0 (AionFly)\src\com\aionemu\gameserve
    r\services\ClassChangeService.java:188: error: illegal start of type
    [javac] if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() <
    GSConfig.PLAYER_MAX_LEVEL) {
    [javac]

    Конфиг пытаюсь добавить в сборку AionFly 4.0
     
  2. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    Ты добавил ключ в GSConfig ?
    GSConfig.PLAYER_MAX_LEVEL

    @Property(key = "gameserver.players.max.level", defaultValue = "65")
    public static int PLAYER_MAX_LEVEL;
     
    Последнее редактирование: 10 май 2018
    azraelim нравится это.
  3. Offline

    Dision Ефрейтор Команда форума VIP

    274
    62
    61
    Кредиты:
    $15.415,48
    Репутация:
    7
    А че по импортам?
     
  4. Offline

    Dision Ефрейтор Команда форума VIP

    274
    62
    61
    Кредиты:
    $15.415,48
    Репутация:
    7
    не находит GSConfig.PLAYER_MAX_LEVEL
     
  5. Offline

    Flirustier Рядовой

    33
    3
    11
    Кредиты:
    $118,00
    Репутация:
    -1
    Я конечно может чего-то не понял, но у меня в сборке так:

    # Max level for players 5.0
    # Actual: 75
    # Custom: 83
    gameserver.players.max.level = 76

    # Custom level settings
    # ----------------------------
    # Default: 1 (for pvp server or events, Max.= 65)
    gameserver.starting.level = 76

    # Custom Level to Change Class
    # ----------------------------
    # Default: 10 (level 10 means full level 9 XP)(for pvp server or events Max.= 66)
    gameserver.startClass.maxLevel = 76
     
  6. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    @Property(key = "gameserver.enable.max.level", defaultValue = "true")
    public static boolean ENABLE_MAX_LEVEL;
    Это то что я добавил в кастом конфиг

    В GSConfig эта строка уже была:
    @Property(key = "gameserver.players.max.level", defaultValue = "65")
    public static int PLAYER_MAX_LEVEL;
     
  7. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    import com.aionemu.gameserver.configs.main.CustomConfig;
    import com.aionemu.gameserver.configs.main.MembershipConfig;
    import com.aionemu.gameserver.configs.main.GSConfig;
    import com.aionemu.gameserver.model.PlayerClass;
    import com.aionemu.gameserver.model.Race;
    import com.aionemu.gameserver.model.gameobjects.player.Player;
    import com.aionemu.gameserver.network.aion.serverpackets.SM_DIALOG_WINDOW;
    import com.aionemu.gameserver.network.aion.serverpackets.SM_QUEST_ACTION;
    import com.aionemu.gameserver.questEngine.model.QuestState;
    import com.aionemu.gameserver.questEngine.model.QuestStatus;
    import com.aionemu.gameserver.utils.PacketSendUtility;
     
  8. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    У тебя выведена в конфиг эта функция, у меня нет.
    Я и хочу вывести это в конфиг
     
  9. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    Просто ты об этом не написал в первом посте. Проверяй внимательнее, такое чувство что у тебя где то по синтаксису отличия.
     
    azraelim нравится это.
  10. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    А сам код правильный?

    if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() < GSConfig.PLAYER_MAX_LEVEL) {
    player.getCommonData().setChangeClass(true);
    player.getCommonData().setLevel(GSConfig.PLAYER_MAX_LEVEL);
    }
     
  11. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    Попробовал убрать зависимость от GS конфига, сделал вот так: (Незнаю правильно ли)

    if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel(65) {
    player.getCommonData().setChangeClass(true);
    player.getCommonData().setLevel(65);
    }

    Но ошибок стало меньше
     
  12. Offline

    klubheads Сержант Команда форума Модератор

    2.011
    356
    189
    Кредиты:
    $2.142,45
    Репутация:
    54
    Если он у тебя работает там, откуда ты его берешь, то скорее всего правильный. Просто либо где то ошибся, либо не всё перенес.
     
    azraelim нравится это.
  13. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() < GSConfig.PLAYER_MAX_LEVEL) {
    player.getCommonData().setChangeClass(true);
    player.getCommonData().setLevel(GSConfig.PLAYER_MAX_LEVEL);
    player.getCommonData().setChangeClass(false);
    SkillLearnService.addNewSkills(player);
    if (CustomConfig.NEW_PVP_MODE) {
    NewPvP.addItem(player);
    }
    }
    ThreadPoolManager.getInstance().schedule(new Runnable() {
    @Override
    public void run() {
    SkillLearnService.addMissingSkills(player);
    }
    }, 3 * 1000);
    if (DeveloperConfig.ENABLE_GM_PVP) {

    Вот, но я так понял тут много лишнего, путём логики взял только то что скидывал выше
     
  14. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    • Взял код с другой сборки, добавил вот этот код:
    • public static void onEnableConfigurationToEnterWorld(Player player) {
      // set level 65 if enable config parameter
      int level = GSConfig.PLAYER_MAX_LEVEL;
      if (CustomConfig.ENABLE_MAX_LEVEL && player.getLevel() < level) {
      player.getCommonData().setLevel(level);
      }

    • Добавил ключ в конфиг, скомпилировалось без ошибок, но 65 лвл не появился, дефолт поставил - true
     
  15. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    Частично решил проблему, в CM_CREATE_CHARACTER добавил playerCommonData.setLevel(65);
    А в PlayerCommonData: maxLevel = 65;
    Теперь перс создается с 65 уровнем и после прохождения квеста на даэва остается 65 уровень.
    Осталась одна проблемка, невозможно выбрать класс, пишет что для этого нужно иметь 9 уровень, кто знает где изменить это?
     
  16. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    Вроде нашел, наверное это:
    if (player.getLevel() >= 9 && playerClass.isStartingClass()) {
     
  17. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    нет, не оно(
     
  18. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    еще есть мысль чтобы после взятия профессии, давало не 10 уровень, а 65, попробую
     
  19. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    Всё же не пойму, взял сервис StartConfig.java со сборки 4.7 (AionClassic), оставил в этом сервисе только код для старта с 65тым уровнем, в custom конфиг ключ добавил.
    Теперь компилится без проблем, но 65 уровня всё так же нет)
     
  20. TopicStarter Overlay
    Offline

    azraelim Ефрейтор

    291
    19
    56
    Кредиты:
    $517,87
    Репутация:
    -2
    Спасибо Please login or register to view links, помог разобраться)