Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Требуется помощь с рандомом [сообщение, когда заходишь на сервер]

Статус
Закрыто для дальнейших ответов.

LeTnIk

Участник
Пользователь
Баллы
31
Имя в Minecraft
LeTnIk
Здравствуйте, я новичок в BukkitAPI. Я хочу сделать, чтобы при заходе были сообщения из массива (рандомные), но в строке str[rand.nextInt(1)];, пишет Syntax error, insert "AssignmentOperator Expression" to complete Expression. Я не понимаю, в чём проблема. Помогите пожалуйста новичку, буду сильно благодарен.
Вот код:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
String [] str = new String [] {"Залетел на сервер!", "Пришёл к нам!"};
Random rand = new Random();
str[rand.nextInt(1)];
e.setJoinMessage(ChatColor.YELLOW + p.getName() + " " + str);
 
Здравствуйте, я новичок в BukkitAPI. Я хочу сделать, чтобы при заходе были сообщения из массива (рандомные), но в строке str[rand.nextInt(1)];, пишет Syntax error, insert "AssignmentOperator Expression" to complete Expression. Я не понимаю, в чём проблема. Помогите пожалуйста новичку, буду сильно благодарен.
Вот код:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
String [] str = new String [] {"Залетел на сервер!", "Пришёл к нам!"};
Random rand = new Random();
str[rand.nextInt(1)];
e.setJoinMessage(ChatColor.YELLOW + p.getName() + " " + str);
Во-первых, насколько я помню, в твоём случае нужно юзать str[rand.nextInt(2)].
Да и то, что ты перед пообщением получил значение из массива при этом не указав на него ссылку - тебе не поможет. Ты или пихай его сразу в setJoinMessage, или создай ссылку, и используй её потом там.

Вот оба варианта:
Код:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
String [] str = new String [] {"Залетел на сервер!", "Пришёл к нам!"};
Random rand = new Random();
String message = str[rand.nextInt(2)];
e.setJoinMessage(ChatColor.YELLOW + p.getName() + " " + message);


Код:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
String [] str = new String [] {"Залетел на сервер!", "Пришёл к нам!"};
e.setJoinMessage(ChatColor.YELLOW + p.getName() + " " + str[new Random().nextInt(2)]);
 
Во-первых, насколько я помню, в твоём случае нужно юзать str[rand.nextInt(2)].
Да и то, что ты перед пообщением получил значение из массива при этом не указав на него ссылку - тебе не поможет. Ты или пихай его сразу в setJoinMessage, или создай ссылку, и используй её потом там.

Вот оба варианта:
Код:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
String [] str = new String [] {"Залетел на сервер!", "Пришёл к нам!"};
Random rand = new Random();
String message = str[rand.nextInt(2)];
e.setJoinMessage(ChatColor.YELLOW + p.getName() + " " + message);


Код:
@EventHandler
public void onPlayerJoin(PlayerJoinEvent e) {
String [] str = new String [] {"Залетел на сервер!", "Пришёл к нам!"};
e.setJoinMessage(ChatColor.YELLOW + p.getName() + " " + str[new Random().nextInt(2)]);
 
Статус
Закрыто для дальнейших ответов.

Поделиться этой страницей

Назад
Верх