Thread: Firemaking

Results 1 to 4 of 4
  1. #1 Firemaking 
    Donator
    nonononooooooo's Avatar
    Join Date
    Nov 2012
    Posts
    370
    Thanks given
    13
    Thanks received
    4
    Rep Power
    20
    Code:
    public class Firemaking {
    	
    	private Client c;
    	
    	private int[] logs = {1511,1521,1519,1517,1515,1513};
    	public int[] exp = {40,60,90,130,200,350};
    	private int[] level = {1,15,30,45,60,75};
    	public long lastLight;
    	private int DELAY = 1250;
    	public boolean resetAnim = false;
    	
    	public Firemaking(Client c) {
    		this.c = c;
    	}
    	
    	public void checkLogType(int logType, int otherItem) {
    		for (int j = 0; j < logs.length;j++) {
    			if (logs[j] == logType || logs[j] == otherItem) {
    				lightFire(j);
    				return;
    			}
    		}	
    	}
    	
    	public void lightFire(int slot) {
    		if (c.duelStatus >= 5) {
    			c.sendMessage("Why am I trying to light a fire in the duel arena?");
    			return;
    		}	
    		if(VirtualWorld.I(c.heightLevel, c.absX, c.absY, c.absX-1, c.absY, 0)) {
    			c.getPA().walkTo(-1, 0);
    		} else {
    			c.getPA().walkTo(1, 0);
    		}
    		if (c.playerLevel[c.playerFiremaking] >= level[slot]) {
    			if (c.getItems().playerHasItem(590) && c.getItems().playerHasItem(logs[slot])) {
    				if (System.currentTimeMillis() - lastLight > DELAY) {
    					c.startAnimation(733,0);
    					c.getItems().deleteItem(logs[slot], c.getItems().getItemSlot(logs[slot]), 1);
    					c.getPA().addSkillXP(exp[slot] * Config.FIREMAKING_EXPERIENCE, c.playerFiremaking);
    					Objects fire = new Objects(2732,c.getX(),c.getY(), 0, -1, 10, 3);
    					Server.objectHandler.setFire(c, 2732, c.getX(),c.getY());
    					c.sendMessage("You light the fire.");
    					
    					if (System.currentTimeMillis() - lastLight > 50 && c.fireDelay > 0) {
    					Server.objectHandler.setFire(c, -1, c.getX(),c.getY());
    				
    				c.fireDelay --;
    				}
    			
    					Objects fire2 = new Objects(-1,c.getX(),c.getY(), 0, -1, 10, 60);
    					
    					this.lastLight = System.currentTimeMillis();
    					//c.getPA().frame1();
    					resetAnim = true;
    				}
    			}
    		}	
    	}
    	
    }
    my firemaking.java

    Currently it lights the log it moves to the next space and does the fire making emote

    what I want it to do

    light the fire (stop the anim) and move as well as have the fires disappear

    *Note
    If you tell me that it's so simple all I have to do is add one thing then please take the extra time to tell me how to add it
    if you refer me to another tut or link chances are i've already been there

    so I'd appreciate a straight forward helpful answer, thanks.
    Reply With Quote  
     

  2. #2  
    Banned
    Join Date
    Jan 2013
    Posts
    94
    Thanks given
    0
    Thanks received
    1
    Rep Power
    0
    Quote Originally Posted by phantasye View Post
    Code:
    public class Firemaking {
    	
    	private Client c;
    	
    	private int[] logs = {1511,1521,1519,1517,1515,1513};
    	public int[] exp = {40,60,90,130,200,350};
    	private int[] level = {1,15,30,45,60,75};
    	public long lastLight;
    	private int DELAY = 1250;
    	public boolean resetAnim = false;
    	
    	public Firemaking(Client c) {
    		this.c = c;
    	}
    	
    	public void checkLogType(int logType, int otherItem) {
    		for (int j = 0; j < logs.length;j++) {
    			if (logs[j] == logType || logs[j] == otherItem) {
    				lightFire(j);
    				return;
    			}
    		}	
    	}
    	
    	public void lightFire(int slot) {
    		if (c.duelStatus >= 5) {
    			c.sendMessage("Why am I trying to light a fire in the duel arena?");
    			return;
    		}	
    		if(VirtualWorld.I(c.heightLevel, c.absX, c.absY, c.absX-1, c.absY, 0)) {
    			c.getPA().walkTo(-1, 0);
    		} else {
    			c.getPA().walkTo(1, 0);
    		}
    		if (c.playerLevel[c.playerFiremaking] >= level[slot]) {
    			if (c.getItems().playerHasItem(590) && c.getItems().playerHasItem(logs[slot])) {
    				if (System.currentTimeMillis() - lastLight > DELAY) {
    					c.startAnimation(733,0);
    					c.getItems().deleteItem(logs[slot], c.getItems().getItemSlot(logs[slot]), 1);
    					c.getPA().addSkillXP(exp[slot] * Config.FIREMAKING_EXPERIENCE, c.playerFiremaking);
    					Objects fire = new Objects(2732,c.getX(),c.getY(), 0, -1, 10, 3);
    					Server.objectHandler.setFire(c, 2732, c.getX(),c.getY());
    					c.sendMessage("You light the fire.");
    					
    					if (System.currentTimeMillis() - lastLight > 50 && c.fireDelay > 0) {
    					Server.objectHandler.setFire(c, -1, c.getX(),c.getY());
    				
    				c.fireDelay --;
    				}
    			
    					Objects fire2 = new Objects(-1,c.getX(),c.getY(), 0, -1, 10, 60);
    					
    					this.lastLight = System.currentTimeMillis();
    					//c.getPA().frame1();
    					resetAnim = true;
    				}
    			}
    		}	
    	}
    	
    }
    my firemaking.java

    Currently it lights the log it moves to the next space and does the fire making emote

    what I want it to do

    light the fire (stop the anim) and move as well as have the fires disappear

    *Note
    If you tell me that it's so simple all I have to do is add one thing then please take the extra time to tell me how to add it
    if you refer me to another tut or link chances are i've already been there

    so I'd appreciate a straight forward helpful answer, thanks.
    Change the imports to work with your server

    Code:
    package server.game.content.skills.core;
    
    import server.Server;
    import server.game.content.clipping.clip.region.Region;
    import server.game.content.skills.SkillHandler;
    import server.game.players.Client;
    import server.task.Task;
    import server.util.Misc;
    
    /**
     * Firemaking.java
     *
     * @author Spike/Flow/Faris
     *
     **/ 
    
    public class Firemaking extends SkillHandler {
    
    	public enum Firemake {
    		NORMAL(1511, 40, 1, 5249, 30),
    		OAK(1521, 60, 15, 5249, 45),
    		WILLOW(1519, 90, 30, 5249, 60),
    		MAPLE(1517, 135, 45, 5249, 85),
    		YEW(1515, 200, 60, 5249, 110),
    		MAGIC(1513, 300, 75, 5249, 135),
    		RED(7404, 50, 1, 11404, 30),
    		GREEN(7405, 50, 1, 11405, 30),
    		BLUE(7406, 50, 1, 11406, 30),
    		PURPLE(10329, 50, 1, 20001, 30),
    		WHITE(10328, 50, 1, 20000, 30);
    
    		int logID, xp, levelReq, obj, last;
    
    		private Firemake(int logID, int xp, int levelReq, int obj, int last) {
    			this.logID = logID;
    			this.xp = xp;
    			this.levelReq = levelReq;
    			this.obj = obj;
    			this.last = last;
    		}
    	}
    
    	public Firemake forLog(int id) {
    		for (Firemake f : Firemake.values()) {
    			if (f.logID == id) {
    				return f;
    			}
    		}
    		return null;
    	}
    	
    	public boolean isLog(int id) {
    		return forLog(id) != null;
    	}
    
    	public boolean lightFire(final Client c, int logID, int fromSlot) {
    	
    	Firemake f = forLog(logID);
    	
    	final int x = c.getX();
    	final int y = c.getY();
    	final int last = f.last + Misc.random(5);
    
    		if (f != null) {
    			if (!FIREMAKING) {
    				c.sendMessage("This skill is currently disabled.");
    				return false;
    			}
    			if (System.currentTimeMillis() - c.lastLight > 1800) {
    				if (c.playerLevel[c.playerFiremaking] >= f.levelReq) {
    					if (c.getItems().playerHasItem(590) && c.getItems().playerHasItem(f.logID)) {	
    						c.lastLight = System.currentTimeMillis();
    						c.getItems().deleteItem(f.logID, fromSlot, 1);
    						c.getPA().addSkillXP(f.xp * FIREMAKING_EXPERIENCE, c.playerFiremaking);
    						c.getPA().object(f.obj, c.getX(), c.getY(), 0, 10);
    						c.sendMessage("You light the log.");
    						Server.getTaskScheduler().schedule(new Task(1) {
    						int timer = last;
    						@Override
                            protected void execute() {				
    						if (timer == 0 && timer != -1) {
    						c.getPA().object(-1, x, y, 1, 10);
    						c.getItems().createGroundItem(592, x, y, 1);
    						stop();
    						}
    							
    						if (timer > 0 && c != null) {					
    						timer--;
    							}
    							}
    						});
    						
    						c.turnPlayerTo(c.getX() + 1, c.getY());
    						if (Region.getClipping(c.getX() - 1, c.getY(), c.heightLevel, -1, 0)) {
    							c.getPA().walkTo(-1, 0);
    						} else if (Region.getClipping(c.getX() + 1, c.getY(), c.heightLevel, 1, 0)) {
    							c.getPA().walkTo(1, 0);
    						} else if (Region.getClipping(c.getX(), c.getY() - 1, c.heightLevel, 0, -1)) {
    							c.getPA().walkTo(0, -1);
    						} else if (Region.getClipping(c.getX(), c.getY() + 1, c.heightLevel, 0, 1)) {
    							c.getPA().walkTo(0, 1);
    						}
    					}
    				} else {
    					c.sendMessage("You need a firemaking level of at least "+f.levelReq+" to burn this log.");
    				}
    			}
    		}
    		return false;
    	}
    }
    Reply With Quote  
     

  3. #3  
    Donator
    nonononooooooo's Avatar
    Join Date
    Nov 2012
    Posts
    370
    Thanks given
    13
    Thanks received
    4
    Rep Power
    20
    Code:
    src\server\model\players\Client.java:91: error: cannot find symbol
            private Firemaking firemaking = new Firemaking(this);
                    ^
      symbol:   class Firemaking
      location: class Client
    src\server\model\players\Client.java:1541: error: cannot find symbol
            public Firemaking getFiremaking() {
                   ^
      symbol:   class Firemaking
      location: class Client
    src\server\model\players\Client.java:91: error: cannot find symbol
            private Firemaking firemaking = new Firemaking(this);
                                                ^
      symbol:   class Firemaking
      location: class Client
    src\server\model\players\skills\Firemaking.java:66: error: cannot find symbol
                            if (!FIREMAKING) {
                                 ^
      symbol:   variable FIREMAKING
      location: class Firemaking
    src\server\model\players\skills\Firemaking.java:75: error: cannot find symbol
                                                    c.getPA().addSkillXP(f.xp * FIRE
    MAKING_EXPERIENCE, c.playerFiremaking);
                                                                                ^
      symbol:   variable FIREMAKING_EXPERIENCE
      location: class Firemaking
    src\server\model\players\skills\Firemaking.java:78: error: cannot find symbol
                                                    Server.getTaskScheduler().schedu
    le(new Task(1) {
    
           ^
      symbol:   class Task
      location: class Firemaking
    src\server\model\players\skills\Firemaking.java:78: error: cannot find symbol
                                                    Server.getTaskScheduler().schedu
    le(new Task(1) {
                                                          ^
      symbol:   method getTaskScheduler()
      location: class Server
    src\server\model\players\skills\Firemaking.java:95: error: cannot find symbol
                                                    if (Region.getClipping(c.getX()
    - 1, c.getY(), c.heightLevel, -1, 0)) {
                                                        ^
      symbol:   variable Region
      location: class Firemaking
    src\server\model\players\skills\Firemaking.java:97: error: cannot find symbol
                                                    } else if (Region.getClipping(c.
    getX() + 1, c.getY(), c.heightLevel, 1, 0)) {
                                                               ^
      symbol:   variable Region
      location: class Firemaking
    src\server\model\players\skills\Firemaking.java:99: error: cannot find symbol
                                                    } else if (Region.getClipping(c.
    getX(), c.getY() - 1, c.heightLevel, 0, -1)) {
                                                               ^
      symbol:   variable Region
      location: class Firemaking
    src\server\model\players\skills\Firemaking.java:101: error: cannot find symbol
                                                    } else if (Region.getClipping(c.
    getX(), c.getY() + 1, c.heightLevel, 0, 1)) {
                                                               ^
      symbol:   variable Region
      location: class Firemaking
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    11 errors
    Reply With Quote  
     

  4. #4  
    Donator
    nonononooooooo's Avatar
    Join Date
    Nov 2012
    Posts
    370
    Thanks given
    13
    Thanks received
    4
    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. [PI] Firemaking
    By S H O R T in forum Help
    Replies: 0
    Last Post: 08-31-2010, 05:31 PM
  2. Firemaking
    By TheRandyZ in forum Help
    Replies: 0
    Last Post: 07-14-2010, 04:04 PM
  3. Firemaking
    By Mrquarterx in forum Show-off
    Replies: 29
    Last Post: 12-17-2009, 05:57 PM
  4. Firemaking
    By zezarak in forum Help
    Replies: 1
    Last Post: 05-05-2009, 04:53 AM
  5. 99 Firemaking
    By Stefan in forum Media
    Replies: 11
    Last Post: 04-30-2009, 06:35 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
  •