Thread: little wc problem (rep)

Results 1 to 10 of 10
  1. #1 little wc problem (rep) 
    Registered Member
    Join Date
    Mar 2012
    Posts
    411
    Thanks given
    58
    Thanks received
    19
    Rep Power
    11
    after my trees turn to stumps the animation doesnt stop does anybody know a fix for this?
    but u stop receiving logs.
    thanks in advance.
    Reply With Quote  
     

  2. #2  
    Donator

    Join Date
    Jan 2009
    Posts
    468
    Thanks given
    144
    Thanks received
    41
    Rep Power
    65
    gotta reset the animation.
    Reply With Quote  
     

  3. #3  
    Registered Member
    Join Date
    Mar 2012
    Posts
    411
    Thanks given
    58
    Thanks received
    19
    Rep Power
    11
    Code:
    package server.model.players.skills;
    
    import server.model.players.*;
    import server.Config;
    import server.util.Misc;
    import server.Server;
    import java.lang.Math;
    import server.model.players.Client;
    import server.model.players.PacketType;
    import server.model.objects.Object;
    import server.model.players.PlayerHandler;
    
    public class Woodcutting {
            
            Client c;
            
            private final int VALID_AXE[] = {1351,1349,1353,1361,1355,1357,1359,6739};
            private final int[] AXE_REQS = {1,1,6,6,21,31,41,61};
            private int logType;
            private int exp;
            private int levelReq;
            private int axeType;
            private int treeX;
            private int treeY;
            private int density;
            private int treeType;
            public int logsCutFromTree;
            public int tempTimer = 0;
            
            public static int TREE_TIMER = 2000;
            
            public Woodcutting(Client c) {
                    this.c = c;
            }
            
            public void startWoodcutting(int logType, int levelReq, int exp, int treeX, int treeY, int density, int treeType) {
                    if (goodAxe() > 0) {
                            c.turnPlayerTo(treeX, treeY);
                            if (c.playerLevel[c.playerWoodcutting] >= levelReq) {
                                    this.logType = logType;
                                    this.exp = exp;
                                    this.levelReq = levelReq;
                                    this.treeX = treeX;
                                    this.treeY = treeY;
                                    this.density = density;
                                    this.treeType = treeType;
                                    this.axeType = goodAxe();
                                    c.wcTimer = getWcTimer(density);
                                    c.startAnimation(getWcEmote());
                            } else {
                                    c.getPA().resetVariables();
                                    c.startAnimation(65535);
                                    c.sendMessage("You need a woodcutting level of " + levelReq + " to cut this tree.");
                            }                
                    } else {
                            c.startAnimation(65535);
                            c.sendMessage("You don't have an axe for which you have the level to use.");
                            c.getPA().resetVariables();
                    }
            }
            
            public void resetWoodcut() {
                    this.logType = -1;
                    this.exp = -1;
                    this.levelReq = -1;
                    this.axeType = -1;
                    this.density = -1;
                    this.treeX = -1;
                    this.treeY = -1;
                    this.treeType = -1;
                    c.wcTimer = -1;        
                    logsCutFromTree = 0;
            }
            
            public int getWcEmote() {
                    if (axeType == 1351) // bronze
                            return 879;
                    if (axeType == 1349) // iron
                            return 877;
                    if (axeType == 1353) // steel
                            return 875;
                    if (axeType == 1355) // mith
                            return 871;
                    if (axeType == 1357) // addy
                            return 869;
                    if (axeType == 1359) // rune
                            return 867;
                    if (axeType == 6739) // d axe
                            return 2846;
                    if (axeType == 1361) // black
                            return 873;
                    else
                            return 0;
            }
            
            public void cutWood() {
                    int maxLogsPerTree = cutForChop(treeType);
                    if (logsCutFromTree < maxLogsPerTree) {
                            if (c.getItems().addItem(logType,1)) {
                                    c.startAnimation(getWcEmote());
                                    logsCutFromTree += 1;
                                    c.sendMessage("You get some logs.");
                                    c.getPA().addSkillXP(exp * Config.WOODCUTTING_EXPERIENCE, c.playerWoodcutting);
                                    c.getPA().refreshSkill(c.playerWoodcutting);
                                    c.wcTimer = getWcTimer(density);
                            } else {
                                    c.getPA().resetVariables();
                                    return;
                            }
                    } else {
                            for (int j = 0; j < Server.playerHandler.players.length; j++) {
                                    if (Server.playerHandler.players[j] != null) {
                                            Client c2 = (Client)Server.playerHandler.players[j]; 
                                            new Object(1343, treeX, treeY, 0, 1, 10, treeType, getTicksForTree());        
                                            c.getPA().resetVariables();
                                            resetWoodcut();
                                    }
                            }
                            return;
                    }
            }
            
            public int getTicksForTree() {
                    return (2000-PlayerHandler.getPlayerCount())/100 + additionalTicksPerTree();
            }
            
            public int additionalTicksPerTree() {
                    if (treeType == 1276) // reg
                            return 1;
                    if (treeType == 1278) // reg
                            return 1;
                    if (treeType == 1281) // oak
                            return 2;
                    if (treeType == 1308) // willow
                            return 3;
                    if (treeType == 1307) // maple
                            return 4;
                    if (treeType == 1309) // yew
                            return 6;
                    if (treeType == 1306) // magic
                            return 7;
                    else
                            return 0;
            }
            
            public int cutForChop(int tree) {
                    if (tree == 1276 || tree == 1278)
                            return 3;
                    if (tree == 1281)
                            return 5;
                    if (tree == 1308)
                            return 6;
                    if (tree == 1307)
                            return 7;
                    if (tree == 1309)
                            return 8;
                    if (tree == 1306)
                            return 10;
                    else
                            return 0;
            }
            
            public int axePower(int axe) {
                    if (axe == 1351) // bronze
                            return 1;
                    if (axe == 1349) // iron
                            return 1;
                    if (axe == 1353) // steel
                            return 2;
                    if (axe == 1361) // black
                            return 2;
                    if (axe == 1355) // mith
                            return 3;
                    if (axe == 1357) // addy
                            return 4;
                    if (axe == 1359) // rune
                            return 5;
                    if (axe == 6739) //daxe
                            return 7;
                    else
                            return 0;
            }
            
            public int goodAxe() {
                    for (int j = VALID_AXE.length - 1; j >= 0; j--) {
                            if (c.playerEquipment[c.playerWeapon] == VALID_AXE[j]) {
                                    if (c.playerLevel[c.playerWoodcutting] >= AXE_REQS[j])
                                            return VALID_AXE[j];
                            }                
                    }
                    for (int i = 0; i < c.playerItems.length; i++) {
                            for (int j = VALID_AXE.length - 1; j >= 0; j--) {
                                    if (c.playerItems[i] == VALID_AXE[j] + 1) {
                                            if (c.playerLevel[c.playerWoodcutting] >= AXE_REQS[j])
                                                    return VALID_AXE[j];
                                    }
                            }                
                    }
                    return - 1;
            }
            
            public int getWcTimer(int density) {
                    int time = Misc.random(2);
                    return density + time - axePower(goodAxe());
            }
    
    }
    ??
    Reply With Quote  
     

  4. #4  
    Registered Member
    Join Date
    Mar 2012
    Posts
    411
    Thanks given
    58
    Thanks received
    19
    Rep Power
    11
    thanks figured it out
    Reply With Quote  
     

  5. #5  
    Donator

    Join Date
    Jan 2009
    Posts
    468
    Thanks given
    144
    Thanks received
    41
    Rep Power
    65
    rep ?
    Reply With Quote  
     

  6. Thankful user:


  7. #6  
    Registered Member
    Join Date
    Mar 2012
    Posts
    411
    Thanks given
    58
    Thanks received
    19
    Rep Power
    11
    ofc
    coulda added
    Code:
    c.getPA().resetAnimation();
    woulda saved me like 2 mins hehe
    Reply With Quote  
     

  8. #7  
    Donator

    Join Date
    Jan 2009
    Posts
    468
    Thanks given
    144
    Thanks received
    41
    Rep Power
    65
    Quote Originally Posted by qpanel View Post
    ofc
    coulda added
    Code:
    c.getPA().resetAnimation();
    woulda saved me like 2 mins hehe
    well everyones base is different like for me i use

    resetWoodcutting();
    Reply With Quote  
     

  9. #8  
    Registered Member
    Join Date
    Jun 2010
    Posts
    1
    Thanks given
    0
    Thanks received
    0
    Rep Power
    0
    Don't know your resetAnimation method,

    Add this in the right place and it'll work:
    Code:
    c.startAnimation(65535);
    Reply With Quote  
     

  10. #9  
    Registered Member
    Join Date
    Mar 2012
    Posts
    411
    Thanks given
    58
    Thanks received
    19
    Rep Power
    11
    its not 1 animation it uses the animation of which ever axe you have so u cant stop one animation as it isnt always that anim.
    its perfect now the code i posted above is what it needed.

    and yeh i looked threw a couple of my other bases ive got on my comp and yeh the "stop" code was different cheers anyway u lead me to the right spot
    Reply With Quote  
     

  11. #10  
    Registered Member
    Join Date
    Mar 2012
    Posts
    411
    Thanks given
    58
    Thanks received
    19
    Rep Power
    11
    btw any1 know a good mining base?
    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] B.o.B. Problem [REP++]
    By DarkSlayerz in forum Help
    Replies: 14
    Last Post: 02-23-2012, 01:10 PM
  2. [REP]Connection problem[REP]
    By Incipio in forum Help
    Replies: 6
    Last Post: 08-22-2011, 02:27 AM
  3. [PI][Rep]Clicking Problem[Rep][PI]
    By Slawth Baws in forum Help
    Replies: 1
    Last Post: 07-30-2011, 09:01 AM
  4. What is this problem?:D [Rep++]
    By Peace in forum Help
    Replies: 2
    Last Post: 02-04-2010, 08:41 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
  •