Fixed ArrayIndexOutOfBoundsException

This commit is contained in:
jeanropke 2020-09-25 10:01:54 -03:00
parent ba02812d47
commit 0a93514b06

View File

@ -2,6 +2,9 @@ package com.eu.habbo.habbohotel.commands;
import com.eu.habbo.Emulator; import com.eu.habbo.Emulator;
import com.eu.habbo.habbohotel.gameclients.GameClient; import com.eu.habbo.habbohotel.gameclients.GameClient;
import com.eu.habbo.habbohotel.rooms.RoomChatMessageBubbles;
import java.util.Arrays;
public class WordQuizCommand extends Command { public class WordQuizCommand extends Command {
public WordQuizCommand() { public WordQuizCommand() {
@ -11,21 +14,21 @@ public class WordQuizCommand extends Command {
@Override @Override
public boolean handle(GameClient gameClient, String[] params) throws Exception { public boolean handle(GameClient gameClient, String[] params) throws Exception {
if (!gameClient.getHabbo().getHabboInfo().getCurrentRoom().hasActiveWordQuiz()) { 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(); StringBuilder question = new StringBuilder();
int duration = 60; int duration = 60;
if (params.length > 2) {
for (int i = 1; i < params.length - 1; i++) {
question.append(" ").append(params[i]);
}
try { try {
duration = Integer.valueOf(params[params.length - 1]); duration = Integer.parseInt(params[params.length-1]);
} catch (Exception e) { params = Arrays.copyOf(params, params.length-1);
question.append(" ").append(params[params.length - 1]);
} }
} else { catch (Exception e) {}
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); gameClient.getHabbo().getHabboInfo().getCurrentRoom().startWordQuiz(question.toString(), duration * 1000);