Thread: Cooking, Firemaking, Fishing, Mining, Smelting, Smithing, Woodcutting

Page 1 of 3 123 LastLast
Results 1 to 10 of 26
  1. #1 Cooking, Firemaking, Fishing, Mining, Smelting, Smithing, Woodcutting 
    Registered Member

    Join Date
    Jul 2008
    Posts
    939
    Thanks given
    0
    Thanks received
    3
    Rep Power
    781
    Ok well my friend was working on a 508/525 server, but gave it up, so has asked me to release his skills here. They're all full bases and probably no work needed (Some additions may want to be added)

    All credits to him (Joshua). He has no Rune-server account.

    Obviously all the imports/packaging would be changed based on your server base.


    SkillManager
    Code:
    package net.com.PulseRev.content;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.content.skills.*;
    
    /**
     * Created by Joshua
     * Created on 27-Dec-2009 at 09:50:14
     */
    public class SkillManager {
    
        public Player p;
        public SkillManager(Player player) {
            this.p = player;
        }
    
        public void resetSkills() {
            // Resets skills
            p.actionSender.removeShownInterface(p);
            p.actionSender.removeChatboxInterface(p);
    
            p.woodcutting.resetWoodcutting();
            p.fishing.resetFishing();
            p.cooking.resetCooking();
            p.smithing.resetSmithing();
            p.smelting.resetSmelting();
            p.mining.resetMining();
        }
    }
    Cooking:
    Code:
    package net.com.PulseRev.content.skills;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.Engine;
    
    /**
     * Created by Joshua
     * Created on 01-Jan-2010 at 15:07:19
     */
    public class Cooking {
    
        Player p;
    
        public Cooking(Player p) {
            this.p = p;
        }
    
        public boolean Cooking = false;
        public int CookTimer = -1;
        public int CookAmount = 0;
        public int CookXP = 0;
        public int CookGet = 0;
        public int CookID = 0;
        public boolean cookingInterface = false;
    
        public void setCookingInterface(int xp, int rawFish, int cookedFish) {
            if (!hasCookingLevel(levelRequirement(rawFish))) {
                p.message("You need level "+levelRequirement(rawFish)+" Cooking to cook that!");
                return;
            }
            p.actionSender.setString(p, "Cook 1", 458, 1);
            p.actionSender.setString(p, "Cook 5", 458, 2);
            p.actionSender.setString(p, "Cook All", 458, 3);
            p.actionSender.showChatboxInterface(p, 458);
            CookXP = xp;
            CookID = rawFish;
            CookGet = cookedFish;
            cookingInterface = true;
            CookTimer =  2;
        }
    
        public void startCooking(int amount) {
            if (!hasCookingLevel(levelRequirement(CookID))) {
                p.message("You need level "+levelRequirement(CookID)+" Cooking to cook that!");
                resetCooking();
                return;
            }
            p.actionSender.removeShownInterface(p);
            p.actionSender.removeChatboxInterface(p);
            CookAmount = amount > Engine.playerItems.invItemCount(p, CookID) ?
                    Engine.playerItems.invItemCount(p, CookID) : amount;
            CookThat(CookXP, CookID, CookGet);
            cookingInterface = false;
            Cooking = true;
        }
    
        public void CookThat(int XP, int rawFish, int cookedFish) {
            if (!hasCookingLevel(levelRequirement(CookID))) {
                p.message("You need level "+levelRequirement(CookID)+" Cooking to cook that!");
                resetCooking();
                return;
            }
            if (CookAmount <= 0) {
                resetCooking();
                p.message("You have finished cooking.");
                return;
            }
            if (!Engine.playerItems.hasPlayerItemAmount(p, rawFish, 1)) {
                resetCooking();
                p.actionSender.sendMessage(p, "You haven't got any more fish to cook!");
                return;
            }
            p.requestAnim(883, 0);
            Engine.playerItems.deleteItem(p, rawFish, Engine.playerItems.getItemSlot(p, rawFish), 1);
            Engine.playerItems.addItem(p, cookedFish, 1);
            p.appendExperience(XP, 7);
            p.actionSender.sendMessage(p, "You cook the fish.");
            CookTimer = 2;
            CookAmount -= 1;
        }
    
        public void process() {
            if (Cooking) {
                if (CookTimer > 0) CookTimer -= 1;
    
                if (CookTimer == 0) {
                    if (CookAmount == 0) {
                        resetCooking();
                    } else {
                        CookThat(CookXP, CookID, CookGet);
                    }
                }
            }
        }
    
        public void resetCooking() {
            CookTimer = -1;
            CookAmount = 0;
            CookXP = 0;
            CookGet = 0;
            CookID = 0;
            Cooking = false;
            cookingInterface = false;
        }
    
        public int levelRequirement(int rawFish) {
            switch (rawFish) {
                case 317: return 1;  // Shrimp
                case 335: return 15; // Trout
                case 363: return 30; // Bass
                case 377: return 45; // Lobster
                case 383: return 77; // Shark
                case 389: return 90; // Manta
            }
            return 1;
        }
    
        public boolean hasCookingLevel(int lvl) {
            return p.skillLvl[7] >= lvl;
        }
        public int cookingLevel() {
            return p.skillLvl[7];
        }
    }
    Firemaking:
    Code:
    package net.com.PulseRev.content.skills;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.model.items.PlayerItems;
    
    /**
     * Created by Joshua
     * Created on 31-Dec-2009 at 18:26:04
     */
    public class Firemaking {
        Player p;
        public Firemaking(Player p) {
            this.p = p;
        }
    
        public void checkFiremaking(int itemUsed, int usedWith) {
            if (itemUsed == 590 && usedWith == 1511 || itemUsed == 1511 && usedWith == 590) {
                setFire(50, 733, 2732, 1511);
            }
            if (itemUsed == 590 && usedWith == 1521 || itemUsed == 1521 && usedWith == 590) {
                if (p.skillLvl[11] >= 15) {
                    setFire(75, 733, 2732, 1521);
                } else {
                    p.message("You need a level of 15 Firemaking to burn that!");
                }
            }
            if (itemUsed == 590 && usedWith == 1519 || itemUsed == 1519 && usedWith == 590) {
                if (p.skillLvl[11] >= 30) {
                    setFire(90, 733, 2732, 1519);
                } else {
                    p.message("You need a level of 30 Firemaking to burn that!");
                }
            }
            if (itemUsed == 590 && usedWith == 1517 || itemUsed == 1517 && usedWith == 590) {
                if (p.skillLvl[11] >= 45) {
                    setFire(110, 733, 2732, 1517);
                } else {
                    p.message("You need a level of 45 Firemaking to burn that!");
                }
            }
            if (itemUsed == 590 && usedWith == 1515 || itemUsed == 1515 && usedWith == 590) {
                if (p.skillLvl[11] >= 60) {
                    setFire(170, 733, 2732, 1515);
                } else {
                    p.message("You need a level of 60 Firemaking to burn that!");
                }
            }
            if (itemUsed == 590 && usedWith == 1513 || itemUsed == 1513 && usedWith == 590) {
                if (p.skillLvl[11] >= 75) {
                    setFire(250, 733, 2732, 1513);
                } else {
                    p.message("You need a level of 75 Firemaking to burn that!");
                }
            }
            if (itemUsed == 590 && usedWith == 7404 || itemUsed == 7404 && usedWith == 590) { // red
                setFire(50, 733, 11404, 7404);
            }
            if (itemUsed == 590 && usedWith == 7405 || itemUsed == 7405 && usedWith == 590) { // green
                setFire(50, 733, 11405, 7405);
            }
            if (itemUsed == 590 && usedWith == 7406 || itemUsed == 7406 && usedWith == 590) { // blue
                setFire(50, 733, 11406, 7406);
            }
            if (itemUsed == 590 && usedWith == 10329 || itemUsed == 10329 && usedWith == 590) { // blue
                setFire(50, 733, 20001, 10329);
            }
            if (itemUsed == 590 && usedWith == 10328 || itemUsed == 10328 && usedWith == 590) {
                setFire(50, 733, 20000, 10328);
    		}
        }
        public void setFire(int skillxp, int anim, int object, int logid) {
            PlayerItems pi = new PlayerItems();
            p.appendExperience(skillxp, 11);
            p.requestAnim(anim, 0);
            p.actionSender.createObject(p, object, p.heightLevel, p.absX, p.absY, 0, 10);
            pi.deleteItem(p, logid, pi.getItemSlot(p, logid), 1);
            p.message("You set the logs on fire.");
        }
    }
    Fishing:
    Code:
    package net.com.PulseRev.content.skills;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.model.items.PlayerItems;
    import net.com.PulseRev.Engine;
    import net.com.PulseRev.util.Misc;
    
    /**
     * Created by Joshua
     * Created on 01-Jan-2010 at 00:50:29
     */
    public class Fishing {
        Player p;
        public int FishTimer = -1; // Time until next fish
        public int FishXP = 0; // XP received
        public int FishGet = 0; // Received fish
        public int FishEmote = 0; // Fishing emote
        public boolean Fishing = false; // Are we fishing?
    
        public Fishing(Player p) {
            this.p = p;
        }
    
        public void FishThat(int XP, int fish, int Emote) {
            if (fishingLevel() < requiredLevel(fish)) {
                p.message("You need a level of " + requiredLevel(fish) + " to fish there!");
                resetFishing();
                p.requestAnim(p.standEmote, 0);
                return;
            }
            if (!hasRequiredItem(fish)) {
                p.message("You require a "+itemName(fish));
                resetFishing();
                p.requestAnim(p.standEmote, 0);
                return;
            }
            if (!hasSpace()) {
                p.message("You haven't got enough space in your inventory!");
                resetFishing();
                p.requestAnim(p.standEmote, 0);
                return;
            }
                p.requestAnim(Emote, 0);
                Engine.playerItems.addItem(p, fish, 1);
                p.appendExperience(XP, 10);
                p.actionSender.sendMessage(p, "You caught a fish.");
                FishTimer = 3;
        }
        public void startFishing(int xp, int fish, int emote) {
            if (fishingLevel() < requiredLevel(fish)) {
                p.message("You need a level of " + requiredLevel(fish) + " to fish there!");
                return;
            }
            if (!hasRequiredItem(fish)) {
                p.message("You require a"+itemName(fish)+" to fish in this spot!");
                return;
            }
            if (!hasSpace()) {
                p.message("You haven't got enough space in your inventory!");
            }
            if (FishTimer == 0) {
                FishThat(FishXP, FishGet, FishEmote);
            }
            FishTimer = 3;
            FishXP = xp;
            FishGet = fish;
            FishEmote = emote;
            Fishing = true;
        }
    
        public void process() {
            if (Fishing) {
                if (FishTimer > 0) {
                    FishTimer -= 1;
                }
                if (FishTimer == 0 && Fishing) {
                    FishThat(FishXP, FishGet, FishEmote);
                }
            }
        }
    
        public void resetFishing() {
            Fishing = false;
            FishXP = 0;
            FishTimer = -1;
            FishXP = 0;
            FishGet = 0;
            FishEmote = 0;
        }
    
        public int requiredLevel(int fish) {
            switch (fish) {
                case 317:
                    return 1; // Shrimp
    
                case 363:
                    return 25; // Bass
    
                case 377:
                    return 40; // Lobsters
    
                case 335:
                    return 15; // Trout
    
                case 383:
                    return 76; // Shark
    
                case 389:
                    return 90; // Manta
    
            }
            return 1;
        }
    
        public boolean hasSpace() {
            int index = Engine.playerItems.findInvSlot(p);
            return index >= 0;
        }
    
        public boolean hasRequiredItem(int fish) {
                switch (fish) {
                    case 317: // Shrimp
                    case 363: // Bass
                        if (hasItem(305)) {
                            return true;
                        }
                        break;
                    case 377: // Lobsters
                        if (hasItem(301)) {
                            return true;
                        }
                        break;
                    case 335: // Trout
                        if (hasItem(307)) {
                            return true;
                        }
                        break;
                    case 389: // Manta
                    case 383: // Shark
                        if (hasItem(311)) {
                            return true;
                        }
                }
            return false;
        }
        public String itemName(int fish) {
            switch (fish) {
                case 363:
                case 317: return " big fishing net";
                case 377: return " lobster cage";
                case 335: return " fishing rod";
                case 389:
                case 383: return " harpoon";
            }
            return "Invalid";
        }
    
        public int fishingLevel() {
            return p.skillLvl[10];
        }
    
        public void giveFishingXP(int xp) {
            p.appendExperience(xp, 10);
        }
    
        public boolean hasItem(int id) {
            PlayerItems pi = new PlayerItems();
            return pi.invItemCount(p, id) > 0;
        }
    }
    Mining:
    Code:
    package net.com.PulseRev.content.skills;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.model.items.PlayerItems;
    
    /**
     * Created by Joshua
     * Created on 07-Jan-2010 at 16:28:44
     */
    public class Mining {
        Player p;
        PlayerItems pi = new PlayerItems();
    
        public Mining(Player p) {
            this.p = p;
        }
    
        public int emote;
        public int speed;
        public int time;
        public int amount;
        public int objectId;
        public int rockId;
        public int oreTimer = -1;
        public int secondTimer = 2;
        public int ores = 0;
        public boolean Mining = false;
    
        public void startMining(int objectid) {
            if (getPlayerPickaxe() == -1) {
                p.actionSender.sendMessage(p, "You don't have a pickaxe which you have the Mining level to use.");
                resetMining();
                return;
            }
            objectId = objectid;
            rockId = getRockIDForObject(objectId);
            if (getLevelForRock(rockId) > getMiningLevel()) {
                p.actionSender.sendMessage(p, "You need a mining level of " + getLevelForRock(rockId) + " to mine this ore.");
                resetMining();
                return;
            }
            if (pi.freeSlotCount(p) < 1) {
                resetMining();
                p.actionSender.sendMessage(p, "Not enough inventory space to mine anything!");
            }
            p.actionSender.sendMessage(p, "You swing your pickaxe at the rock.");
            setAnimAndSpeed(rockId, getPlayerPickaxe(), getMiningLevel());
            oreTimer = time;
            p.requestAnim(emote, 0);
            Mining = true;
        }
    
        public void process() {
            if (Mining) {
                secondTimer--;
                if (secondTimer == 0) {
                    secondTimer = 2;
                    oreTimer--;
                    p.requestAnim(emote, 0);
                }
                if (oreTimer == 0) {
                    oreTimer = time;
                    rewardOre();
                }
            }
        }
    
        public void resetMining() {
            Mining = false;
            //emote = 0;
            //speed = 0;
            //time = 0;
            //amount = 0;
            //objectId = -1;
            //rockId = 0;
            //secondTimer = 0;
            //ores = 0;
            oreTimer = -1;
        }
    
        public void rewardOre() {
            if (getPlayerPickaxe() == -1) {
                p.actionSender.sendMessage(p, "You don't have a pickaxe which you have the Mining level to use.");
                resetMining();
                p.requestAnim(p.standEmote, 0);
                return;
            }
            if (getLevelForRock(rockId) > getMiningLevel()) {
                p.actionSender.sendMessage(p, "You need a Mining level of " + getLevelForRock(rockId) + " to mine this ore.");
                resetMining();
                p.requestAnim(p.standEmote, 0);
                return;
            }
            if (pi.freeSlotCount(p) < 1) {
                resetMining();
                p.requestAnim(p.standEmote, 0);
                p.actionSender.sendMessage(p, "You finish Mining!");
                return;
            }
            p.actionSender.sendMessage(p, "You get some ore.");
            giveItem(getOreForRock(rockId));
            giveMiningXP(getXpForRock(rockId));
            p.requestAnim(emote, 0);
        }
    
        public int getMiningLevel() {
            return p.skillLvl[14];
        }
    
        public void giveMiningXP(int xp) {
            p.appendExperience(xp, 14);
        }
    
        public boolean hasItem(int id) {
            return pi.invItemCount(p, id) > 0;
        }
    
        public void giveItem(int id) {
            pi.addItem(p, id, 1);
        }
    
        public int getPlayerPickaxe() {
            if (((hasItem(1275)) || (p.equipment[3] == 1275)) && getMiningLevel() >= getLevelForPickAxe(1275)) {
                return 1275;
            } else if (((hasItem(1273)) || (p.equipment[3] == 1273)) && getMiningLevel() >= getLevelForPickAxe(1273)) {
                return 1273;
            } else if (((hasItem(1271)) || (p.equipment[3] == 1271)) && getMiningLevel() >= getLevelForPickAxe(1271)) {
                return 1271;
            } else if (((hasItem(1269)) || (p.equipment[3] == 1269)) && getMiningLevel() >= getLevelForPickAxe(1269)) {
                return 1269;
            } else if (((hasItem(1267)) || (p.equipment[3] == 1267)) && getMiningLevel() >= getLevelForPickAxe(1267)) {
                return 1267;
            } else if (((hasItem(1265)) || (p.equipment[3] == 1265)) && getMiningLevel() >= getLevelForPickAxe(1265)) {
                return 1265;
            }
            return -1;
        }
    
        public int getRockIDForObject(int rock) {
            switch (rock) {
                case 9710:
                case 9708:
                case 9709:
                case 2091://Copper
                    return 1;
                case 9716:
                case 9714:
                case 2094:
                case 2095://Tin
                    return 2;
                case 37309:
                case 37308:
                case 37307:
                case 2092:
                case 2093:// Iron
                    return 3;
                    /*case 37670:
               case 37306:
               case 37304:
               case 2100:
               case 2101://Silver
                   return 4;
               case 11183:
               case 11184:
               case 11185:
               case 2609:
               case 2610:
               case 2611:
               case 2098:
               case 2099://Gold
                   return 6;*/
                case 14852:
                case 14850:
                case 14851:
                case 2096:
                case 2097://Coal
                    return 5;
                case 2102:
                case 14853:
                case 14855:
                case 14854:
                case 2103://Mithril
                    return 7;
                case 2104:
                case 14863:
                case 14862:
                case 14861:
                case 2105://Adamantite
                    return 8;
                case 2106:
                case 14859:
                case 14860:
                case 2107://Rune
                    return 9;
                    /*case 4028:
               case 4029:
               case 4030://Limestone
                   return 10;
               case 6669:
               case 6670:
               case 6671://Elemental
                   return 11;*/
                case 2110://Rune essence
                    return 12;
    
            }
            return -1;
        }
    
        public int getOreForRock(int rock) {
            switch (rock) {
                case 1://Copper
                    return 436;
    
                case 2://Tin
                    return 438;
    
                case 3://Iron
                    return 440;
    
                    /*case 4://Silver
                   return 442;*/
    
                case 5://Coal
                    return 453;
    
                    /*case 6://Gold
                   return 444;*/
    
                case 7://Mithril
                    return 447;
    
                case 8://Adamantite
                    return 449;
    
                case 9://Runite
                    return 451;
    
                    /*case 10://Limestone
                   return 3211;
    
               case 11://Elemental
                   return 2892;*/
    
                case 12://Rune essence
                    return 1436;
    
            }
            return -1;
        }
    
        public int getXpForRock(int rock) {
            switch (rock) {
                case 1://Copper
                    return 35;
    
                case 2://Tin
                    return 35;
    
                case 3://Iron
                    return 50;
    
                /*case 4://Silver
                    return 30;*/
    
                case 5://Coal
                    return 70;
    
                /*case 6://Gold
                    return 100;*/
    
                case 7://Mithril
                    return 100;
    
                case 8://Adamantite
                    return 170;
    
                case 9://Runite
                    return 285;
    
                case 10://Limestone
                    return 5;
    
                case 11://Elemental
                    return 20;
    
                case 12://Rune essence
                    return 40;
    
            }
            return -1;
        }
    
        public int getLevelForRock(int rock) {
            switch (rock) {
                case 1:// Copper
                    return 1;
    
                case 2:// Tin
                    return 1;
    
                case 3:// Iron
                    return 15;
    
                    /*case 4:// Silver
                   return 20;*/
    
                case 5:// Coal
                    return 30;
    
                    /*case 6:// Gold
                   return 40;*/
    
                case 7:// Mithril
                    return 55;
    
                case 8:// Adamantite
                    return 70;
    
                case 9:// Runite
                    return 85;
    
                    /*case 10://Limestone
                   return 1;
    
               case 11://Elemental
                   return 10;*/
    
                case 12://Rune essence
                    return 20;
    
            }
            return -1;
        }
    
        public int getLevelForPickAxe(int axe) {
            switch (axe) {
                case 1265:// Bronze Pickaxe
                    return 1;
    
                case 1267:// Iron Pickaxe
                    return 1;
    
                case 1269:// Steel Pickaxe
                    return 5;
    
                case 1271:// Mithril Pickaxe
                    return 21;
    
                case 1273:// Adamant Pickaxe
                    return 31;
    
                case 1275:// Rune Pickaxe
                    return 41;
    
            }
            return -1;
        }
    
        public void setAnimAndSpeed(int rock, int axe, int level) {
            switch (axe) {
                case 1265://Bronze Axe
                    emote = 625;
                    speed = 1;
                    break;
                case 1267://Iron Axe
                    emote = 626;
                    speed = 2;
                    break;
                case 1269://Steel Axe
                    emote = 627;
                    speed = 5;
                    break;
                case 1271://Mithril Axe
                    emote = 629;
                    speed = 13;
                    break;
                case 1273://Adamant Axe
                    emote = 628;
                    speed = 20;
                    break;
                case 1275://Rune Axe
                    emote = 624;
                    speed = 30;
                    break;
            }
            speed = (speed - (speed * 2)) / 10;
            time = getRockTime(rock);
            if (time < 0) time = 1;
            if (time == 1) emote++;
        }
    
        public int getRockTime(int rock) {
            switch (rock) {
                case 1: // Copper
                case 2: // Tin
                    return 2;
                case 3: // Iron
                    return 3;
                case 5: // Coal
                    return 4;
                case 7: // Mithril
                case 8: // Adamant
                    return 6;
                case 9: // Runite
                    return 8;
                default:
                    return 3;
            }
        }
    }
    Smelting:
    Code:
    package net.com.PulseRev.content.skills;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.model.items.PlayerItems;
    
    import java.util.Random;
    
    /**
     * Created by Joshua
     * Created on 06-Jan-2010 at 22:07:58
     */
    public class Smelting {
    
        Player p;
    
        public Smelting(Player p) {
            this.p = p;
        }
    
        PlayerItems pi = new PlayerItems();
        public boolean Smelting = false;
        public int barToSmelt = 0;
        public int smeltingTimer = 0;
        public int amountToSmelt = 0;
    
        public void sendSmeltingInterface() {
            /* Images & Strings */
            p.actionSender.addInterfaceItem(p, 311, 4, 150, 2349); // Bronze
            p.actionSender.addInterfaceItem(p, 311, 5, -1, -1); // Blurite
            p.actionSender.addInterfaceItem(p, 311, 6, 150, 2351); // Iron
            p.actionSender.addInterfaceItem(p, 311, 7, -1, -1); // Silver
            p.actionSender.addInterfaceItem(p, 311, 8, 150, 2353); // Steel
            p.actionSender.addInterfaceItem(p, 311, 9, -1, -1); // Gold
            p.actionSender.addInterfaceItem(p, 311, 10, 150, 2359); // Mithril
            p.actionSender.addInterfaceItem(p, 311, 11, 150, 2361); // Adamant
            p.actionSender.addInterfaceItem(p, 311, 12, 150, 2363); // Runite
    
            String br = "<br><br><br><br>";
            p.actionSender.setString(p, br + (hasRequiredLevel(2349) ? "<col=000000>" : "<col=FF0000>") + "Bronze", 311, 16);
            p.actionSender.setString(p, "<br><col=FF0000>Out<br><col=FF0000>of<br><col=FF0000>order", 311, 20);
            p.actionSender.setString(p, br + (hasRequiredLevel(2351) ? "<col=000000>" : "<col=FF0000>") + "Iron", 311, 24);
            p.actionSender.setString(p, "<col=FF0000><br><col=FF0000>Out<br><col=FF0000>of<br><col=FF0000>order", 311, 28);
            p.actionSender.setString(p, br + (hasRequiredLevel(2355) ? "<col=000000>" : "<col=FF0000>") + "Steel", 311, 32);
            p.actionSender.setString(p, "<col=FF0000><br><col=FF0000>Out<br><col=FF0000>of<br><col=FF0000>order", 311, 36);
            p.actionSender.setString(p, br + (hasRequiredLevel(2359) ? "<col=000000>" : "<col=FF0000>") + "Mithril", 311, 40);
            p.actionSender.setString(p, br + (hasRequiredLevel(2361) ? "<col=000000>" : "<col=FF0000>") + "Adamant", 311, 44);
            p.actionSender.setString(p, br + (hasRequiredLevel(2363) ? "<col=000000>" : "<col=FF0000>") + "Rune", 311, 48);
    
            /* Send interface */
            p.actionSender.showChatboxInterface(p, 311);
        }
    
        public void startSmelting(int barId, int amount) {
            if (!hasRequiredLevel(barId)) {
                p.message("You need level "+requiredLevel(barId)+" to smelt that bar!");
                resetSmelting();
                return;
            }
            if (!hasOres(barId)) {
                p.message(neededOres(barId));
                resetSmelting();
                return;
            }
            barToSmelt = barId;
            amountToSmelt = amount;
            Smelting = true;
            smeltBar(barId);
        }
    
        public void smeltBar(int barId) {
            if (!hasRequiredLevel(barId)) {
                p.message("You need level "+requiredLevel(barId)+" to smelt that bar!");
                resetSmelting();
                return;
            }
            if (!hasOres(barId)) {
                p.message("You've ran out of ores required to smelt this bar!");
                resetSmelting();
                return;
            }
            p.actionSender.removeChatboxInterface(p);
            deleteOres(barId);
            if (barId == 2351) {
                // Iron ;]
                Random gen = new Random();
                int num = gen.nextInt(99);
                if (num >= 0 && num < 50) {
                    p.message("You successfully smelt the iron bar.");
                    appendSmithingXP(barId);
                    pi.addItem(p, barId, 1);
                } else {
                    p.message("You fail to smelt the iron bar!");
                }
            } else {
                appendSmithingXP(barId);
                pi.addItem(p, barId, 1);
            }
            p.requestAnim(899, 0);
            amountToSmelt--;
            smeltingTimer = 2;
        }
    
        public void process() {
            /* Smelting processes */
            if (Smelting) {
                if (smeltingTimer > 0) smeltingTimer--;
                if (smeltingTimer == 0) {
                    if (amountToSmelt == 0) resetSmelting();
                    if (amountToSmelt > 0) {
                        smeltBar(barToSmelt);
                    }
                }
            }
        }
    
        public void appendSmithingXP(int bar) {
            int xp = 0;
            switch (bar) {
                case 2349: // Bronze
                    xp = 5;
                    break;
                case 2351: // Iron
                    xp = 10;
                    break;
                case 2355: // Steel
                    xp = 20;
                    break;
                case 2359: // Mith
                    xp = 25;
                    break;
                case 2361: // Addy
                    xp = 30;
                    break;
                case 2363: // Rune
                    xp = 35;
                    break;
            }
            p.appendExperience(xp, 13);
        }
        public boolean hasOres(int bar) {
            switch (bar) {
                case 2349: // Bronze
                    return (pi.invItemCount(p, 436) >= 1 && pi.invItemCount(p, 438) >= 1);
                case 2351: // Iron
                    return (pi.invItemCount(p, 440) >= 1);
                case 2355: // Steel
                    return (pi.invItemCount(p, 440) >= 1 && pi.invItemCount(p, 453) >= 2);
                case 2359: // Mithril
                    return (pi.invItemCount(p, 447) >= 1 && pi.invItemCount(p, 453) >= 4);
                case 2361: // Adamantite
                    return (pi.invItemCount(p, 449) >= 1 && pi.invItemCount(p, 453) >= 6);
                case 2363: // Runite
                    return (pi.invItemCount(p, 451) >= 1 && pi.invItemCount(p, 453) >= 8);
    
                default: return false;
            }
        }
        public void deleteOres(int bar) {
            switch (bar) {
                case 2349: // Bronze
                    pi.deleteItem(p, 436, 1);
                    pi.deleteItem(p, 438, 1);
                    break;
                case 2351: // Iron
                    pi.deleteItem(p, 440, 1);
                    break;
                case 2355: // Steel
                    pi.deleteItem(p, 440, 1);
                    pi.deleteItem(p, 453, 2);
                    break;
                case 2359: // Mithril
                    pi.deleteItem(p, 447, 1);
                    pi.deleteItem(p, 453, 4);
                    break;
                case 2361: // Adamantite
                    pi.deleteItem(p, 449, 1);
                    pi.deleteItem(p, 453, 6);
                    break;
                case 2363: // Runite
                    pi.deleteItem(p, 451, 1);
                    pi.deleteItem(p, 453, 8);
                    break;
            }
        }
        public String neededOres(int bar) {
            String start = "You need ";
            String end = " to smelt that bar!";
            switch (bar) {
                case 2349: // Bronze
                    return start+"1 tin ore, and 1 copper ore"+end;
                case 2351: // Iron
                    return start+"1 iron ore"+end;
                case 2355: // Steel
                    return start+"1 iron ore, and 2 coals"+end;
                case 2359: // Mithril
                    return start+"1 mithril ore, and 4 coals"+end;
                case 2361: // Adamantite
                    return start+"1 adamantite ore, and 6 coals"+end;
                case 2363: // Runite
                    return start+"1 runite ore, and 8 coals"+end;
    
                default: return "You need no ores."; // Hacker? Lolz
            }
        }
    
        public int requiredLevel(int bar) {
            switch (bar) {
                case 2349:
                    return 1; // Bronze
                case 2351:
                    return 15; // Iron
                case 2353:
                    return 30; // Steel
                case 2359:
                    return 50; // Mithril
                case 2361:
                    return 70; // Adamant
                case 2363:
                    return 85; // Runite
    
                default:
                    return 1; // Any other? Shouldn't be others
            }
        }
    
        public boolean hasRequiredLevel(int bar) {
            return (p.skillLvl[13] >= requiredLevel(bar));
        }
    
        public boolean isAnOre(int id) {
            switch (id) {
                case 436: // Copper
                case 438: // Tin
                case 440: // Iron
                case 447: // Mithril
                case 449: // Adamant
                case 451: // Runite
                case 453: // Coal
                    return true;
    
                default:
                    return false;
            }
        }
    
        public void resetSmelting() {
            Smelting = false;
            barToSmelt = 0;
            smeltingTimer = 0;
            amountToSmelt = 0;
            p.actionSender.removeChatboxInterface(p);
        }
    }
    Woodcutting:
    Code:
    package net.com.PulseRev.content.skills;
    
    import net.com.PulseRev.model.Player;
    import net.com.PulseRev.model.items.*;
    
    import java.util.Random;
    
    /**
     * Created by Joshua
     * Created on 31-Dec-2009 at 17:20:47
     */
    public class Woodcutting {
    
        public Player p;
        public Woodcutting(Player p) {
            this.p = p;
        }
        public int anim;
        public int speed;
        public int time;
        public int amount;
        public int objid;
        public int treeid;
        public int logTimer = -1;
        public int secondtimer = 2;
        public int logs = 0;
        public boolean Woodcutting = false;
    
        public void startCutting(int objectid) {
            if (getPlayerAxe() == -1 || getLevelForAxe(getPlayerAxe()) > getWoodcuttingLevel()) {
                p.actionSender.sendMessage(p, "You don't have an axe which you have the woodcutting level to use.");
                return;
            }
            objid = objectid;
            treeid = getTreeIDForObject(objid);
            if (getLevelForTree(treeid) > getWoodcuttingLevel()) {
                p.actionSender.sendMessage(p, "You need level " + getLevelForTree(treeid) + " to chop down this tree");
                return;
            }
            PlayerItems pit = new PlayerItems();
            if (pit.freeSlotCount(p) < 1) {
                resetWoodcutting();
                p.actionSender.sendMessage(p, "Not enough inventory space to cut any more logs!");
                return;
            }
            p.actionSender.sendMessage(p, "You swing your axe at the tree");
            setAnimAndSpeed(treeid, getPlayerAxe(), getWoodcuttingLevel());
            logTimer = time;
            p.requestAnim(anim, 0);
            Woodcutting = true;
        }
    
        public void process() {
            if (Woodcutting) {
                secondtimer--;
                if (secondtimer == 0) {
                    secondtimer = 2;
                    logTimer--;
                    p.requestAnim(anim, 0);
                }
                if (logTimer == 0) {
                    logTimer = time;
                    logs++;
                    rewardLog();
                }
            }
        }
    
        public void resetWoodcutting() {
            logTimer = -1;
            Woodcutting = false;
        }
    
        public void rewardLog() {
            PlayerItems pit = new PlayerItems();
            if (getLevelForTree(treeid) > getWoodcuttingLevel()) {
                resetWoodcutting();
                p.requestAnim(p.standEmote, 0);
                p.actionSender.sendMessage(p, "You need level " + getLevelForTree(treeid) + " to chop down this tree");
                return;
            }
            if (pit.freeSlotCount(p) < 1) {
                resetWoodcutting();
                p.requestAnim(p.standEmote, 0);
                p.actionSender.sendMessage(p, "Not enough inventory space to cut any more logs!");
            }
            if (pit.freeSlotCount(p) > 0) {
                p.actionSender.sendMessage(p, "You cut some logs.");
                giveItem(getLogsForTree(treeid));
                p.requestAnim(p.standEmote, 0);
                giveWoodcuttingXP(getXpForLog(treeid) * p.skillLvl[8]);
                p.requestAnim(anim, 0);
    
            }
            pit = null;
        }
    
        public int getWoodcuttingLevel() {
            return p.skillLvl[8];
        }
    
        public void giveWoodcuttingXP(int xp) {
            p.appendExperience(xp, 8);
        }
    
        public boolean hasItem(int id) {
            PlayerItems pi = new PlayerItems();
            return pi.invItemCount(p, id) > 0;
        }
    
        public void giveItem(int id) {
            PlayerItems pi = new PlayerItems();
            pi.addItem(p, id, 1);
            pi = null;
        }
    
        public int getPlayerAxe() {
            if (((hasItem(6739)) || (p.equipment[3] == 6739)) && getWoodcuttingLevel() >= getLevelForAxe(6739)) {
                return 6739;
            } else
            if (((hasItem(1359)) || (p.equipment[3] == 1359)) && getWoodcuttingLevel() >= getLevelForAxe(1359)) {
                return 1359;
            } else
            if (((hasItem(1357)) || (p.equipment[3] == 1357)) && getWoodcuttingLevel() >= getLevelForAxe(1357)) {
                return 1357;
            } else
            if (((hasItem(1355)) || (p.equipment[3] == 1355)) && getWoodcuttingLevel() >= getLevelForAxe(1355)) {
                return 1355;
            } else
            if (((hasItem(1361)) || (p.equipment[3] == 1361)) && getWoodcuttingLevel() >= getLevelForAxe(1361)) {
                return 1361;
            } else
            if (((hasItem(1353)) || (p.equipment[3] == 1353)) && getWoodcuttingLevel() >= getLevelForAxe(1353)) {
                return 1353;
            } else
            if (((hasItem(1349)) || (p.equipment[3] == 1349)) && getWoodcuttingLevel() >= getLevelForAxe(1349)) {
                return 1349;
            } else
            if (((hasItem(1351)) || (p.equipment[3] == 1351)) && getWoodcuttingLevel() >= getLevelForAxe(1351)) {
                return 1351;
            }
            return -1;
        }
    
        public int getTreeIDForObject(int tree) {
            switch (tree) {
                case 1277:
                case 1278:
                case 1276://Normal Trees:Tree,Dead tree, Evergreen
                    return 1;
    
                case 1281://Oak
                    return 2;
    
                case 1308://Willow
                    return 3;
    
                case 9036://Teak
                    return 4;
    
                case 1307://Maple
                    return 5;
    
                case 9034://Mahogany
                    return 6;
    
                case 1309://Yew
                    return 7;
    
                case 1306://Magic
                    return 8;
    
            }
            return -1;
        }
    
        public int getLogsForTree(int tree) {
            switch (tree) {
                case 1://Normal Trees:Tree,Dead tree, Evergreen
                    return 1511;
    
                case 2://Oak
                    return 1521;
    
                case 3://Willow
                    return 1519;
    
                case 4://Teak
                    return 6333;
    
                case 5://Maple
                    return 1517;
    
                case 6://Mahogany
                    return 6332;
    
                case 7://Yew
                    return 1515;
    
                case 8://Magic
                    return 1513;
    
            }
            return -1;
        }
    
        public int getXpForLog(int tree) {
            switch (tree) {
                case 1: //Normal Trees: Tree, Dead tree, Evergreen
                    return 20;
    
                case 2:// Oak Trees
                    return 30;
    
                case 3:// Willow Trees
                    return 60;
    
                case 4:// Teak Trees
                    return 75;
    
                case 5:// Maple Trees
                    return 85;
    
                case 6:// Mahogany Trees
                    return 105;
    
                case 7:// Yew Trees
                    return 145;
    
                case 8:// Magic Trees
                    return 210;
    
            }
            return -1;
        }
    
        public int getLevelForTree(int tree) {
            switch (tree) {
                case 1://Normal Trees:Tree,Dead tree, Evergreen
                    return 1;
    
                case 2://Oak
                    return 15;
    
                case 3://Willow
                    return 30;
    
                case 4://Teak
                    return 35;
    
                case 5://Maple
                    return 45;
    
                case 6://Mahogany
                    return 50;
    
                case 7://Yew
                    return 60;
    
                case 8://Magic
                    return 75;
    
            }
            return -1;
        }
    
        public int getLevelForAxe(int axe) {
            if (axe == 1351) {
                return 0;
            } else if (axe == 1349) {
                return 0;
            } else if (axe == 1353) {
                return 5;
            } else if (axe == 1361) {
                return 10;
            } else if (axe == 1355) {
                return 21;
            } else if (axe == 1357) {
                return 31;
            } else if (axe == 1359) {
                return 41;
            } else if (axe == 6739) {
                return 61;
            }
            return -1;
        }
    
        public void setAnimAndSpeed(int tree, int axe, int level) {
            switch (axe) {
                case 1351://Bronze Axe
                    anim = 879;
                    speed = 1;
                    break;
                case 1349://Iron Axe
                    anim = 877;
                    speed = 2;
                    break;
                case 1353://Steel Axe
                    anim = 875;
                    speed = 5;
                    break;
                case 1361://Black Axe
                    anim = 873;
                    speed = 7;
                    break;
                case 1355://Mithril Axe
                    anim = 871;
                    speed = 13;
                    break;
                case 1357://Adamant Axe
                    anim = 869;
                    speed = 20;
                    break;
                case 1359://Rune Axe
                    anim = 867;
                    speed = 100;
                    break;
                case 6739://Dragon Axe
                    anim = 2846;
                    speed = 35;
                    break;
            }
            speed = (speed - (speed * 2)) / 10;
            Random r = new Random();
            time = 2;
            if (time < 0) time = 1;
            if (time == 1) anim++;
        }
    }
    One other thing, the SkillManager and the skills (individually) would need constructing in the player class, ie:

    Code:
    public Woodcutting woodcutting;
        public Firemaking firemaking;
        public Fishing fishing;
        public Cooking cooking;
        public Smithing smithing;
        public Smelting smelting;
        public Mining mining;
    
        /**
         * Constructs a new Player.
         *
         * @param socket The socket this Player belongs to.
         * @param id     The index this player is at.
         */
        public Player(Socket socket, int id) {
            this.socket = new PlayerSocket(this, socket);
            playerId = id;
    
            woodcutting = new Woodcutting(this);
            firemaking = new Firemaking(this);
            fishing = new Fishing(this);
            cooking = new Cooking(this);
            smithing = new Smithing(this);
            smelting = new Smelting(this);
            mining = new Mining(this);
    ...
    Code:
    /**
         * Construct the Skill Manager
         */
        public SkillManager SkillManager = new SkillManager(this);
    And obviously the processes for each skills would be called in the main process in the player class
    Code:
    woodcutting.process();
            fishing.process();
            cooking.process();
            smithing.process();
            smelting.process();
            mining.process();

    Have fun..
    Last edited by Luke132; 04-19-2010 at 06:06 PM.
    I'm Rog3r, fool.
    Reply With Quote  
     

  2. #2  
    Registered Member
    Nando's Avatar
    Join Date
    Feb 2009
    Age
    29
    Posts
    3,517
    Thanks given
    2,439
    Thanks received
    1,108
    Rep Power
    5000
    wow nice job to ur friend looks good


    Reply With Quote  
     

  3. #3  
    Xenon
    Guest
    It's brilliant.
    Reply With Quote  
     

  4. #4  
    Registered Member
    Underoath's Avatar
    Join Date
    Sep 2008
    Posts
    2,943
    Thanks given
    826
    Thanks received
    582
    Rep Power
    853
    o.O this is sexy


    Special thanks to Payton :trollface:
    Spoiler for People I respect:

    Definitely not you, faggot.

    Reply With Quote  
     

  5. #5  
    Super Donator

    Janizary's Avatar
    Join Date
    Jul 2009
    Age
    22
    Posts
    2,131
    Thanks given
    109
    Thanks received
    137
    Rep Power
    1031
    Not all skills are that great. Ex. Woodcutting.


    Quote Originally Posted by Pirlo View Post
    I don't think the cold war existed during/before WWI
    Reply With Quote  
     

  6. #6  
    Registered Member

    Join Date
    Mar 2009
    Age
    31
    Posts
    1,008
    Thanks given
    32
    Thanks received
    7
    Rep Power
    111
    You should tell the noobs how to add it all ur gona get spamed lul
    Reply With Quote  
     

  7. #7  
    Super Donator

    Janizary's Avatar
    Join Date
    Jul 2009
    Age
    22
    Posts
    2,131
    Thanks given
    109
    Thanks received
    137
    Rep Power
    1031
    Quote Originally Posted by «I Gf I» ©£ View Post
    You should tell the noobs
    Such as you?
    Reply With Quote  
     

  8. #8  
    Astrect Developer

    Join Date
    Oct 2008
    Age
    28
    Posts
    1,936
    Thanks given
    369
    Thanks received
    212
    Rep Power
    591
    Looks great.
    Reply With Quote  
     

  9. #9  
    Registered Member
    thing1's Avatar
    Join Date
    Aug 2008
    Posts
    2,111
    Thanks given
    131
    Thanks received
    1,099
    Rep Power
    2402
    looks nice
    Reply With Quote  
     

  10. #10  
    Xenon
    Guest
    Quote Originally Posted by «I Gf I» ©£ View Post
    You should tell the noobs how to add it all ur gona get spamed lul
    Well since this is the snippets section and not the tutorials section, I see why he didn't

    It's quite explanetory how to add it though, since he named methods such as "startWoodcutting(arguments)"
    Reply With Quote  
     

Page 1 of 3 123 LastLast

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •