Thread: In-Source Controller Error (718)

Results 1 to 8 of 8
  1. #1 In-Source Controller Error (718) 
    Community Director @ XtG Community AU/NZ
    Elite IV's Avatar
    Join Date
    Sep 2014
    Age
    25
    Posts
    297
    Thanks given
    0
    Thanks received
    37
    Rep Power
    24
    Okay so i recently changed some things in my source but it cause a controller error while launching the server saying this:
    Code:
    ERROR! THREAD NAME: main
    java.lang.ExceptionInInitializerError
            at java.lang.Class.forName0(Native Method)
            at java.lang.Class.forName(Unknown Source)
            at EliteScape.game.player.controlers.ControlerHandler.init(ControlerHand
    ler.java:111)
            at EliteScape.Launcher.main(Launcher.java:125)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
            at EliteScape.game.player.controlers.events.DeathEvent.<clinit>(DeathEve
    nt.java:26)
            ... 4 more
    i have not touched this controller and it was working fine before i did these changes, so i rollebacked all my changes and compiled with no errors or leaks VIA the batch and IDE and this continues to popup.

    Why i need this fixed?
    cause this is the controller for when you die (as i have gravestones) so now that people die they don't respawn and its quite annoying as im trying to read the errors one by one and googling this was my last resourt.

    Please help, Thanks in adavance
    Reply With Quote  
     

  2. #2  
    Donator


    Join Date
    Mar 2013
    Age
    24
    Posts
    1,767
    Thanks given
    335
    Thanks received
    386
    Rep Power
    318
    All I can say is ControllerHandler probably consists of shit code because I've never had that exceptional event occur...
    Reply With Quote  
     

  3. #3  
    Donator
    Will_'s Avatar
    Join Date
    Oct 2013
    Age
    26
    Posts
    153
    Thanks given
    14
    Thanks received
    8
    Rep Power
    11
    If these errors started showing up AFTER you changed things in the source, wouldn't the most obvious cause be the changes you made?
    Quote Originally Posted by Liam_ View Post
    I wouldn't be surprised if some of you just come here for content and not contribute to rune-server or the community in anyway.
    Attached image
    Reply With Quote  
     

  4. #4  
    Community Director @ XtG Community AU/NZ
    Elite IV's Avatar
    Join Date
    Sep 2014
    Age
    25
    Posts
    297
    Thanks given
    0
    Thanks received
    37
    Rep Power
    24
    Quote Originally Posted by Will_ View Post
    If these errors started showing up AFTER you changed things in the source, wouldn't the most obvious cause be the changes you made?
    Quote Originally Posted by Centrelink
    so i rollebacked all my changes and compiled with no errors or leaks VIA the batch and IDE and this continues to popup.
    i have said it already in the post.
    Reply With Quote  
     

  5. #5  
    Extreme Donator


    Join Date
    Mar 2009
    Posts
    1,461
    Thanks given
    111
    Thanks received
    184
    Rep Power
    79
    pls read
    Code:
            at EliteScape.Launcher.main(Launcher.java:125)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
            at EliteScape.game.player.controlers.events.DeathEvent.<clinit>(DeathEve
    nt.java:26)
    Something's wrong with line 26 in DeathEvent
    post it if you can't figure it out
    Attached image
    Quote Originally Posted by MaxXi View Post
    Your combat is so awsome that i almost forgot its the combat matrix coded.
    Quote Originally Posted by twobrosplay View Post
    Try allowing the batch file through your firewall?
    Quote Originally Posted by SS_Alophonse View Post
    i have no life u say ha anything u say kid.i doubt u can even get a girlfriend
    i bet u cant even code anything.
    Reply With Quote  
     

  6. #6  
    Community Director @ XtG Community AU/NZ
    Elite IV's Avatar
    Join Date
    Sep 2014
    Age
    25
    Posts
    297
    Thanks given
    0
    Thanks received
    37
    Rep Power
    24
    Quote Originally Posted by Dragon View Post
    pls read
    Code:
            at EliteScape.Launcher.main(Launcher.java:125)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: 1
            at EliteScape.game.player.controlers.events.DeathEvent.<clinit>(DeathEve
    nt.java:26)
    Something's wrong with line 26 in DeathEvent
    post it if you can't figure it out
    its weird because i never touched that part but here is the deathevent controller

    Code:
    package EliteScape.game.player.controlers.events;
    
    import java.util.Arrays;
    import java.util.concurrent.TimeUnit;
    
    import EliteScape.Settings;
    import EliteScape.cores.CoresManager;
    import EliteScape.game.Animation;
    import EliteScape.game.RegionBuilder;
    import EliteScape.game.WorldObject;
    import EliteScape.game.WorldTile;
    import EliteScape.game.item.FloorItem;
    import EliteScape.game.item.Item;
    import EliteScape.game.npc.others.GraveStone;
    import EliteScape.game.player.Player;
    import EliteScape.game.player.content.magic.Magic;
    import EliteScape.game.player.controlers.Controler;
    import EliteScape.game.tasks.WorldTask;
    import EliteScape.game.tasks.WorldTasksManager;
    import EliteScape.net.decoders.WorldPacketsDecoder;
    import EliteScape.utils.Utils;
    
    public class DeathEvent extends Controler {
    	
    	
        public static final WorldTile[] HUBS = {
    	    //Lumbridge
        new WorldTile(3103, 3491, 0)
    	    //Varrock
        , new WorldTile(3101, 3489, 0)
    	    //EDGEVILLE
        , new WorldTile(3100, 3492, 0)
    	    //FALADOR
        , new WorldTile(3102, 3492, 0)
    	    //SEERS VILLAGE
    	, new WorldTile(3102, 3492, 0)
    	    //ARDOUDGE
    	, new WorldTile(3102, 3492, 0)
    	    //YANNILE
    	, new WorldTile(3102, 3492, 0)
    	    //KELDAGRIM
    	, new WorldTile(3102, 3492, 0)
    		//DORGESH-KAN (Home)
        , Settings.RESPAWN_PLAYER_LOCATION[1]
    	    //LYETYA
    	, new WorldTile(3102, 3492, 0)
    	    //ETCETERIA
    	, new WorldTile(3102, 3492, 0)
    	    //DAEMONHEIM
    	, new WorldTile(3102, 3492, 0)
    	    //CANIFIS
    	, new WorldTile(3102, 3492, 0)
    	    //THZAAR AREA
    	, new WorldTile(3102, 3492, 0)
    	    //BURTHORPE
    	, new WorldTile(3102, 3492, 0)
    	    //ALKARID
    	, new WorldTile(3102, 3492, 0)
    	    //DRAYNOR VILLAGE
    	, new WorldTile(3102, 3492, 0)};
    	
    	
        //3796 - 0 - Lumbridge Castle - {1=Falador Castle, 2=Camelot, 3=Soul Wars, 4=Burthorpe}
        public static final WorldTile[] RESPAWN_LOCATIONS = { Settings.RESPAWN_PLAYER_LOCATION[1] };
    
        public static int getCurrentHub(WorldTile tile) {
    	int nearestHub = -1;
    	int distance = 0;
    	for (int i = 0; i < HUBS.length; i++) {
    	    int d = Utils.getDistance(HUBS[i], tile);
    	    if (nearestHub == -1 || d < distance) {
    		distance = d;
    		nearestHub = i;
    	    }
    	}
    	return nearestHub;
        }
    
        public static WorldTile getRespawnHub(Player player) {
    	return HUBS[getCurrentHub(player)];
        }
    
        private int[] boundChuncks;
        private Stages stage;
        private Integer[][] slots;
        private int currentHub;
    
        @Override
        public void start() {
    	loadRoom();
        }
    
        public boolean login() {
    	loadRoom();
    	return false;
        }
    
        public boolean logout() {
    		@SuppressWarnings("unused")
    		int i;
    		if (player.isPker)
    			i = 1;
    		else
    			i = 0;
    	player.setLocation(Settings.RESPAWN_PLAYER_LOCATION[1]);
    	destroyRoom();
    	return false;
        }
    
        public boolean canTakeItem(FloorItem item) {
    	return false;
        }
    
        public boolean canEquip(int slotId, int itemId) {
    	return false;
        }
    
        public boolean canPlayerOption1(Player target) {
    	return false;
        }
    
        public boolean canPlayerOption2(Player target) {
    	return false;
        }
    
        public boolean canPlayerOption3(Player target) {
    	return false;
        }
    
        public boolean canPlayerOption4(Player target) {
    	return false;
        }
    
        private static enum Stages {
    	LOADING, RUNNING, DESTROYING
        }
    
    	@Override
    	public void sendInterfaces() {
    		player.getInterfaceManager().closeCombatStyles();
    		player.getInterfaceManager().closeSkills();
    		player.getInterfaceManager().closeInventory();
    		player.getInterfaceManager().closeEquipment();
    		player.getInterfaceManager().closePrayerBook();
    		player.getInterfaceManager().closeMagicBook();
    		player.getInterfaceManager().closeEmotes();
    	}
    
    	public void loadRoom() {
    		stage = Stages.LOADING;
    		player.lock(); //locks player
    		CoresManager.slowExecutor.execute(new Runnable() {
    			@Override
    			public void run() {
    				boundChuncks = RegionBuilder.findEmptyChunkBound(2, 2); 
    				RegionBuilder.copyMap(246, 662, boundChuncks[0], boundChuncks[1], 2, 2, new int[1], new int[1]);
    				player.reset();
    				player.setNextWorldTile(new WorldTile(boundChuncks[0] * 8 + 10, boundChuncks[1] * 8 + 6, 0));
    				player.setNextAnimation(new Animation(-1));
    				//1delay because player cant walk while teleing :p, + possible issues avoid
    				WorldTasksManager.schedule(new WorldTask()  {
    					@Override
    					public void run() {
    						player.getMusicsManager().playMusic(683);
    						player.getPackets().sendBlackOut(2);
    						sendInterfaces();
    						player.unlock(); //unlocks player
    						stage = Stages.RUNNING;
    					}
    
    				}, 1);
    			}
    		});
    	}
    
        @Override
        public boolean processMagicTeleport(WorldTile toTile) {
    	return false;
        }
    
        @Override
        public boolean processItemTeleport(WorldTile toTile) {
    	return false;
        }
    
        /**
         * return process normaly
         */
        public boolean processObjectClick1(WorldObject object) {
    	if (object.getId() == 45803) {
    	    if (getArguments() == null || getArguments().length < 2)
    		Magic.sendObjectTeleportSpell(player, true, Settings.START_PLAYER_LOCATION);
    	    else
    		getReadyToRespawn();
    	    return false;
    	}
    	return true;
        }
    
        /**
         * return process normaly
         */
        public boolean processButtonClick(int interfaceId, int componentId, int slotId, int slotId2, int packetId) {
    	if (interfaceId == 18) {
    	    if (componentId == 9) {
    		if (packetId == WorldPacketsDecoder.ACTION_BUTTON1_PACKET)
    		    unprotect(slotId);
    	    } else if (componentId == 17) {
    		if (packetId == WorldPacketsDecoder.ACTION_BUTTON1_PACKET)
    		    protect(slotId2);
    	    } else if (componentId == 45) {
    		//slotid - 1
    		if (slotId > RESPAWN_LOCATIONS.length)
    		    return false;
    		currentHub = 255 + slotId;
    	    }
    	    return false;
    	}
    	return true;
        }
    
        public void getReadyToRespawn() {
    	slots = GraveStone.getItemSlotsKeptOnDeath(player, false, hadSkull(), player.getPrayer().isProtectingItem());
    	player.getInterfaceManager().sendInterface(18);
    	if (slots[0].length > 0) {
    	    player.getVarsManager().sendVarBit(9227, slots[0].length);
    	    sendProtectedItems();
    	} else {
    	    player.getVarsManager().sendVarBit(9222, -1);
    	    player.getVarsManager().sendVarBit(9227, 1);
    	}
    	player.getVarsManager().sendVarBit(668, 1); //unlocks camelot respawn spot
    	player.getVarsManager().sendVar(105, -1);
    	player.getVarsManager().sendVarBit(9231, currentHub = getCurrentHub(getDeathTile()));
    	player.getPackets().sendUnlockIComponentOptionSlots(18, 9, 0, slots[0].length, 0);
    	player.getPackets().sendUnlockIComponentOptionSlots(18, 17, 0, 100, 0);
    	player.getPackets().sendUnlockIComponentOptionSlots(18, 45, 0, RESPAWN_LOCATIONS.length, 0);
    	player.setCloseInterfacesEvent(new Runnable() {
    
    	    @Override
    	    public void run() {
    		WorldTile respawnTile = currentHub >= 256 ? RESPAWN_LOCATIONS[currentHub - 256] : HUBS[currentHub];
    		synchronized (slots) {
    		    player.sendItemsOnDeath(null, getDeathTile(), respawnTile, false, slots);
    		}
    		player.setCloseInterfacesEvent(null);
    		Magic.sendObjectTeleportSpell(player, true, respawnTile);
    	    }
    
    	});
        }
    
        public void sendProtectedItems() {
    	for (int i = 0; i < getProtectSlots(); i++)
    	    player.getVarsManager().sendVarBit(9222 + i, i >= slots[0].length ? -1 : slots[0][i]);
        }
    
        public void protect(int itemId) {
    	synchronized (slots) {
    	    int slot = -1;
    	    for (int i = 0; i < slots[1].length; i++) {
    
    		Item item = slots[1][i] >= 16 ? player.getInventory().getItem(slots[1][i] - 16) : player.getEquipment().getItem(slots[1][i] - 1);
    		if (item == null)
    		    continue;
    		if (item.getId() == itemId) {
    		    slot = i;
    		    break;
    		}
    	    }
    	    if (slot == -1 || getProtectSlots() <= slots[0].length)
    		return;
    	    slots[0] = Arrays.copyOf(slots[0], slots[0].length + 1);
    	    slots[0][slots[0].length - 1] = slots[1][slot];
    	    Integer[] lItems = new Integer[slots[1].length - 1];
    	    System.arraycopy(slots[1], 0, lItems, 0, slot);
    	    System.arraycopy(slots[1], slot + 1, lItems, slot, lItems.length - slot);
    	    slots[1] = lItems;
    	    sendProtectedItems();
    	}
    
        }
    
        public void unprotect(int slot) {
    	synchronized (slots) {
    	    if (slot >= slots[0].length)
    		return;
    	    slots[1] = Arrays.copyOf(slots[1], slots[1].length + 1);
    	    slots[1][slots[1].length - 1] = slots[0][slot];
    	    Integer[] pItems = new Integer[slots[0].length - 1];
    	    System.arraycopy(slots[0], 0, pItems, 0, slot);
    	    System.arraycopy(slots[0], slot + 1, pItems, slot, pItems.length - slot);
    	    slots[0] = pItems;
    	    sendProtectedItems();
    	}
    
        }
    
        public int getProtectSlots() {
    	return player.getVarsManager().getBitValue(9227);
        }
    
        public WorldTile getDeathTile() {
    	if (getArguments() == null || getArguments().length < 2)
    	    return Settings.START_PLAYER_LOCATION;
    	return (WorldTile) getArguments()[0];
        }
    
        public boolean hadSkull() {
    	if (getArguments() == null || getArguments().length < 2)
    	    return false;
    	return (boolean) getArguments()[1];
        }
    
    	@Override
    	public void magicTeleported(int type) {
    		destroyRoom();
    		player.getPackets().sendBlackOut(0);
    		player.getInterfaceManager().sendCombatStyles();
    		player.getCombatDefinitions().sendUnlockAttackStylesButtons();
    		player.getInterfaceManager().sendSkills();
    		player.getInterfaceManager().sendInventory();
    		player.getInventory().unlockInventoryOptions();
    		player.getInterfaceManager().sendEquipment();
    		player.getInterfaceManager().sendPrayerBook();
    		player.getPrayer().unlockPrayerBookButtons();
    		player.getInterfaceManager().sendMagicBook();
    		player.getInterfaceManager().sendEmotes();
    		player.getEmotesManager().unlockEmotesBook();
    		removeControler();
    	}
    
    	public void destroyRoom() {
    		if(stage != Stages.RUNNING) 
    			return;
    		stage = Stages.DESTROYING;
    		CoresManager.slowExecutor.schedule(new Runnable() {
    			@Override
    			public void run() {
    				RegionBuilder.destroyMap(boundChuncks[0], boundChuncks[1], 8, 8);
    			}
    		}, 1200, TimeUnit.MILLISECONDS);
    	}
    
        @Override
        public void forceClose() {
    	destroyRoom();
        }
    
    }
    Reply With Quote  
     

  7. #7  
    Community Director @ XtG Community AU/NZ
    Elite IV's Avatar
    Join Date
    Sep 2014
    Age
    25
    Posts
    297
    Thanks given
    0
    Thanks received
    37
    Rep Power
    24
    Bump, Still need help
    Reply With Quote  
     

  8. #8  
    Registered Member Realise's Avatar
    Join Date
    Sep 2014
    Posts
    25
    Thanks given
    5
    Thanks received
    3
    Rep Power
    31
    Quote Originally Posted by Squidward View Post
    All I can say is ControllerHandler probably consists of shit code because I've never had that exceptional event occur...
    Why are you spamming everywhere?
    Reply With Quote  
     


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. 718 Matrix Source Run Error
    By Deathowner00 in forum Help
    Replies: 21
    Last Post: 11-30-2013, 03:55 PM
  2. Replies: 4
    Last Post: 10-22-2013, 10:53 PM
  3. [718] actions whilst in a controler method?
    By Jesper H9 in forum Help
    Replies: 1
    Last Post: 07-26-2013, 10:02 PM
  4. 718 source compile error
    By Zeil Scape Owner in forum Help
    Replies: 6
    Last Post: 10-03-2012, 01:55 AM
  5. Runescape Error in source?
    By Simmer down in forum Help
    Replies: 1
    Last Post: 04-06-2012, 03:33 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •