Thread: Need help with mining :S...

Results 1 to 7 of 7
  1. #1 Need help with mining :S... 
    Registered Member rockarocka's Avatar
    Join Date
    May 2010
    Posts
    978
    Thanks given
    27
    Thanks received
    7
    Rep Power
    20
    Using this base - http://www.rune-server.org/runescape...hing-more.html

    Well i added copper to my mining class but still it's so shi*y and i understeand that meybe someone is more advanced and give me some advice thanks.

    Mining class
    Code:
    package server.model.players.skills;
    
    import server.model.players.Client;
    import server.Config;
    import server.event.*;
    import server.Server;
    
    	/**
    	 * Class Mining
    	 * Handles Mining
    	 * @author 2012
    	 * 20:16 22/01/2011
    	 */
     
    public class Mining extends SkillHandler {
    
    	public static void mineEss(final Client c, final int object) {
    		if(!noInventorySpace(c, "mining")) {
    			resetMining(c);
    			return;
    		}
    		if(!hasPickaxe(c)) {
    			c.sendMessage("You need a Mining pickaxe which you need a Mining level to use.");
    			return;
    		}
    		if(c.playerSkilling[14]) {
    			return;
    		}
    
    		c.playerSkilling[14] = true;
    		c.stopPlayerSkill = true;
    
    		c.startAnimation(getAnimation(c));
    
    		CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
    			@Override
    			public void execute(CycleEventContainer container) {
    
    				c.getItems().addItem(1436, 1);
    				c.sendMessage("You manage to mine some "+ c.getItems().getItemName(1436).toLowerCase()+".");
    				c.getPA().addSkillXP(1 * MINING_XP, c.playerMining);
    				c.startAnimation(getAnimation(c));
    
    				if(!hasPickaxe(c)) {
    					c.sendMessage("You need a Mining pickaxe which you need a Mining level to use.");
    					resetMining(c);
    					container.stop();
    				}
    				if(!c.stopPlayerSkill) {
    					resetMining(c);
    					container.stop();
    				}
    				if(!noInventorySpace(c, "mining")) {
     					resetMining(c);
    					container.stop();
    				}
    
    			}
    			@Override
    			public void stop() {
    
    			}
    		}, 2);
    	}
    	public static void mineCopper(final Client c, final int object) {
    		if(!noInventorySpace(c, "mining")) {
    			resetMining(c);
    			return;
    		}
    		if(!hasPickaxe(c)) {
    			c.sendMessage("You need a Mining pickaxe which you need a Mining level to use.");
    			return;
    		}
    		if(c.playerSkilling[14]) {
    			return;
    		}
    
    		c.playerSkilling[14] = true;
    		c.stopPlayerSkill = true;
    
    		c.startAnimation(getAnimation(c));
    
    		CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
    			@Override
    			public void execute(CycleEventContainer container) {
    
    				c.getItems().addItem(436, 1);
    				c.sendMessage("You manage to mine some "+ c.getItems().getItemName(436).toLowerCase()+".");
    				c.getPA().addSkillXP(2 * MINING_XP, c.playerMining);
    				c.startAnimation(getAnimation(c));
    				resetMining(c);
    				container.stop();
    
    				if(!hasPickaxe(c)) {
    					c.sendMessage("You need a Mining pickaxe which you need a Mining level to use.");
    					resetMining(c);
    					container.stop();
    				}
    				if(!c.stopPlayerSkill) {
    					resetMining(c);
    					container.stop();
    				}
    				if(!noInventorySpace(c, "mining")) {
     					resetMining(c);
    					container.stop();
    				}
    
    			}
    			@Override
    			public void stop() {
    
    			}
    		}, 2);
    	}
    
    	public static void attemptData(final Client c, final int object, final int obX, final int obY) {
    		if(!noInventorySpace(c, "mining")) {
    			resetMining(c);
    			return;
    		}
    		if(!hasRequiredLevel(c, 14, getLevelReq(c, object), "mining", "mine here")) {
    			return;
    		}
    		if(!hasPickaxe(c)) {
    			c.sendMessage("You need a Mining pickaxe which you need a Mining level to use.");
    			return;
    		}
    		c.sendMessage("You swing your pick at the rock.");
    
    		if(c.playerSkilling[14]) {
    			return;
    		}
    
    		c.playerSkilling[14] = true;
    		c.stopPlayerSkill = true;
    
    		c.startAnimation(getAnimation(c));
    
    		for(int i = 0; i < data.length; i++) {
    			if(object == data[i][0]) {
    
    				c.playerSkillProp[14][0] = data[i][1];
    				c.playerSkillProp[14][1] = data[i][3];
    
    				c.startAnimation(getAnimation(c));
    
    				CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
    					@Override
    					public void execute(CycleEventContainer container) {
    
    						if(c.playerSkillProp[14][0] > 0) {
    							c.getItems().addItem(c.playerSkillProp[14][0], 1);
    							c.sendMessage("You manage to mine some "+ c.getItems().getItemName(c.playerSkillProp[14][0]).toLowerCase()+".");
    						}
    						if(c.playerSkillProp[14][1] > 0) {
    							c.getPA().addSkillXP(c.playerSkillProp[14][1] * MINING_XP, c.playerMining);
    							Server.objectHandler.createAnObject(c, 451, obX, obY);
    						}
    						if(!hasPickaxe(c)) {
    							c.sendMessage("You need a Mining pickaxe which you need a Mining level to use.");
    							resetMining(c);
    							container.stop();
    						}
    						if(!c.stopPlayerSkill) {
    							resetMining(c);
    							container.stop();
    						}
    						if(!noInventorySpace(c, "mining")) {
     							resetMining(c);
    							container.stop();
    						}
    						
    						resetMining(c);
    
    						container.stop();
    					}
    					@Override
    					public void stop() {
    
    					}
    				}, getTimer(c, object));
    				CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
    					@Override
    					public void execute(CycleEventContainer container) {
    						Server.objectHandler.createAnObject(c, object, obX, obY);
    						container.stop();
    					}
    					@Override
    					public void stop() {
    
    					}
    				}, getTimer(c, object) + getRespawnTime(c, object));
    
    				CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
    					@Override
    					public void execute(CycleEventContainer container) {
    						if(c.playerSkilling[14]) {
    							c.startAnimation(getAnimation(c));
    						}
    						if(!c.stopPlayerSkill || !c.playerSkilling[14]) {
    							resetMining(c);
    							container.stop();
    						}
    					}
    					@Override
    					public void stop() {
    
    					}
    				}, 15);
    			}
    		}
    	}
    
    	private static int getTimer(Client c, int i) {
    		return (getMineTime(c, i) + getTime(c) + playerMiningLevel(c));
    	}
    
    	private static int getMineTime(Client c, int object) {
    		for(int i = 0; i < data.length; i++) {
    			if(object == data[i][0]) {
    				return data[i][4];
    			}
    		}
    		return -1;
    	}
    
    	private static int playerMiningLevel(Client c) {
    		return (10 - (int)Math.floor(c.playerLevel[14] / 10));
    	} 
    
    	private static int getTime(Client c) {
    		for(int i = 0; i < pickaxe.length; i++) {
    			if(c.getItems().playerHasItem(pickaxe[i][0]) || c.playerEquipment[3] == pickaxe[i][0]) {
    				if(c.playerLevel[c.playerMining] >= pickaxe[i][1]) {
    					return pickaxe[i][2];
    				}
    			}
    		}
    		return 10;
    	}
    
    	public static void resetMining(Client c) {
    		c.playerSkilling[14] = false;
    		c.stopPlayerSkill = false;
    		for(int i = 0; i < 2; i++) {
    			c.playerSkillProp[14][i] = -1;
    		}
    		c.startAnimation(65535);
    	}
    
    	public static boolean miningRocks(Client c, int object) {
    		for(int i = 0; i < data.length; i++) {
    			if(object == data[i][0]) {
    				return true;
    			}
    		}
    		return false;
    	}
    
    	private static int getRespawnTime(Client c, int object) {
    		for(int i = 0; i < data.length; i++) {
    			if(object == data[i][0]) {
    				return data[i][5];
    			}
    		}
    		return -1;
    	}
    
    	private static int getLevelReq(Client c, int object) {
    		for(int i = 0; i < data.length; i++) {
    			if(object == data[i][0]) {
    				return data[i][2];
    			}
    		}
    		return -1;
    	}
    
    	private static boolean hasPickaxe(Client c) {
    		for(int i = 0; i < animation.length; i++) {
    			if(c.getItems().playerHasItem(animation[i][0]) || c.playerEquipment[3] == animation[i][0]) {
    				return true;
    			}
    		}
    		return false;
    	}
    
    	private static int getAnimation(Client c) {
    		for(int i = 0; i < animation.length; i++) {
    			if(c.getItems().playerHasItem(animation[i][0]) || c.playerEquipment[3] == animation[i][0]) {
    				return animation[i][1];
    			}
    		}
    		return -1;
    	}
    
    	private static int[][] animation = {
    		{1275, 6746}, {1271, 6750}, {1273, 6751}, {1269, 6749},
    		{1267, 6748}, {1265, 6747},
    	};
    
    	private static int[][] pickaxe = {
    		{1275, 41, 0}, 		//RUNE
    		{1271, 31, 1},		//ADDY
    		{1273, 21, 2},		//MITH
    		{1269, 6, 3},		//STEEL
    		{1267, 1, 3},		//IRON
    		{1265, 1, 4},		//BRONZE
    	};
    
    	private static int[][] data = {
    		{2091, 436, 1, 18, 1, 5},	//COPPER
    		{2090, 436, 1, 18, 1, 5},	//COPPER
    		{2094, 438, 1, 18, 1, 5},	//TIN	
    		{2095, 438, 1, 18, 1, 5},	//TIN
    		{2093, 440, 15, 35, 2, 5},	//IRON
    		{2092, 440, 15, 35, 2, 5},	//IRON
    		{2097, 453, 30, 50, 3, 8},	//COAL
    		{2096, 453, 30, 50, 3, 8},	//COAL
    		{2098, 444, 40, 65, 3, 10},	//GOLD
    		{2099, 444, 40, 65, 3, 10},	//GOLD
    		{2103, 447, 55, 80, 5, 25},	//MITH
    		{2102, 447, 55, 80, 5, 25},	//MITH
    		{2105, 449, 70, 95, 7, 50},	//ADDY
    		{-1, 442, 20, 40, 5, 5},	//SILVER
    		{-1, 451, 85, 125, 40, 100},	//RUNE
    	};
    }
    Actionhandler class
    Code:
    			case 2491:
    				Mining.mineEss(c, objectType);
    				break;
    			case 2090:
    			case 2091:
    			case 3042:
    			case 9708:
    			case 9709:
    			case 9710: //copper
    			case 11960:
    			case 11961:
    			case 11962:
    				Mining.mineCopper(c, objectType);
    				break;
    Thanks.
    Reply With Quote  
     

  2. #2  
    -Founder Off Returnofpk-


    Join Date
    Oct 2012
    Age
    28
    Posts
    655
    Thanks given
    97
    Thanks received
    211
    Rep Power
    303
    so more info off the problem please?
    Attached image
    Reply With Quote  
     

  3. #3  
    Registered Member rockarocka's Avatar
    Join Date
    May 2010
    Posts
    978
    Thanks given
    27
    Thanks received
    7
    Rep Power
    20
    Well basiacly i took a base of Mineess method and made it into Minecopper well it gives ores and i added stop event so after each ore it stops but still rock stay's and players can multi click and get ores.

    Made a little video...
    Reply With Quote  
     

  4. #4  
    -Founder Off Returnofpk-


    Join Date
    Oct 2012
    Age
    28
    Posts
    655
    Thanks given
    97
    Thanks received
    211
    Rep Power
    303
    i can only help you with give my mining skill that working find if you want i post it here for you?
    Attached image
    Reply With Quote  
     

  5. #5  
    -Founder Off Returnofpk-


    Join Date
    Oct 2012
    Age
    28
    Posts
    655
    Thanks given
    97
    Thanks received
    211
    Rep Power
    303
    o i see you got a aother system off skilling my bad then i help you after i eated done
    Attached image
    Reply With Quote  
     

  6. #6  
    Registered Member rockarocka's Avatar
    Join Date
    May 2010
    Posts
    978
    Thanks given
    27
    Thanks received
    7
    Rep Power
    20
    Quote Originally Posted by sheepmonger View Post
    in Actionhandle.java add this

    Code:
    case 2090://copper
                case 2091:
                    c.mining[0] = 436;
                    c.mining[1] = 1;
                    c.mining[2] = 18;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 2094://tin
                    c.mining[0] = 438;
                    c.mining[1] = 1;
                    c.mining[2] = 18;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 145856:
                case 2092:
                case 2093: //iron
                    c.mining[0] = 440;
                    c.mining[1] = 15;
                    c.mining[2] = 35;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 14850:
                case 14851:
                case 14852:
                case 2096:
                case 2097: //coal
                    c.mining[0] = 453;
                    c.mining[1] = 30;
                    c.mining[2] = 50;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 2098:
                case 2099:
                    c.mining[0] = 444;
                    c.mining[1] = 40;
                    c.mining[2] = 65;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 2102:
                case 2103:
                case 14853:
                case 14854:
                case 14855: //mith ore
                    c.mining[0] = 447;
                    c.mining[1] = 55;
                    c.mining[2] = 80;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 2105:
                case 14862: //addy ore
                    c.mining[0] = 449;
                    c.mining[1] = 70;
                    c.mining[2] = 95;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    
                case 2106:
                case 2107:
                case 14859:
                case 14860: //rune ore
                    c.mining[0] = 451;
                    c.mining[1] = 85;
                    c.mining[2] = 125;
                    c.getMining().startMining(c.mining[0], c.mining[1], c.mining[2]);
                    break;
    in Mining.java add this

    Code:
    package server.model.players.skills;
    
    import server.Config;
    import server.model.players.Client;
    import server.util.Misc;
    
    /**
     * @Author Sanity
     */
    
    public class Mining {
    
        Client c;
    
        private final int VALID_PICK[] = {1265, 1267, 1269, 1273, 1271, 1275, 15259};
        private final int[] PICK_REQS = {1, 1, 6, 6, 21, 31, 41, 61, 71};
        private final int[] RANDOM_GEMS = {1623, 1621, 1619, 1617, 1631};
        private int oreType;
        private int exp;
        private int levelReq;
        private int pickType;
        private final int EMOTE = 624;
    
        public Mining(Client c) {
            this.c = c;
        }
    
        public void startMining(int oreType, int levelReq, int exp) {
            c.turnPlayerTo(c.objectX, c.objectY);
            if (goodPick() > 0) {
                if (c.playerLevel[c.playerMining] >= levelReq) {
                    this.oreType = oreType;
                    this.exp = exp;
                    this.levelReq = levelReq;
                    this.pickType = goodPick();
                    c.sendMessage("You swing your pick at the rock.");
                    c.miningTimer = getMiningTimer(oreType);
                    c.startAnimation(EMOTE);
                } else {
                    resetMining();
                    c.sendMessage("You need a mining level of " + levelReq + " to mine this rock.");
                    c.startAnimation(65535);
                }
            } else {
                resetMining();
                c.sendMessage("You need a pickaxe to mine this rock.");
                c.startAnimation(65535);
                c.getPA().resetVariables();
            }
        }
    
        public void mineOre() {
            if (c.getItems().addItem(oreType, 1)) {
                c.startAnimation(EMOTE);
                c.sendMessage("You manage to mine some ore.");
                c.getPA().addSkillXP(exp * Config.MINING_EXPERIENCE, c.playerMining);
                c.getPA().refreshSkill(c.playerMining);
                c.miningTimer = getMiningTimer(oreType);
                if (Misc.random(25) == 10) {
                    c.getItems().addItem(RANDOM_GEMS[(int) (RANDOM_GEMS.length * Math.random())], 1);
                    c.sendMessage("You find a gem!");
                }
            } else {
                c.getPA().resetVariables();
                c.startAnimation(65535);
            }
        }
    
        public void resetMining() {
            this.oreType = -1;
            this.exp = -1;
            this.levelReq = -1;
            this.pickType = -1;
        }
    
        public int goodPick() {
            for (int j = VALID_PICK.length - 1; j >= 0; j--) {
                if (c.playerEquipment[c.playerWeapon] == VALID_PICK[j]) {
                    if (c.playerLevel[c.playerMining] >= PICK_REQS[j])
                        return VALID_PICK[j];
                }
            }
            for (int i = 0; i < c.playerItems.length; i++) {
                for (int j = VALID_PICK.length - 1; j >= 0; j--) {
                    if (c.playerItems[i] == VALID_PICK[j] + 1) {
                        if (c.playerLevel[c.playerMining] >= PICK_REQS[j])
                            return VALID_PICK[j];
                    }
                }
            }
            return -1;
        }
    
        public int getMiningTimer(int ore) {
            int time = Misc.random(5);
            if (ore == 451) {
                time += 4;
            }
            return time;
        }
    
    }
    and this in player.java

    Code:
        public int[] mining = new int[3];
        public int miningTimer = 0;
    If you get any erros post i will be glad to help


    Reply With Quote  
     

  7. #7  
    Registered Member rockarocka's Avatar
    Join Date
    May 2010
    Posts
    978
    Thanks given
    27
    Thanks received
    7
    Rep Power
    20
    bump
    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. Need help with mining
    By Dubzy in forum Help
    Replies: 8
    Last Post: 01-06-2012, 07:30 PM
  2. Need help with mining
    By MrRawwrz in forum Help
    Replies: 6
    Last Post: 08-07-2011, 07:34 PM
  3. Need help with DomScape
    By thegreatblob in forum Requests
    Replies: 4
    Last Post: 11-30-2007, 04:25 AM
  4. need help with making a client with new stuff
    By yahoo112 in forum RS2 Client
    Replies: 1
    Last Post: 09-19-2007, 08:06 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
  •