I could give you my yell if you'd like.
|
The error I'm constantly getting is becoming a massive pain. I need a fix.
If you know the fix towards this stupid error, please post it .
Error:
My Yell class:Code:java.lang.ArrayIndexOutOfBoundsException: 9 at server.util.Stream.readString(Stream.java:311) at server.model.players.commands.impl.Yell.execute(Yell.java:19) at server.model.players.commands.CommandManager.execute(CommandManager.j ava:86) at server.model.players.packets.CustomCommand.processPacket(CustomComman d.java:14) at server.model.players.PacketHandler.processPacket(PacketHandler.java:1 00) at server.model.players.Client.processQueuedPackets(Client.java:1049) at server.model.players.PlayerHandler.process(PlayerHandler.java:160) at server.Server.main(Server.java:120)
Please help.Code:package server.model.players.commands.impl; import server.Config; import server.Connection; import server.Server; import server.model.players.Client; import server.model.players.PacketType; import server.model.players.PlayerHandler; import server.util.Misc; import server.world.WorldMap; import server.Connection; import server.model.players.commands.*; public class Yell implements Command { @SuppressWarnings("static-access") @Override public void execute(Client c, String command) { String playerCommand = c.getInStream().readString(); if(c.playerRights >= 1) { String rank = ""; String Message = playerCommand.substring(4); if (c.playerRights >= 21) { rank = "["+ c.playerName +"]:"; } if (c.playerRights >= 1) { rank = "@whi@[Staff] @whi@["+ c.playerName +"]:"; } if (c.playerRights >= 2) { rank = "@yel@[Staff] @yel@["+ c.playerName +"]:"; } if (c.playerRights >= 3) { rank = "@red@[Staff] @red@["+ c.playerName +"] : "; } if (c.playerName.equalsIgnoreCase(""+Config.OWNER_NAME+"")){ rank = "@red@[Owner]@red@["+ c.playerName +"] : "; } for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { Client c2 = (Client)Server.playerHandler.players[j]; c2.sendMessage(rank+Message); } } } } }
Thanks for reading!
I could give you my yell if you'd like.
Please do!
Code:if (playerCommand.startsWith("yell")) { for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { Client c2 = (Client)Server.playerHandler.players[j]; if (c.isDonator == 1 && (c.playerRights < 1 || c.playerRights > 3)){ c2.sendMessage("<shad=4081135>[Donator]</col><img=4>"+ Misc.optimizeText(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +""); }else if (c.playerRights == 1){ c2.sendMessage("<shad=654321>[Mod]</col><img=1>"+ Misc.optimizeText(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +""); }else if (c.playerRights == 2){ c2.sendMessage("<shad=123456>[Admin]</col><img=2>"+ Misc.optimizeText(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +""); }else if (c.playerRights == 3){ c2.sendMessage("<shad=15695415>[Owner]</col><img=2>"+ Misc.optimizeText(c.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +""); }else if (c.playerRights == 0 && c.isDonator == 0){ c.sendMessage("You must be a donator to use this command!"); } } } } }
Doesn't work, thanks anyway.
I still need help.
I guess you didn't notice his commands are loaded from individual classes.
Try this:
Code:package server.model.players.commands.impl; import server.Config; import server.Connection; import server.Server; import server.model.players.Client; import server.model.players.PacketType; import server.model.players.PlayerHandler; import server.util.Misc; import server.world.WorldMap; import server.Connection; import server.model.players.commands.*; public class Yell implements Command { @SuppressWarnings("static-access") @Override public void execute(Client c, String command) { try { if(c.playerRights >= 1) { String rank = "@whi@[Staff]["+ c.playerName +"]: "; String Message = command.substring(4); if (c.playerRights >= 21) { rank = "["+ c.playerName +"]: "; } else if (c.playerName.equalsIgnoreCase(""+Config.OWNER_NAME+"")) { rank = "@red@[Owner]["+ c.playerName +"]: "; } for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { Client c2 = (Client)Server.playerHandler.players[j]; c2.sendMessage(rank+Message); } } } } catch(Exception e) { c.sendMessage("You must give input ::yell Hello World!"); } } }
Your code was so out of wack and needed some fixing more than just the error you posted. This should work all the same as it did before.
ir not try this:
Spoiler for code:
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |