Thread: [Project Insanity] Command Issue - Yell

Results 1 to 7 of 7
  1. #1 [Project Insanity] Command Issue - Yell 
    Super Donator
    Haskell Curry's Avatar
    Join Date
    Nov 2009
    Posts
    850
    Thanks given
    602
    Thanks received
    247
    Rep Power
    0
    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:

    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)
    My Yell class:

    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);
                        }
                    }
                               }
    
    
                          }
    
                     }
    Please help.
    Thanks for reading!
    Reply With Quote  
     

  2. #2  
    Registered Member Nutella's Avatar
    Join Date
    May 2011
    Posts
    181
    Thanks given
    16
    Thanks received
    5
    Rep Power
    1
    I could give you my yell if you'd like.
    Reply With Quote  
     

  3. #3  
    Super Donator
    Haskell Curry's Avatar
    Join Date
    Nov 2009
    Posts
    850
    Thanks given
    602
    Thanks received
    247
    Rep Power
    0
    Please do!
    Reply With Quote  
     

  4. #4  
    Registered Member Nutella's Avatar
    Join Date
    May 2011
    Posts
    181
    Thanks given
    16
    Thanks received
    5
    Rep Power
    1
    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!");
    									
    							}
    						}
    					}
    				}
            
            
        }
    Reply With Quote  
     

  5. #5  
    Super Donator
    Haskell Curry's Avatar
    Join Date
    Nov 2009
    Posts
    850
    Thanks given
    602
    Thanks received
    247
    Rep Power
    0
    Doesn't work, thanks anyway.
    Reply With Quote  
     

  6. #6  
    Super Donator
    Haskell Curry's Avatar
    Join Date
    Nov 2009
    Posts
    850
    Thanks given
    602
    Thanks received
    247
    Rep Power
    0
    I still need help.
    Reply With Quote  
     

  7. #7  
    Donator

    Robgob69's Avatar
    Join Date
    Oct 2010
    Age
    33
    Posts
    749
    Thanks given
    71
    Thanks received
    139
    Rep Power
    117
    Quote Originally Posted by Nutella View Post
    I could give you my yell if you'd like.
    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:

    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;
    		try {
    			playerCommand = c.getInStream().readString();
    		} catch(Exception e) {
    			playerCommand = command;
    		}
    		try {
    			if(c.playerRights >= 1) {
    				String rank = "@whi@[Staff]["+ c.playerName +"]: ";
    				String Message = playerCommand.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!");
    		}
    	}
    }
    potatoes.
    Reply With Quote  
     

  8. Thankful user:



Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Project Insanity Empty Command
    By Juggalo Family in forum Snippets
    Replies: 7
    Last Post: 04-09-2012, 11:46 AM
  2. project insanity save command?
    By secret wish in forum Help
    Replies: 13
    Last Post: 08-24-2011, 08:38 PM
  3. Interface Command - Project Insanity
    By Jason in forum Help
    Replies: 6
    Last Post: 01-27-2011, 12:37 AM
  4. yell for project insanity \ roitscape
    By rcscape in forum Snippets
    Replies: 12
    Last Post: 07-09-2010, 02:09 AM
  5. Project insanity ::yell convention
    By zecerew in forum Help
    Replies: 10
    Last Post: 06-13-2010, 07:55 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •