Thread: Matrix 3, all clients crash when using a bar on an anvil. Need help.

Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 30
  1. #11  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,556
    Thanks given
    652
    Thanks received
    640
    Rep Power
    358
    Quote Originally Posted by CurtisAHenson View Post
    In Smithing.java, a section of code causing the problem here:
    Code:
    public static void sendForgingInterface(Player player, int type, boolean dungeoneering) {
    		int baseLevel = BASE_LEVEL[dungeoneering ? 1 : 0][type];
    		int currentLevel = player.getSkills().getLevel(Skills.SMITHING);
    		if (currentLevel < baseLevel) {
    			player.getDialogueManager().startDialogue("SimpleMessage", "You need a Smithing level of " + baseLevel + " to forge this bar.");
    			return;
    		} /*else if (!player.getInventory().containsItemToolBelt(dungeoneering ? Smithing.DUNG_HAMMER : Smithing.HAMMER)) {
    			player.getDialogueManager().startDialogue("SimpleMessage", "You need a hammer to work the metal with.");
    			return;
    		}*/
    		player.getTemporaryAttributtes().put(Key.FORGE_TYPE, type);
    
    		/*for (int index = 0; index < BUILDS[type + (dungeoneering ? 6 : 0)].length; index++) {
    			int componentBase = COMPONENTS[dungeoneering ? 1 : 0][index];
    			int build = BUILDS[type + (dungeoneering ? 6 : 0)][index];
    			if (build == -1) {
    				continue;
    			}
    			if (dungeoneering) {
    				int componentId = index == 0 ? 22 : index == 1 ? 23 : (14 + index * 5);
    
    				player.getPackets().sendUnlockIComponentOptionSlots(DUNG_INTERFACE, componentId, 0, 5, 0, 1, 2, 3);
    				player.getPackets().sendInterSetItemsOptionsScript(DUNG_INTERFACE, componentId, 143 + index, 4, 5, "Make-1", "Make-5", "Make-X", "Make-All");
    
    				player.getPackets().sendHideIComponent(DUNG_INTERFACE, componentBase - (index >= 11 ? 2 : 0), true);
    				player.getPackets().sendItems(143 + index, new Item[]
    				{ new Item(build, getForgedAmount(index, true)) });
    
    				player.getPackets().sendIComponentText(DUNG_INTERFACE, componentBase - (index >= 11 ? 1 : 2), (currentLevel >= LEVEL_INCREMENT[1][index] + baseLevel ? "<col=FFFFFF>" : "") + NAMES[1][index]);
    				player.getPackets().sendIComponentText(DUNG_INTERFACE, componentBase - (index >= 11 ? 0 : 1), (player.getInventory().getAmountOf(BARS[1][type]) >= BAR_DEPLETION[1][index] ? "<col=00FF00>" : "") + BAR_DEPLETION[1][index] + " Bars");
    			} else {
    				setComponents(player, componentBase, dungeoneering);
    				player.getPackets().sendItemOnIComponent(FORGING_INTERFACE, componentBase, build, getForgedAmount(index, false));
    				player.getPackets().sendIComponentText(FORGING_INTERFACE, componentBase + 1, (currentLevel >= LEVEL_INCREMENT[0][index] + baseLevel ? "<col=FFFFFF>" : "") + NAMES[0][index]);
    				player.getPackets().sendIComponentText(FORGING_INTERFACE, componentBase + 2, (player.getInventory().getAmountOf(BARS[0][type]) >= BAR_DEPLETION[0][index] ? "<col=00FF00>" : "") + BAR_DEPLETION[dungeoneering ? 1 : 0][index] + " Bars");
    			}
    		}
    		if (!dungeoneering)
    			player.getPackets().sendIComponentText(FORGING_INTERFACE, 14, ItemDefinitions.getItemDefinitions(BARS[0][type]).getName().replace(" bar", "") + " Smithing");
    		player.getInterfaceManager().sendCentralInterface(dungeoneering ? DUNG_INTERFACE : FORGING_INTERFACE);*/
    	}
    
    	private static void setComponents(Player player, int componentBase, boolean dungeoneering) {
    		for (int i = -1; i < 7; i++) {
    			player.getPackets().sendHideIComponent(dungeoneering ? DUNG_INTERFACE : FORGING_INTERFACE, componentBase + i, false);
    
    		}
    	}
    @Line 181

    I commented out the for loop section which fixes the crash but obviously doesn't show the smithing interface, trying to iron out which line is causing the issue specifically.
    Part of the problem is I'm not really sure where we're going out of bounds at.
    Code:
    game.Class83.method1256
    Just print out the array size there.
    Project thread
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  2. #12  
    Registered Member
    Join Date
    Jan 2016
    Posts
    13
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by clem585 View Post
    Code:
    game.Class83.method1256
    Just print out the array size there.
    Code:
     	public InterfaceDefinitions method1256(int i, int i_1_) {
    		if (-1718435171 * aClass73Array1081[0].selfId >>> 16 != i >>> 16) {
    			throw new IllegalArgumentException();
    		}
    		System.out.println(aClass73Array1081.length);
    		if (i >> 16 == 300) {
    			System.out.println("FORGING");
    			System.out.println("Length: " + aClass73Array1081.length);
    			System.out.println("i: " + i);
    			System.out.println("i_1_: " + i_1_);
    		}
    		return aClass73Array1081[i & 0xffff];
    	}
    Hitting my head against a wall right now, I have absolutely no idea why the length of the array is only 4
    or how to continue, I've been fiddling with bitwise operations and I understand how this function is working now I just don't understand why the length of the array is only 4?

    Output from the print
    Code:
    FORGING
    Length: 4
    i: 19660817
    i_1_: 1925376347
    I am at a complete loss unfortunately
    Reply With Quote  
     

  3. #13  
    Registered Member
    Join Date
    Oct 2014
    Posts
    135
    Thanks given
    2
    Thanks received
    9
    Rep Power
    12
    Anyone find a fix for this yet?
    Reply With Quote  
     

  4. #14  
    Registered Member
    Join Date
    Jan 2016
    Posts
    13
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    Quote Originally Posted by djmicallef20 View Post
    Anyone find a fix for this yet?
    I haven't been able to fix it all week
    Reply With Quote  
     

  5. #15  
    Registered Member
    Join Date
    Jan 2016
    Posts
    13
    Thanks given
    0
    Thanks received
    0
    Rep Power
    11
    I am officially unable to fix this issue with my limited knowledge of this code.
    If anyone has a fix, send help.
    Reply With Quote  
     

  6. #16  
    Registered Member sazx77's Avatar
    Join Date
    Mar 2016
    Posts
    87
    Thanks given
    19
    Thanks received
    14
    Rep Power
    28
    I am having the same problem with it, I think its this code right here.

    case "anvil":
    player.getDialogueManager().startDialogue("SimpleM essage", "Use a metal on the anvil in order to begin working with the metal.");
    break;

    I think if we change break to something different it probally fix it. because break is exiting a loop or something like that. all we need is someone that is a experet to tell use on how to change break to make it work properly.

    Please anyone that is an expert please help use.
    Reply With Quote  
     

  7. #17  
    Contributor

    clem585's Avatar
    Join Date
    Sep 2013
    Posts
    3,556
    Thanks given
    652
    Thanks received
    640
    Rep Power
    358
    Quote Originally Posted by sazx77 View Post
    I am having the same problem with it, I think its this code right here.

    case "anvil":
    player.getDialogueManager().startDialogue("SimpleM essage", "Use a metal on the anvil in order to begin working with the metal.");
    break;

    I think if we change break to something different it probally fix it. because break is exiting a loop or something like that. all we need is someone that is a experet to tell use on how to change break to make it work properly.

    Please anyone that is an expert please help use.
    This has nothing to do with it.
    Project thread
    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  8. #18  
    I don't speak Spanish
    Allah Akbar's Avatar
    Join Date
    Feb 2012
    Age
    25
    Posts
    212
    Thanks given
    1
    Thanks received
    31
    Discord
    View profile
    Rep Power
    25
    Yeah looking for a quick fix on this too summoning obby's seem to have a similar issue
    Reply With Quote  
     

  9. #19  
    Registered Member
    Join Date
    Oct 2012
    Posts
    223
    Thanks given
    21
    Thanks received
    24
    Rep Power
    16
    Aren't they loading the 718 interface? So a quick fix would be replacing the 718 interfaces with the RS3 ones?
    Reply With Quote  
     

  10. Thankful user:


  11. #20  
    I don't speak Spanish
    Allah Akbar's Avatar
    Join Date
    Feb 2012
    Age
    25
    Posts
    212
    Thanks given
    1
    Thanks received
    31
    Discord
    View profile
    Rep Power
    25
    Not too sure about that but it's worth a try.
    Reply With Quote  
     

Page 2 of 3 FirstFirst 123 LastLast

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. Replies: 34
    Last Post: 07-26-2011, 10:35 PM
  2. Replies: 18
    Last Post: 06-15-2011, 05:04 PM
  3. Client crashes when clicking objects
    By Zombiedevice in forum Help
    Replies: 0
    Last Post: 08-20-2009, 05:55 AM
  4. All Clients Crash
    By Uncleysh in forum Help
    Replies: 1
    Last Post: 08-08-2009, 09:32 AM
  5. Replies: 1
    Last Post: 12-05-2008, 02:59 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
  •