From 76d593df065478a8c73a884bf307237beab42ac7 Mon Sep 17 00:00:00 2001 From: Beny Date: Tue, 6 Oct 2020 23:47:48 +0000 Subject: [PATCH] Merge branch 'master' into 'master' Fixed ArrayIndexOutOfBoundsException See merge request morningstar/Arcturus-Community!304 (cherry picked from commit d6d0f80c7cf844b4777e74afffd9cab561c387ef) 0a93514b Fixed ArrayIndexOutOfBoundsException --- .../habbohotel/commands/WordQuizCommand.java | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java b/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java index 09a6c4dc..ba74d5d2 100644 --- a/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java +++ b/src/main/java/com/eu/habbo/habbohotel/commands/WordQuizCommand.java @@ -2,6 +2,9 @@ package com.eu.habbo.habbohotel.commands; import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.gameclients.GameClient; +import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles; + +import java.util.Arrays; public class WordQuizCommand extends Command { public WordQuizCommand() { @@ -11,21 +14,21 @@ public class WordQuizCommand extends Command { @Override public boolean handle(GameClient gameClient, String[] params) throws Exception { if (!gameClient.getHabbo().getHabboInfo().getCurrentRoom().hasActiveWordQuiz()) { + if(params.length == 1) { + gameClient.getHabbo().whisper(Emulator.getTexts().getValue("commands.description.cmd_word_quiz"), RoomChatMessageBubbles.ALERT); + return true; + } StringBuilder question = new StringBuilder(); int duration = 60; - if (params.length > 2) { - for (int i = 1; i < params.length - 1; i++) { - question.append(" ").append(params[i]); - } + try { + duration = Integer.parseInt(params[params.length-1]); + params = Arrays.copyOf(params, params.length-1); + } + catch (Exception e) {} - try { - duration = Integer.valueOf(params[params.length - 1]); - } catch (Exception e) { - question.append(" ").append(params[params.length - 1]); - } - } else { - question = new StringBuilder(params[1]); + for (int i = 1; i < params.length; i++) { + question.append(" ").append(params[i]); } gameClient.getHabbo().getHabboInfo().getCurrentRoom().startWordQuiz(question.toString(), duration * 1000);