Перейти к содержанию
Авторизация  
La2Bash

Выдача Начальных Итемов

Рекомендуемые сообщения

Уважаемые знатоки, помогите решить проблему.

В общем в сборке есть следующий конфиг -

# Если человек создал на том же акк чара, будет ли он 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);
                   }
               }
           }
       }

Компиляция проходит нормально.

Регистрирую новый аккаунт, создаю первого персонажа - итемов нет. Второго - итемов нет.

Удалил проверку - создаю персонажей - итемы есть на свех.

Как можно реализовать это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага, проверка похоже работает нормально.

Все персонажи появляются 76 уровня, по этому похоже newbie = 0 у всех как я понимаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, проверка работает нормально, предметы выдаются.

Я не правильно понял конфиг. Он работает не так как я думал.

Я думал что только 1 из персонажей на аккаунте будет newbie, а оказывается это относится ко всем...

  	 if(Config.ALT_GAME_NEW_CHAR_ALWAYS_IS_NEWBIE)
       {
           player.setNewbie(true);
       }

Так что, как можно реализовать такое? Чтобы только первый созданный персонаж получал начальные итемы, а остальные нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну а что если проверять на количество созданных персонажей или я вас не правильно понял?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...