Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
рандом игрок из L2World
#21
Код:
        List<L2PcInstance> players = L2World.getInstance().getAllPlayers();
        if(players.isEmpty())
            return null;

        return players.get(Rnd.get(players.size()));
так попробуй, а вообще можно было бы выложить класс Rnd
[Изображение: l2nextgen.gif]
Ответ
#22
bloodshed Написал:
Код:
        List<L2PcInstance> players = L2World.getInstance().getAllPlayers();
        if(players.isEmpty())
            return null;

        return players.get(Rnd.get(players.size()));
так попробуй, а вообще можно было бы выложить класс Rnd

а разве конечный индекс не size - 1?
Ответ
#23
Честно говоря, я помню было нечто похожее на уговор, на словах, чтобы не помогали тем новичкам, которые не пытаются разобраться сами. Просто потому, что тупых вопросов от этого не убавится.

Добавлено через 1 минуту
kasik Написал:а разве конечный индекс не size - 1?

Rnd.get(int) подразумевает рандом от 0 до n-1.
Ответ
#24
Цитата:так попробуй, а вообще можно было бы выложить класс Rnd
тоже самое, ругается на get Int.
мне ведь нужно потом передать рандомного плеера в
int region = MapRegionTable.getInstance().getMapRegion(player.getX(), player.getY());
[Изображение: ck.gif]
Ответ
#25
Ro_0TT Написал:Что проверять на нулл о_О? G1ta0 же написал, что выход за список идет. Потому, что при пустом списке игроков будет запрашиваться рандом от 0 до -1. При -1 будет ошибка ArrayIndexOut, т.е. если список пустой, то нужно тупо отдавать NULL в нашем методе.
Ну я не так понял, проверка не на нул, а на -1 если список пуст. Не суть. Smile
Ответ
#26
Найди в сборке вызов Rnd, или проверь не называется ли класс Random
Ответ
#27
не, с рандомом все нормально. ругается именно на
get(Rnd.get...)

не может сделать get(Int)
[Изображение: ck.gif]
Ответ
#28
Код:
L2World.getInstance().getAllPlayers()

Возвращает лист или массив? если массив то так

Код:
L2PcInstance players[] = L2World.getInstance().getAllPlayers();
        if(players.length == 0)
            return null;

        return players[Rnd.get(players.length)];
Ответ
#29
kasik Написал:Найди в сборке вызов Rnd, или проверь не называется ли класс Random
Всегда думал что вызывается стандартный Random.
http://docs.oracle.com/javase/6/docs/api...andom.html
Ответ
#30
Цитата:Возвращает лист или массив? если массив то так
Так вот по сути дела правильнее будет вернуть Collection.
Вернее так, мне нужно получить всего 1 обьект L2PcInstance из всей Collection (getAllPlayers()), причем получить его рандомно. вот тут то и проблемы

Добавлено через 35 минут
[Изображение: ac5ee563da2bt.jpg]

а вот что пишет

Добавлено через 6 часов 46 минут
up.........
[Изображение: ck.gif]
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Рандом спавн мобов в L2Emu SWnet 3 2,821 05-29-2009, 11:52 PM
Последний пост: Kabasik
  Двойной клик по итему - выпадает рандом итем Nytrex 19 6,225 07-27-2008, 02:34 AM
Последний пост: SunRise

Перейти к форуму:


Пользователи, просматривающие эту тему: 10 Гость(ей)