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

Выдача Случайного Предмета

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

Всем привет, хочу обратиться к знатокам за помощью.

Хочу организовать выдачу случайного предмета из списка, в котором записаны шансы и количество предметов. Нашел примерно как это работает в эвентах CofferofShadows и L2Day

Вот пример

  Пример (Показать контент)
Изменено пользователем shadowcat

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


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

Зачем этот геморой?

Есть же extractable_items.

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


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

Да но у меня немного другая цель: не вскрывать сундук допустим, а после цепочки условий по нажатию кнопки в комьюнити выдать 1 из предметов. Либо для эвента какого-нибудь. Охото понять как это устроено.

Изменено пользователем shadowcat

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


Ссылка на сообщение
Поделиться на другие сайты
  В 15.08.2014 в 10:17, shadowcat сказал:

Да но у меня немного другая цель: не вскрывать сундук допустим, а после цепочки условий по нажатию кнопки в комьюнити выдать 1 из предметов.

 

Не совсем понял, подробнее объясните.

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


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

Вот смотрите. В эвенте вскрывается сундук, после чего персонажу выдается случай(-ые) предмет из списка. В списке заданы id предмета количество и шанс выпадения.

Моя цель узнать как построить команду так (В случае с эвентом была getGroupItem), что бы дальше когда я задаю условия и они выполняются, я мог ее использовать для выдачи случайного предмета игроку.

Ну или хотябы понять зачем нужны в данном случае

HashMap<Integer, Long> items = new HashMap<Integer, Long>();

и

for(Entry<Integer, Long> e : items.entrySet())

activeChar.sendPacket(SystemMessage.obtainItems(e.getKey(), e.getValue(), 0));

:D

Изменено пользователем shadowcat

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


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

switch(Rnd.get(10))
{
   case 1:  Functions.addItem(player, 57, 100);
  break;
   case 2:  Functions.addItem(player, 57, 1000);
	    break;
   case 3:  Functions.addItem(player, 57, 10000);
	    break;
   case 4:  Functions.addItem(player, 57, 100000);
	    break;
   case 5:  Functions.addItem(player, 57, 1000000);
	    break;
   case 6:  Functions.addItem(player, 57, 10000000);
	    break;
   case 7:  Functions.addItem(player, 57, 100000000);
	    break;
   case 8:  Functions.addItem(player, 57, 1000000000);
	    break;
   case 9:  Functions.addItem(player, 57, 10000000000);
	    break;
   case 10: Functions.addItem(player, 57, 100000000000);
	    break;
}

 

Как-то вот так.

  • Upvote 1

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


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

Это как один из вариантов, но в таком случае у всех предметов будет одинаковый шанс выпадения.

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


Ссылка на сообщение
Поделиться на другие сайты
  В 15.08.2014 в 10:41, shadowcat сказал:

Это как один из вариантов, но в таком случае у всех предметов будет одинаковый шанс выпадения.

 

Можно же и с шансом реализовать.

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


Ссылка на сообщение
Поделиться на другие сайты
  В 15.08.2014 в 16:25, Hold сказал:

Можно же и с шансом реализовать.

А можно пример как это должно выгляддеть?

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


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

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

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

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

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

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

Войти

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

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

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

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

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