Thread: Teleport tab

Page 1 of 2 12 LastLast
Results 1 to 10 of 18
  1. #1 Teleport tab 
    Registered Member
    Join Date
    Sep 2014
    Posts
    129
    Thanks given
    16
    Thanks received
    18
    Rep Power
    12
    Okay so im trying to add teleports via tele tabs
    this is my varrock one and i added to inventoryoptionshandler

    Code:
    if (itemId == 8007)
    		 if (player.getInventory().containsItem(8007, 1));
    		     player.setNextAnimation(new Animation(4731));
    		     player.setNextGraphics(new Graphics(1680));
    		     player.setNextWorldTile(new WorldTile(3213, 3423, 0));
    		     player.getInventory().deleteItem(8007, 1);
    when i click it it doesn't work i added to handleitemoption1

    thanks in advanced if you could help


    Reply With Quote  
     

  2. #2  
    Registered Member

    Join Date
    Feb 2013
    Posts
    4,409
    Thanks given
    59
    Thanks received
    478
    Rep Power
    138
    Code:
    public static boolean useTabTeleport(final Player player, final int itemId) {
    		if (itemId < 8007 || itemId > 8007 + TABS.length - 1)
    			return false;
    		if (useTeleTab(player, TABS_TILE[itemId - 8007]))
    			player.getInventory().deleteItem(itemId, 1);
    		return true;
    	}
    Code:
    public static boolean useTeleTab(final Player player, final WorldTile tile) {
    		if (!player.getControllerManager().processItemTeleport(tile))
    			return false;
    		player.lock();
    		player.setNextAnimation(new Animation(9597));
    		player.setNextGraphics(new Graphics(1680));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    
    			@Override
    			public void run() {
    				if (stage == 0) {
    					player.setNextAnimation(new Animation(4731));
    					stage = 1;
    				} else if (stage == 1) {
    					WorldTile teleTile = tile;
    					for (int trycount = 0; trycount < 10; trycount++) {
    						teleTile = new WorldTile(tile, 2);
    						if (World.isTileFree(tile.getPlane(), teleTile.getX(), teleTile.getY(), player.getSize()))
    							break;
    						teleTile = tile;
    					}
    					player.setNextWorldTile(teleTile);
    					player.getControllerManager().magicTeleported(ITEM_TELEPORT);
    					if (player.getControllerManager().getController() == null)
    						teleControlersCheck(player, teleTile);
    					player.setNextFaceWorldTile(new WorldTile(teleTile.getX(), teleTile.getY() - 1, teleTile.getPlane()));
    					player.setDirection(6);
    					player.setNextAnimation(new Animation(-1));
    					stage = 2;
    				} else if (stage == 2) {
    					player.resetReceivedHits();
    					player.unlock();
    					stop();
    				}
    
    			}
    		}, 2, 1);
    		return true;
    	}
    Code:
    private final static WorldTile[] TABS_TILE = { new WorldTile(3217, 3426, 0), new WorldTile(3222, 3218, 0), new WorldTile(2965, 3379, 0), new WorldTile(2758, 3478, 0), new WorldTile(2660, 3306, 0) };
    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    Registered Member
    Join Date
    Sep 2014
    Posts
    129
    Thanks given
    16
    Thanks received
    18
    Rep Power
    12
    Quote Originally Posted by Mayne View Post
    Code:
    public static boolean useTabTeleport(final Player player, final int itemId) {
    		if (itemId < 8007 || itemId > 8007 + TABS.length - 1)
    			return false;
    		if (useTeleTab(player, TABS_TILE[itemId - 8007]))
    			player.getInventory().deleteItem(itemId, 1);
    		return true;
    	}
    Code:
    public static boolean useTeleTab(final Player player, final WorldTile tile) {
    		if (!player.getControllerManager().processItemTeleport(tile))
    			return false;
    		player.lock();
    		player.setNextAnimation(new Animation(9597));
    		player.setNextGraphics(new Graphics(1680));
    		WorldTasksManager.schedule(new WorldTask() {
    			int stage;
    
    			@Override
    			public void run() {
    				if (stage == 0) {
    					player.setNextAnimation(new Animation(4731));
    					stage = 1;
    				} else if (stage == 1) {
    					WorldTile teleTile = tile;
    					for (int trycount = 0; trycount < 10; trycount++) {
    						teleTile = new WorldTile(tile, 2);
    						if (World.isTileFree(tile.getPlane(), teleTile.getX(), teleTile.getY(), player.getSize()))
    							break;
    						teleTile = tile;
    					}
    					player.setNextWorldTile(teleTile);
    					player.getControllerManager().magicTeleported(ITEM_TELEPORT);
    					if (player.getControllerManager().getController() == null)
    						teleControlersCheck(player, teleTile);
    					player.setNextFaceWorldTile(new WorldTile(teleTile.getX(), teleTile.getY() - 1, teleTile.getPlane()));
    					player.setDirection(6);
    					player.setNextAnimation(new Animation(-1));
    					stage = 2;
    				} else if (stage == 2) {
    					player.resetReceivedHits();
    					player.unlock();
    					stop();
    				}
    
    			}
    		}, 2, 1);
    		return true;
    	}
    Code:
    private final static WorldTile[] TABS_TILE = { new WorldTile(3217, 3426, 0), new WorldTile(3222, 3218, 0), new WorldTile(2965, 3379, 0), new WorldTile(2758, 3478, 0), new WorldTile(2660, 3306, 0) };
    Sorry for the terrible question but i'm only just learning java, it's been a few but where would i add them into?

    and thanks for the quick reply.


    Reply With Quote  
     

  5. #4  
    Registered Member

    Join Date
    Feb 2013
    Posts
    4,409
    Thanks given
    59
    Thanks received
    478
    Rep Power
    138
    Quote Originally Posted by _Josh View Post
    Sorry for the terrible question but i'm only just learning java, it's been a few but where would i add them into?

    and thanks for the quick reply.
    Doesn't actually matter, but best class would be Magic.
    Reply With Quote  
     

  6. #5  
    Registered Member
    Join Date
    Sep 2014
    Posts
    129
    Thanks given
    16
    Thanks received
    18
    Rep Power
    12
    Quote Originally Posted by Mayne View Post
    Doesn't actually matter, but best class would be Magic.
    i get one error

    Screenshot by Lightshot


    Reply With Quote  
     

  7. #6  
    Registered Member

    Join Date
    Feb 2013
    Posts
    4,409
    Thanks given
    59
    Thanks received
    478
    Rep Power
    138
    Code:
    public static boolean isTileFree(int plane, int x, int y, int size) {
    		for (int tileX = x; tileX < x + size; tileX++)
    			for (int tileY = y; tileY < y + size; tileY++)
    				if (!isFloorFree(plane, tileX, tileY) || !isWallsFree(plane, tileX, tileY))
    					return false;
    		return true;
    	}
    Reply With Quote  
     

  8. #7  
    Registered Member
    Join Date
    Sep 2014
    Posts
    129
    Thanks given
    16
    Thanks received
    18
    Rep Power
    12
    Quote Originally Posted by Mayne View Post
    Code:
    public static boolean isTileFree(int plane, int x, int y, int size) {
    		for (int tileX = x; tileX < x + size; tileX++)
    			for (int tileY = y; tileY < y + size; tileY++)
    				if (!isFloorFree(plane, tileX, tileY) || !isWallsFree(plane, tileX, tileY))
    					return false;
    		return true;
    	}
    Now it wants isfloorfree and iswallsfree methods >.>


    Reply With Quote  
     

  9. #8  
    Registered Member

    Join Date
    Feb 2013
    Posts
    4,409
    Thanks given
    59
    Thanks received
    478
    Rep Power
    138
    Code:
    public static boolean isFloorFree(int plane, int x, int y) {
    		return (getMask(plane, x, y) & (0x200000 | 0x40000 | 0x100)) == 0;
    	}
    Code:
    public static int getMask(int plane, int x, int y) {
    		WorldTile tile = new WorldTile(x, y, plane);
    		int regionId = tile.getRegionId();
    		Region region = getRegion(regionId);
    		if (region == null)
    			return -1;
    		int baseLocalX = x - ((regionId >> 8) * 64);
    		int baseLocalY = y - ((regionId & 0xff) * 64);
    		return region.getMask(tile.getPlane(), baseLocalX, baseLocalY);
    	}
    Code:
    public static boolean isWallsFree(int plane, int x, int y) {
    		return (getMask(plane, x, y) & (0x4 | 0x1 | 0x10 | 0x40 | 0x8 | 0x2 | 0x20 | 0x80)) == 0;
    	}
    Reply With Quote  
     

  10. #9  
    Registered Member
    Join Date
    Sep 2014
    Posts
    129
    Thanks given
    16
    Thanks received
    18
    Rep Power
    12
    Quote Originally Posted by Mayne View Post
    Code:
    public static boolean isFloorFree(int plane, int x, int y) {
    		return (getMask(plane, x, y) & (0x200000 | 0x40000 | 0x100)) == 0;
    	}
    Code:
    public static int getMask(int plane, int x, int y) {
    		WorldTile tile = new WorldTile(x, y, plane);
    		int regionId = tile.getRegionId();
    		Region region = getRegion(regionId);
    		if (region == null)
    			return -1;
    		int baseLocalX = x - ((regionId >> 8) * 64);
    		int baseLocalY = y - ((regionId & 0xff) * 64);
    		return region.getMask(tile.getPlane(), baseLocalX, baseLocalY);
    	}
    Code:
    public static boolean isWallsFree(int plane, int x, int y) {
    		return (getMask(plane, x, y) & (0x4 | 0x1 | 0x10 | 0x40 | 0x8 | 0x2 | 0x20 | 0x80)) == 0;
    	}
    It's asking for a GetRegion method >.>
    I'm so sorry about all this trouble


    Reply With Quote  
     

  11. #10  
    Registered Member

    Join Date
    Feb 2013
    Posts
    4,409
    Thanks given
    59
    Thanks received
    478
    Rep Power
    138
    Quote Originally Posted by _Josh View Post
    It's asking for a GetRegion method >.>
    I'm so sorry about all this trouble
    Could just remove the check method in general lol.
    Reply With Quote  
     

Page 1 of 2 12 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. Full Teleport Tab
    By Dexter Morgan in forum Snippets
    Replies: 25
    Last Post: 02-06-2010, 11:21 PM
  2. Teleport Tabs
    By Anton in forum Help
    Replies: 6
    Last Post: 11-03-2009, 03:46 PM
  3. Bounty Hunter Teleport Tab
    By PrataKosong in forum Help
    Replies: 12
    Last Post: 07-14-2009, 04:00 PM
  4. Changing Teleport tabs Request {tut}
    By West in forum Requests
    Replies: 3
    Last Post: 01-07-2009, 04:50 AM
  5. Almost Perfect Teleporting tabs
    By James™ in forum Tutorials
    Replies: 10
    Last Post: 06-15-2008, 07:18 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
  •