Thread: [718] Slayer (The Basics)

Page 1 of 7 123 ... LastLast
Results 1 to 10 of 69
  1. #1 [718] Slayer (The Basics) 
    Registered Member
    Join Date
    Aug 2011
    Posts
    68
    Thanks given
    0
    Thanks received
    5
    Rep Power
    15
    Currently in Matrix, there's only 1 Slayer Master for players to train on, so I decided to 'finish' what was started.. Currently there are a few bugs...

    Bugs:
    1. Assigns a task "ghost" for example, a player goes off and kills a 'ghost' and doesn't receive XP or his task amount doesn't lower.
    ^ A lot of NPCs don't have this problem, it's only a 'few'.
    2. Some players, once they have reached 0 monsters left to kill, it wouldn't end the task.. I haven't experienced this problem though.

    There might be a few more bugs, that's just what I know .

    I guess you can call my code sloppy, but it atleast gets the job done.

    What does this Slayer have?

    Slayer Masters:
    Turadel
    Maz (Canifis Slayer Master)
    Chaeldar (Fairy Slayer Master)
    Duradel
    Kuradel
    // Missing Vannaka

    Slayer Points:
    - This slayer system keeps track of your tasks, and slayer points, after a certain amount of tasks, you are given more slayer points, like in RS.
    - The better the slayer master, the more points you receive per each task.

    Slayer Reward Interface:
    - Cancels a task
    - Permantly removing a slayer task, I almost got it to work, I just couldn't get the string of the NPC to add onto the Interface..

    Assigning tasks.
    - If your slayer level is lower than the slayer task that you are given, it will keep reassigning you a slayer task until you are able to do it.


    Welp.. Here you go

    SlayerTasks.java
    Code:
    package com.rs.game.player.actions.slayer;
    
    public enum SlayerTasks {
    	/**
    	 * TURAEL TASKS
    	 */
            BANSHEES("Banshees", TaskSet.TURAEL, 15, 20, 40, "Banshee"), 
            CAVEBUGS("Cave Bugs", TaskSet.TURAEL, 1, 20, 40, "Cave bug"),
    	CHICKENS("Chickens", TaskSet.TURAEL, 1, 20, 40, "Chicken"), 
            BEARS("Bears", TaskSet.TURAEL, 1, 20, 40, "Grizzly bear cub", "Grizzly bear"), 
            COWS("Cows", TaskSet.TURAEL, 1, 20, 40, "Cow calf", "Cow"), 
            GOBLINS("Goblins", TaskSet.TURAEL, 1, 20, 40, "Goblin", "Cave goblin guard"), 
            ICEFIENDS("Icefiends", TaskSet.TURAEL, 1, 10, 20, "Icefiend"), 
            MINOTAURS("Minotaurs", TaskSet.TURAEL, 1, 20, 40, "Minotaur"), 
            ZOMBIES("Zombies", TaskSet.TURAEL, 1, 20, 40, "Zombie", "Armoured zombie"), 
            CRAWLING_HANDS("Crawling hand", TaskSet.TURAEL, 5, 1, 1,"Zombie hand", "Skeletal hand"), 
            STS("Ghosts", TaskSet.TURAEL, 1, 20, 40, "Ghost"), 
            BATS("Bats", TaskSet.TURAEL, 1, 20, 40, "Bat","Giant bat"), 
            DWARF("Dwarves", TaskSet.TURAEL, 1, 20, 40, "Dwarf", "Drunken dwarf"),
            SCORPIONS("Scorpions", TaskSet.TURAEL, 1, 20, 40, "Scorpion", "King scorpion"),
            SKELETON("Skeletons", TaskSet.TURAEL, 1, 20, 40, "Skeleton"),
            TROLLS("Trolls", TaskSet.TURAEL, 1, 20, 40, "Mountain trolls", "Ice trolls", "River trolls", "Sea trolls"),
            WOLVES("Wolves", TaskSet.TURAEL, 1, 20, 40, "Ice wolf", "Wolf", "Big wolf"),
            BIRDS("Birds", TaskSet.TURAEL, 1, 20, 40, "Chicken", "Duck", "Terrorbird"),
            
            /*
             * Mazchina / Achtryn Tasks
             */
            BANSHEES2("Banshees", TaskSet.MAZ, 15, 20, 40, "Banshee"),
            BATS2("Bats", TaskSet.MAZ, 1, 20, 40, "Bat","Giant bat"), 
            CAVECRAWLER("Cave Crawlers", TaskSet.MAZ, 1, 20, 40, "Cave crawler"), 
            COCKATRICE("Cockatrices", TaskSet.MAZ, 1, 20, 40, "Cockatrice"), 
            FC("Flesh Crawlers", TaskSet.MAZ, 1, 20, 40, "Flesh Crawler"),
            Ghoul("Ghouls", TaskSet.MAZ, 1, 20, 40, "Ghoul"),
            Ghost("Ghosts", TaskSet.MAZ, 1, 20, 40, "Ghost"), 
            Grots("Grotworms", TaskSet.TURAEL, 1, 20, 40, "Young grotworm", "Mature grotworm"), 
            Hill("Hill Giants", TaskSet.MAZ, 1, 20, 40, "Hill giant"),
            Ghosts("Hobgoblins", TaskSet.MAZ, 1, 20, 40, "hobgoblin"), 
            IceW("Ice warriors", TaskSet.MAZ, 1, 20, 40, "Ice warrior"),
            Kalphite("Kalphites", TaskSet.MAZ, 1, 20, 40, "Kalphite queen", "Kalphite larva", "Kalphite worker", "Kalphite soldier", "Kalphite guardian"), 
            Pyrefiend("Pyrefiends", TaskSet.MAZ, 30, 20, 40, "Pyrefiend"),
            Skeleton2("Skeletons", TaskSet.MAZ, 1, 20, 40, "Skeleton"),
            Zombie2("Zombies", TaskSet.MAZ, 1, 20, 40, "Zombie", "Armoured zombie"),
            
            /*
             * Chaeldar Tasks
             */
            ABBYSPEC("Aberrant spectres", TaskSet.CHAELDAR, 60, 20, 40, "Aberrant spectres"),
            BANSHEES3("Banshees", TaskSet.CHAELDAR, 15, 20, 40, "Banshee"),
            Basilisks("Basilisks", TaskSet.CHAELDAR, 40, 20, 40, "Basilisk"),
            BloodVelds("Bloodvelds", TaskSet.CHAELDAR, 50, 20, 40, "Bloodveld"),
            Blue_Dragon("Blue Dragons", TaskSet.CHAELDAR, 1, 20, 40, "Blue dragon"),
            Bronze_Dragon("Bronze Dragons", TaskSet.CHAELDAR, 11, 20, 40, "Bronze dragon"),
            CC("Cave Crawlers", TaskSet.CHAELDAR, 10, 20, 40, "Cave crawler"),
            CH("Crawling Hands", TaskSet.CHAELDAR, 5, 20, 40, "Crawling hand", "Zombie hand", "Skeletal hand"),
            Dags("Dagganoths", TaskSet.CHAELDAR, 1, 20, 40, "Dagannoth", "Dagannoth guardian", "Dagannoth spawn", "Dagannoth Prime", "Dagannoth Supreme", "Dagannoth Rex"),
            FG("Fire giants", TaskSet.CHAELDAR, 1, 20, 40, "Fire giant"),
            FUNG("Fungal Mages", TaskSet.CHAELDAR, 1, 20, 40, "Fungal mage", "Fungal magi"),
            Garg("Gargoyles", TaskSet.CHAELDAR, 75, 20, 40, "Gargoyle"),
            Grots2("Grotworms", TaskSet.CHAELDAR, 1, 20, 40, "Young grotworm", "Mature grotworm"),
            JS("Jungle Strykewyrms", TaskSet.CHAELDAR, 73, 20, 40, "Jungle strykewyrm"),
            IMages("Infernal mages", TaskSet.CHAELDAR, 45, 20, 40, "Infernal mage"),
            JELLY("Jellies", TaskSet.CHAELDAR, 52, 20, 40, "Jelly"),
            Kalphite2("Kalphites", TaskSet.CHAELDAR, 1, 20, 40, "Kalphite queen", "Kalphite larva", "Kalphite worker", "Kalphite soldier", "Kalphite guardian"), 
            LDemon("Lesser Demons", TaskSet.CHAELDAR, 1, 20, 40, "Lesser demon"),
            Turoth("Turoths", TaskSet.CHAELDAR, 55, 20, 40, "Turoth"),
            
            /*
             * Duradel Tasks
             */
            ABBYSPEC2("Aberrant spectres", TaskSet.DURADEL, 60, 20, 40, "Aberrant spectres"),
            ABYDEMON("Abyssal demons", TaskSet.DURADEL, 85, 20, 40, "Ayssal demon"),
            BDemon("Black demons", TaskSet.DURADEL, 1, 20, 40, "Black demon"),
            BDragon("Black dragons", TaskSet.DURADEL, 1, 20, 40, "Black dragon"),
            BVElds("Bloodvelds", TaskSet.DURADEL, 50, 20, 40, "Bloodveld"),
            Dags2("Dagganoths", TaskSet.DURADEL, 1, 20, 40, "Dagannoth", "Dagannoth guardian", "Dagannoth spawn", "Dagannoth Prime", "Dagannoth Supreme", "Dagannoth Rex"),
            DBeast("Dark beasts", TaskSet.DURADEL, 90, 20, 40, "Dark beast"),
            DStryke("Desert strykewyrms", TaskSet.DURADEL, 77, 20, 40, "Desert strykewyrms"),
            DDevil("Dust devil", TaskSet.DURADEL, 65, 20, 40, "Dust devil"),
            FGiant("Fire giants", TaskSet.DURADEL, 1, 20, 40, "Fire giant"),
            FUNG2("Fungal Mages", TaskSet.DURADEL, 1, 20, 40, "Fungal mage", "Fungal magi"),
            GCreatures("Ganodermic beasts", TaskSet.DURADEL, 95, 20, 40, "Ganodermic beast"),
            garg2("Gargoyles", TaskSet.DURADEL, 75, 20, 40, "Gargoyle"),
            GDEmons("Greater demons", TaskSet.DURADEL, 1, 20, 40, "Greater demon"),
            Grif("Grifalopines", TaskSet.DURADEL, 88, 20, 40, "Grifalopine"),
            Grif2("Grifaloroo", TaskSet.DURADEL, 82, 20, 40, "Grifaloroo"),
            Grots3("Grotworms", TaskSet.DURADEL, 1, 20, 40, "Young grotworm", "Mature grotworm"),
            HH("Hellhounds", TaskSet.DURADEL, 1, 20, 40, "Hellhound"),
            IStryke("Ice strykewyrm", TaskSet.DURADEL, 93, 20, 40, "Ice strykewyrm"),
            IDrag("Iron dragons", TaskSet.DURADEL, 1, 20, 40, "Iron dragon"),
            MDragon("Mithril dragons", TaskSet.DURADEL, 1, 20, 40, "Mithril dragon"),
            MJadinkos("Mutated jadinkos", TaskSet.DURADEL, 80, 20, 40, "Mutated jadinko baby", "Mutated jadinko guard", "Mutated jadinko male"),
            Nech("Nechryaels", TaskSet.DURADEL, 80, 20, 40, "Nechryael"),
            SWyvern("Skeletal Wyverns", TaskSet.DURADEL, 72, 20, 40, "Skeletal Wyvern"),
            SMage("Spiritual Mages", TaskSet.DURADEL, 83, 20, 40, "Spiritual mage"),
            SDragon("Steel Dragons", TaskSet.DURADEL, 1, 20, 40, "Steel dragon"),
            WFiends("Waterfiends", TaskSet.DURADEL, 1, 20, 40, "Waterfiend"),
            
            /*
             * Kuradel
             */
            ABBYSPEC3("Aberrant spectres", TaskSet.KURADEL, 60, 20, 40, "Aberrant spectres"),
            ABYDEMON2("Abyssal demons", TaskSet.KURADEL, 85, 20, 40, "Ayssal demon"),
            BDemon2("Black demons", TaskSet.KURADEL, 1, 20, 40, "Black demon"),
            BDragon2("Black dragons", TaskSet.KURADEL, 1, 20, 40, "Black dragon"),
            Blue_Dragon2("Blue Dragons", TaskSet.KURADEL, 1, 20, 40, "Blue dragon"),
            BVElds2("Bloodvelds", TaskSet.KURADEL, 50, 20, 40, "Bloodveld"),
            Dags3("Dagganoths", TaskSet.KURADEL, 1, 20, 40, "Dagannoth", "Dagannoth guardian", "Dagannoth spawn", "Dagannoth Prime", "Dagannoth Supreme", "Dagannoth Rex"),
            DBeast2("Dark beasts", TaskSet.KURADEL, 90, 20, 40, "Dark beast"),
            DStryke2("Desert strykewyrms", TaskSet.KURADEL, 77, 20, 40, "Desert strykewyrms"),
            DDevil2("Dust devil", TaskSet.KURADEL, 65, 20, 40, "Dust devil"),
            FGiant2("Fire giants", TaskSet.KURADEL, 1, 20, 40, "Fire giant"),
            GCreatures2("Ganodermic beasts", TaskSet.KURADEL, 95, 20, 40, "Ganodermic beast"),
            garg3("Gargoyles", TaskSet.KURADEL, 75, 20, 40, "Gargoyle"),
            GDEmons2("Greater demons", TaskSet.KURADEL, 1, 20, 40, "Greater demon"),
            Grif4("Grifalopines", TaskSet.KURADEL, 88, 20, 40, "Grifalopine"),
            Grif3("Grifaloroo", TaskSet.KURADEL, 82, 20, 40, "Grifaloroo"),
            Grots4("Grotworms", TaskSet.KURADEL, 1, 20, 40, "Young grotworm", "Mature grotworm"),
            HH2("Hellhounds", TaskSet.KURADEL, 1, 20, 40, "Hellhound"),
            IStryke3("Ice strykewyrm", TaskSet.KURADEL, 93, 20, 40, "Ice strykewyrm"),
            IDrag2("Iron dragons", TaskSet.KURADEL, 1, 20, 40, "Iron dragon"),
            LRC("Living rock creatures", TaskSet.KURADEL, 1, 20, 40, "Living rock protector", "Living rock striker", "Living rock patriarch"),
            MDragon2("Mithril dragons", TaskSet.KURADEL, 1, 20, 40, "Mithril dragon"),
            MJadinkos2("Mutated jadinkos", TaskSet.KURADEL, 80, 20, 40, "Mutated jadinko baby", "Mutated jadinko guard", "Mutated jadinko male"),
            Nech2("Nechryaels", TaskSet.KURADEL, 80, 20, 40, "Nechryael"),
            SWyvern2("Skeletal Wyverns", TaskSet.KURADEL, 72, 20, 40, "Skeletal Wyvern"),
            SMage2("Spiritual Mages", TaskSet.KURADEL, 83, 20, 40, "Spiritual mage"),
            SDragon2("Steel Dragons", TaskSet.KURADEL, 1, 20, 40, "Steel dragon"),
            WFiends2("Waterfiends", TaskSet.KURADEL, 1, 20, 40, "Waterfiend");
            
    	private SlayerTasks(String simpleName, TaskSet type, int level, int min, int max,
    			String... monsters) {
    		this.type = type;
    		this.slayable = monsters;
    		this.simpleName = simpleName;
                    this.level = level;
    		this.min = min;
    		this.max = max;
            }
    
    	/**
    	 * A simple name for the task
    	 */
    	public String simpleName;
    
    	/**
    	 * The task set
    	 */
    	public TaskSet type;
    	/**
    	 * The monsters that will effect this task
    	 */
    	public String[] slayable;
    	/**
    	 * The minimum amount of monsters the player may be assigned to kill
    	 */
    	public int min;
    	/**
    	 * The maximum amount of monsters the player may be assigned to kill
    	 */
    	public int max;
            
            /*
             * Slayer level for monsters
             */
            public int level;
            
            public int getLevel() {
                return level;
            }
    }
    SlayerTask.java
    Code:
    package com.rs.game.player.actions.slayer;
    
    import java.io.Serializable;
    
    import com.rs.game.npc.NPC;
    import com.rs.game.player.Player;
    import com.rs.game.player.Skills;
    
    public class SlayerTask implements Serializable {
    
        /**
         *
         */
        private static final long serialVersionUID = -7184740247844324413L;
        /**
         * The players current assigned task
         */
        private SlayerTasks currentTask;
        /*
         * Player level for slayer task
         */
        private SlayerTasks level;
        /**
         * The monsters left.
         */
        private int monstersLeft = -1;
    
        /**
         * Slayer Level for Task
         */
        public SlayerTasks getLevel() {
            return level;
        }
    
        public void setLevel(SlayerTasks lvl) {
            level = lvl;
        }
    
        /**
         * The slayer task
         *
         * @return
         */
        public SlayerTasks getTask() {
            return currentTask;
        }
    
        /**
         * The monsters left to kill
         */
        public int getTaskMonstersLeft() {
            return monstersLeft;
        }
    
        /**
         * Sets the player current task
         *
         * @param task
         */
        public void setTask(SlayerTasks task) {
            currentTask = task;
        }
    
        /**
         * Sets monsters left to kill
         *
         * @param i
         */
        public void setMonstersLeft(int i) {
            monstersLeft = i;
        }
    
        /**
         * Called on npc death if part of task.
         */
        public void onMonsterDeath(Player player, NPC n) {
            player.getSkills().addXp(Skills.SLAYER, n.getCombatDefinitions().getHitpoints() * 10);
            monstersLeft--;
            int[] checkpoints = new int[]{1, 2, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50};
            for (int i : checkpoints) {
                if (monstersLeft == i) {
                    player.getPackets().sendGameMessage(
                            "You're doing great, Only " + monstersLeft + " "
                            + getTask().simpleName + " left to slay.");
                    player.hasTask = true;
                }
            }
            if (monstersLeft < 1) {
                player.setSlayerTaskAmount(player.getSlayerTaskAmount() + 1);
                int[] get50Points = new int[]{10, 20, 30, 40, 60, 70, 80, 90, 110, 120, 130, 140, 150, 160, 170,
                    180, 190, 210, 220, 230, 240, 260, 270, 280, 290, 310, 320, 330, 340, 350, 360, 370, 380, 390, 410, 420,
                    430, 440, 460, 470, 480, 490};
                int[] get100Points = new int[]{50, 150, 250, 350, 450, 550};
                int[] get500Points = new int[]{100, 200, 300, 400, 500, 600};
                int[] get10Points = new int[]{10, 20, 30, 40, 60, 70, 80, 90, 110, 120, 130, 140, 150, 160, 170,
                    180, 190, 210, 220, 230, 240, 260, 270, 280, 290, 310, 320, 330, 340, 350, 360, 370, 380, 390, 410, 420,
                    430, 440, 460, 470, 480, 490, 50, 150, 250, 350, 450, 550, 100, 200, 300, 400, 500, 600};
                for (int ii : get50Points) {
                    if (player.getSlayerTaskAmount() == ii) {
                        if (player.getSlayerMaster() == 1) {
                            player.setSlayerPoints(player.getSlayerPoints() + 3);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 3 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 2) {
                            player.setSlayerPoints(player.getSlayerPoints() + 5);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 5 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 3) {
                            player.setSlayerPoints(player.getSlayerPoints() + 38);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 38 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 4) {
                            player.setSlayerPoints(player.getSlayerPoints() + 60);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 60 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 5) {
                            player.setSlayerPoints(player.getSlayerPoints() + 125);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 125 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        }
                    }
                }
                for (int iii : get100Points) {
                    if (player.getSlayerTaskAmount() == iii) {
                        if (player.getSlayerMaster() == 1) {
                            player.setSlayerPoints(player.getSlayerPoints() + 5);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 5 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 2) {
                            player.setSlayerPoints(player.getSlayerPoints() + 10);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 10 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 3) {
                            player.setSlayerPoints(player.getSlayerPoints() + 75);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 75 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 4) {
                            player.setSlayerPoints(player.getSlayerPoints() + 125);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 125 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 5) {
                            player.setSlayerPoints(player.getSlayerPoints() + 250);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 250 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        }
                    }
                }
                for (int iiii : get500Points) {
                    if (player.getSlayerTaskAmount() == iiii) {
                        if (player.getSlayerMaster() == 1) {
                            player.setSlayerPoints(player.getSlayerPoints() + 10);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 10 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 2) {
                            player.setSlayerPoints(player.getSlayerPoints() + 15);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 15 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 3) {
                            player.setSlayerPoints(player.getSlayerPoints() + 150);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 150 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 4) {
                            player.setSlayerPoints(player.getSlayerPoints() + 250);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 250 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 5) {
                            player.setSlayerPoints(player.getSlayerPoints() + 500);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 500 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        }
                    }
                }
                for (int iiiii : get10Points) {
                    if (player.getSlayerTaskAmount() != iiiii && player.hasTask == true) {
                        if (player.getSlayerMaster() == 1) {
                            player.setSlayerPoints(player.getSlayerPoints() + 1);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 1 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 2) {
                            player.setSlayerPoints(player.getSlayerPoints() + 2);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 2 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 3) {
                            player.setSlayerPoints(player.getSlayerPoints() + 10);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 10 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 4) {
                            player.setSlayerPoints(player.getSlayerPoints() + 15);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 15 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        } else if (player.getSlayerMaster() == 5) {
                            player.setSlayerPoints(player.getSlayerPoints() + 18);
                            player.getPackets().sendGameMessage("You have completed " + player.slayerTaskAmount + " Slayer Tasks in a row and receive 18 Slayer Points!");
                            player.getPackets().sendGameMessage("You have finished your slayer task, talk to a slayer master for a new one.");
                            player.hasTask = false;
                        }
                    }
                }
            }
        }
    }
    Slayer.java
    Code:
    package com.rs.game.player.actions.slayer;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    import com.rs.game.player.Player;
    import com.rs.utils.Utils;
    
    public class Slayer {
    
        Player player;
    
        public static void handlePointsInterface(final Player p, int interfaceId, int buttonId) {
            int currentPoints = p.getSlayerPoints();
            switch (interfaceId) {
                case 161:
                    switch (buttonId) {
                        case 14: // "Learn" button.
                            p.getPackets().sendGameMessage("Available soon.");
                            break;
    
                        case 15: // "Buy" button.
                            p.getPackets().sendGameMessage("Available soon.");
                            break;
                        case 26: // Cancel Slayer Task.
                        case 23:
                            if (currentPoints < 15) {
                                p.getPackets().sendGameMessage("You need atleast 15 Slayer points to cancel your Slayer task.");
                                break;
                            }
                            if (p.hasTask == false) {
                                p.getPackets().sendGameMessage("You are not currently assigned a Slayer task.");
                                break;
                            }
                            p.setSlayerPoints(currentPoints - 15);
                            showInterface(p);
                            p.getPackets().sendGameMessage("You have cancelled your slayer task.");
                            p.hasTask = false;
                            break;
    
                        case 24: // Permanently remove current task.
                            p.getPackets().sendGameMessage("Currently Under Development.");
                            break;
                    }
                    break;
            }
        }
    
        public static void showInterface(Player p) {
            p.getPackets().sendIComponentText(161, 19, " " + p.getSlayerPoints());
            p.getPackets().sendIComponentText(161, 23, "Cancel your current assignment.");
            p.getPackets().sendIComponentText(161, 24, "Permentatly block current assignment.");
            p.getPackets().sendIComponentText(161, 26, "15 Points");
            p.getPackets().sendIComponentText(161, 27, "50 Points");
            p.getInterfaceManager().sendInterface(161);
        }
    
        /**
         * 0 = Hello 1 = Option
         *
         * OTHER 2 = For your first task I'm assigning you to 3 = You still have a
         * task 4 = Great your doing great, Your new task is
         */
        public static String assignTask(Player player, SlayerMaster master) {
            player.hasTask = true;
            SlayerTask tasks = player.slayerTask;
            checkLevel(player, master);
            return tasks.getTaskMonstersLeft() + " " + tasks.getTask().simpleName;
        }
    
        public static void checkLevel(Player player, SlayerMaster master) {
            SlayerTask tasks = player.slayerTask;
            List<SlayerTasks> possibleTasks = new ArrayList<SlayerTasks>();
            for (SlayerTasks task : SlayerTasks.values()) {
                if (task.type == master.type) {
                    possibleTasks.add(task);
                }
            }
            if (possibleTasks.isEmpty()) {
                return;
            }
            for (int i = 0; i < 10; i++) {
                SlayerTasks task = possibleTasks.get(i);
                Collections.shuffle(possibleTasks);
                if (player.getSkills().getLevel(18) < task.level) {
                    player.getPackets().sendGameMessage("Too low of a slayer level...");
                    Collections.shuffle(possibleTasks);
                } else {
                    tasks.setTask(task);
                    player.setSlayerMaster(master.masterID);
                    tasks.setMonstersLeft(Utils.random(tasks.getTask().min, tasks.getTask().max));
                }
            }
        }
    }
    TaskSet.java

    Code:
    package com.rs.game.player.actions.slayer;
    
    public enum TaskSet {
    	TURAEL, // Level 1 Slayer & 3 combat.
            MAZ, // level 20 combat level 1 slayer
            CHAELDAR, //Level 70 Combat level 1 slayer
            DURADEL, //Level 50 Slayer, Level 100 combat
            KURADEL; //Level 75 Slayer, Level 115 Combat
    }
    Player.java

    Code:
    //slayer
    	public boolean hasTask = false;
            public int slayerTaskAmount = 0;
    	public int slayerPoints = 0;
    
            public void setSlayerTaskAmount(int amount) {
                this.slayerTaskAmount = amount;
            }
            public int getSlayerTaskAmount() {
                return slayerTaskAmount;
            }
            public void setSlayerPoints(int points) {
                this.slayerPoints = points;
            }
            public int getSlayerPoints() {
                return slayerPoints;
            }
            
            public int master;
            
            public int getSlayerMaster() {
                return master;
            }
            public void setSlayerMaster(int masta) {
                this.master = masta;
            }
            public void defaultSettings() {
                removedSlayerTasks = new String[5];
                for (int i = 0; i < removedSlayerTasks.length; i++) {
    		removedSlayerTasks[i] = "-";
                }
            }
            public static String[] removedSlayerTasks;
            public void setRemovedSlayerTask(int index, String monster) {
    		this.removedSlayerTasks[index] = monster;
    	}
    
    	public String[] getRemovedSlayerTasks() {
    		return removedSlayerTasks;
    	}
    
    	public void setRemovedSlayerTask(String[] tasks) {
    		removedSlayerTasks = tasks;
    	}
    Kuradel.java

    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.cache.loaders.NPCDefinitions;
    import com.rs.game.player.actions.slayer.Slayer;
    import com.rs.game.player.actions.slayer.SlayerMaster;
    
    public class Kuradel extends Dialogue {
    
        /**
         * Starts the dialogue
         */
        public Kuradel() {
        }
    
        @Override
        public void start() {
            npcId = 9085;
            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Hello, brave warrior. What would you like?"}, (byte) 1, npcId, 9827);
        }
    
        /**
         * Runs the dialogue
         */
        @Override
        public void run(int interfaceId, int componentId) {
            if (stage == -1) {
                stage = 0;
                sendOptionsDialogue("What would you like to say?", "I would like a slayer task.", "What is my current slayer task?", "Can I cancel my curren task?");
            } else if (stage == 0) {
                if (componentId == OPTION_1) {
                    if (player.getSkills().getCombatLevel() >= 110 && player.getSkills().getLevel(18) >= 75) {
                        if (player.hasTask == false) {
                            Slayer.assignTask(player, SlayerMaster.KURADEL);
                            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(9085).name, "Your slayer task is to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 9085, 9827);
                        } else {
                            sendEntityDialogue((short) 243, new String[]{NPCDefinitions.getNPCDefinitions(9085).name, "You already have a slayer task! ", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 9085, 9827);
                        }
                    } else if (player.getSkills().getCombatLevel() < 110 && player.getSkills().getLevel(18) < 75){
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast level 110 combat and 75 Slayer to use me."}, (byte) 1, npcId, 9827);
                    } else if (player.getSkills().getCombatLevel() >= 110 && player.getSkills().getLevel(18) < 75) {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast 75 Slayer to use me."}, (byte) 1, npcId, 9827);
                    } else if (player.getSkills().getCombatLevel() < 110 && player.getSkills().getLevel(18) >= 75) {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast 110 combat to use me."}, (byte) 1, npcId, 9827);
                    }
                } else if (componentId == OPTION_2) {
                    if (player.hasTask == true) {
                        sendEntityDialogue((short) 242, new String[]{NPCDefinitions.getNPCDefinitions(9085).name, "You have a short memory, don't you?", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 9085, 9827);
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(9085).name, "Foolish warrior. You don't have a slayer task!"}, (byte) 1, 9085, 9827);
                    }
                    stage = -1;
    
                } else if (componentId == OPTION_3) {
                    Slayer.showInterface(player);
                    end();
                } else {
                    end();
                }
            }
        }
    
        @Override
        public void finish() {
        }
        /**
         * Declares the npc ID
         */
        private int npcId;
    }
    Duradel.java

    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.cache.loaders.NPCDefinitions;
    import com.rs.game.player.actions.slayer.Slayer;
    import com.rs.game.player.actions.slayer.SlayerMaster;
    
    public class Duradel extends Dialogue {
    
        /**
         * Starts the dialogue
         */
        public Duradel() {
        }
    
        @Override
        public void start() {
            npcId = ((Integer) parameters[0]).intValue();
            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Hello, brave warrior. What would you like?"}, (byte) 1, npcId, 9827);
        }
    
        /**
         * Runs the dialogue
         */
        @Override
        public void run(int interfaceId, int componentId) {
            if (stage == -1) {
                stage = 0;
                sendOptionsDialogue("What would you like to say?", "I would like a slayer task.", "What is my current slayer task?", "Can I cancel my curren task?");
            } else if (stage == 0) {
                if (componentId == OPTION_1) {
                    if (player.getSkills().getCombatLevel() >= 100 && player.getSkills().getLevel(18) >= 50) {
                        if (player.hasTask == false) {
                            Slayer.assignTask(player, SlayerMaster.DURADEL);
                            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(8275).name, "Your slayer task is to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 8275, 9827);
                        } else {
                            sendEntityDialogue((short) 243, new String[]{NPCDefinitions.getNPCDefinitions(8275).name, "You already have a slayer task! ", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 8275, 9827);
                        }
                    } else if (player.getSkills().getCombatLevel() < 100 && player.getSkills().getLevel(18) < 50){
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast level 100 combat and 50 Slayer to use me."}, (byte) 1, npcId, 9827);
                    } else if (player.getSkills().getCombatLevel() >= 100 && player.getSkills().getLevel(18) < 50) {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast 50 Slayer to use me."}, (byte) 1, npcId, 9827);
                    } else if (player.getSkills().getCombatLevel() < 100 && player.getSkills().getLevel(18) >= 50) {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast 100 combat to use me."}, (byte) 1, npcId, 9827);
                    }
                } else if (componentId == OPTION_2) {
                    if (player.hasTask == true) {
                        sendEntityDialogue((short) 242, new String[]{NPCDefinitions.getNPCDefinitions(8275).name, "You have a short memory, don't you?", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 8275, 9827);
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(8275).name, "Foolish warrior. You don't have a slayer task!"}, (byte) 1, 8275, 9827);
                    }
                    stage = -1;
    
                } else if (componentId == OPTION_3) {
                    Slayer.showInterface(player);
                    end();
                } else {
                    end();
                }
            }
        }
    
        @Override
        public void finish() {
        }
        /**
         * Declares the npc ID
         */
        private int npcId;
    }
    Maz.java

    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.cache.loaders.NPCDefinitions;
    import com.rs.game.player.actions.slayer.Slayer;
    import com.rs.game.player.actions.slayer.SlayerMaster;
    
    public class Maz extends Dialogue {
    
        /**
         * Starts the dialogue
         */
        public Maz() {
        }
    
        @Override
        public void start() {
            npcId = ((Integer) parameters[0]).intValue();
            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Hello, brave warrior. What would you like?"}, (byte) 1, npcId, 9827);
        }
    
        /**
         * Runs the dialogue
         */
        @Override
        public void run(int interfaceId, int componentId) {
            if (stage == -1) {
                stage = 0;
                sendOptionsDialogue("What would you like to say?", "I would like a slayer task.", "What is my current slayer task?", "Can I cancel my curren task?");
            } else if (stage == 0) {
                if (componentId == OPTION_1) {
                    if (player.getSkills().getCombatLevel() >= 20) {
                        if (player.hasTask == false) {
                            Slayer.assignTask(player, SlayerMaster.TURAEL);
                            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(8274).name, "Your slayer task is to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 8274, 9827);
                        } else {
                            sendEntityDialogue((short) 243, new String[]{NPCDefinitions.getNPCDefinitions(8274).name, "You already have a slayer task! ", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 8274, 9827);
                        }
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast level 20 combat to use me."}, (byte) 1, npcId, 9827);
                    }
                } else if (componentId == OPTION_2) {
                    if (player.hasTask == true) {
                        sendEntityDialogue((short) 242, new String[]{NPCDefinitions.getNPCDefinitions(8274).name, "You have a short memory, don't you?", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 8274, 9827);
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(8274).name, "Foolish warrior. You don't have a slayer task!"}, (byte) 1, 8274, 9827);
                    }
                    stage = -1;
    
                } else if (componentId == OPTION_3) {
                    Slayer.showInterface(player);
                    end();
                } else {
                    end();
                }
            }
        }
    
        @Override
        public void finish() {
        }
        /**
         * Declares the npc ID
         */
        private int npcId;
    }
    Chaeldar.java

    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.cache.loaders.NPCDefinitions;
    import com.rs.game.player.actions.slayer.Slayer;
    import com.rs.game.player.actions.slayer.SlayerMaster;
    
    public class Chaeldar extends Dialogue {
    
        /**
         * Starts the dialogue
         */
        public Chaeldar() {
        }
    
        @Override
        public void start() {
            npcId = ((Integer) parameters[0]).intValue();
            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Hello, brave warrior. What would you like?"}, (byte) 1, npcId, 9827);
        }
    
        /**
         * Runs the dialogue
         */
        @Override
        public void run(int interfaceId, int componentId) {
            if (stage == -1) {
                stage = 0;
                sendOptionsDialogue("What would you like to say?", "I would like a slayer task.", "What is my current slayer task?", "Can I cancel my curren task?");
            } else if (stage == 0) {
                if (componentId == OPTION_1) {
                    if (player.getSkills().getCombatLevel() >= 70) {
                        if (player.hasTask == false) {
                            Slayer.assignTask(player, SlayerMaster.CHAELDAR);
                            sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(1598).name, "Your slayer task is to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 1598, 9827);
                        } else {
                            sendEntityDialogue((short) 243, new String[]{NPCDefinitions.getNPCDefinitions(1598).name, "You already have a slayer task! ", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 1598, 9827);
                        }
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(npcId).name, "Sorry, you need atleast level 20 combat to use me."}, (byte) 1, npcId, 9827);
                    }
                } else if (componentId == OPTION_2) {
                    if (player.hasTask == true) {
                        sendEntityDialogue((short) 242, new String[]{NPCDefinitions.getNPCDefinitions(1598).name, "You have a short memory, don't you?", "You need to kill " + player.slayerTask.getTaskMonstersLeft() + " " + player.slayerTask.getTask().simpleName}, (byte) 1, 1598, 9827);
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(1598).name, "Foolish warrior. You don't have a slayer task!"}, (byte) 1, 1598, 9827);
                    }
                    stage = -1;
    
                } else if (componentId == OPTION_3) {
                    Slayer.showInterface(player);
                    end();
                } else {
                    end();
                }
            }
        }
    
        @Override
        public void finish() {
        }
        /**
         * Declares the npc ID
         */
        private int npcId;
    }
    Turael.java

    Code:
    package com.rs.game.player.dialogues;
    
    import com.rs.cache.loaders.NPCDefinitions;
    import com.rs.game.player.actions.slayer.Slayer;
    import com.rs.game.player.actions.slayer.SlayerMaster;
    
    public class Turael extends Dialogue {
    
        /**
         * Starts the dialogue
         */
        public Turael() {
        }
    
        @Override
        public void start() {
            npcId = ((Integer) parameters[0]).intValue();
            sendEntityDialogue((short) 241,new String[]{NPCDefinitions.getNPCDefinitions(npcId).name,"Hello, brave warrior. What would you like?"},(byte) 1, npcId, 9827);
        }
    
        /**
         * Runs the dialogue
         */
        @Override
        public void run(int interfaceId, int componentId) {
            if (stage == -1) {
                stage = 0;
                sendOptionsDialogue("What would you like to say?","I would like a slayer task.","What is my current slayer task?", "Can I cancel my curren task?");
            } else if (stage == 0) {
                if (componentId == OPTION_1) {
                    if (player.hasTask == false) {
                        Slayer.assignTask(player, SlayerMaster.TURAEL);
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(8273).name,"Your slayer task is to kill "+ player.slayerTask.getTaskMonstersLeft()+ " "+ player.slayerTask.getTask().simpleName}, (byte) 1, 8273, 9827);
                    } else {
                        sendEntityDialogue((short) 243,new String[]{NPCDefinitions.getNPCDefinitions(8273).name,"You already have a slayer task! ","You need to kill "+ player.slayerTask.getTaskMonstersLeft()+ " "+ player.slayerTask.getTask().simpleName},(byte) 1, 8273, 9827);
                    }
                } else if (componentId == OPTION_2) {
                    if (player.hasTask == true) {
                        sendEntityDialogue((short) 242, new String[]{NPCDefinitions.getNPCDefinitions(8273).name,"You have a short memory, don't you?","You need to kill "+ player.slayerTask.getTaskMonstersLeft() + " "+ player.slayerTask.getTask().simpleName}, (byte) 1, 8273, 9827);
                    } else {
                        sendEntityDialogue((short) 241, new String[]{NPCDefinitions.getNPCDefinitions(8273).name,"Foolish warrior. You don't have a slayer task!"},(byte) 1, 8273, 9827);
                    }
                    stage = -1;
                    
                } else if (componentId == OPTION_3) {
                    Slayer.showInterface(player);
                    end();
                } else {
                    end();
                }
            }
        }
    
        @Override
        public void finish() {
        }
        /**
         * Declares the npc ID
         */
        private int npcId;
    }
    DialogueHandler.java

    Code:
    handledDialogues.put("Turael", (Class<Dialogue>) Class.forName(Turael.class.getCanonicalName()));
                            handledDialogues.put("Maz", (Class<Dialogue>) Class.forName(Maz.class.getCanonicalName()));
                            handledDialogues.put("Duradel", (Class<Dialogue>) Class.forName(Duradel.class.getCanonicalName()));
                            handledDialogues.put("Kuradel", (Class<Dialogue>) Class.forName(Kuradel.class.getCanonicalName()));
                            handledDialogues.put("Chaeldar", (Class<Dialogue>) Class.forName(Chaeldar.class.getCanonicalName()));
    NPCHandler.java

    Code:
    else if (npc.getId() == 8273)
                                            player.getDialogueManager().startDialogue("Turael", npc.getId(), null);
                                    else if (npc.getId() == 8274)
                                            player.getDialogueManager().startDialogue("Maz", npc.getId(), null);
                                    else if (npc.getId() == 9085)
                                            player.getDialogueManager().startDialogue("Kuradel", npc.getId(), null);
                                    else if (npc.getId() == 8275)
                                            player.getDialogueManager().startDialogue("Duradel", npc.getId(), null);
                                    else if (npc.getId() == 1598)
                                            player.getDialogueManager().startDialogue("Chaeldar", npc.getId(), null);
    SlayerMaster.java

    Code:
    package com.rs.game.player.actions.slayer;
    
    import java.util.HashMap;
    import java.util.Map;
    
    public enum SlayerMaster {
    	TURAEL(TaskSet.TURAEL, 8273, 3, 1, 1),
            MAZ(TaskSet.MAZ, 8274, 20, 1, 2),
            CHAELDAR(TaskSet.CHAELDAR, 1598, 70, 1, 3),
            DURADEL(TaskSet.DURADEL, 8275, 100, 50, 4),
            KURADEL(TaskSet.KURADEL, 9085, 115, 75, 5);
            
    
    	/**
    	 * The slayer master map Integer is the npc id
    	 */
    	public static final Map<Integer, SlayerMaster> SLAYER_MASTERS = new HashMap<Integer, SlayerMaster>();
    
    	/**
    	 * Grab a slayer master by id
    	 * 
    	 * @param id
    	 * @return
    	 */
    	public static SlayerMaster getMaster(int id) {
    		return SLAYER_MASTERS.get(id);
    	}
    
    	/**
    	 * Populate the mapping.
    	 */
    	static {
    		for (SlayerMaster master : SlayerMaster.values()) {
    			SLAYER_MASTERS.put(master.npcId, master);
    		}
    	}
    
    	private SlayerMaster(TaskSet type, int npcId, int requiredCombatLevel, int requiredSlayerLevel, int slayerMasterID) {
    		this.type = type;
    		this.npcId = npcId;
    		this.requiredCombatLevel = requiredCombatLevel;
                    this.reqSlayerLevel = requiredSlayerLevel;
                    this.masterID = slayerMasterID;
    	}
    
    	/**
    	 * The NPC id of the slayer master
    	 */
    	public int npcId;
    	/**
    	 * The task set that the slayer master assigns
    	 */
    	public TaskSet type;
    	/**
    	 * The combat level required to get tasks from this slayer master
    	 */
    	public int requiredCombatLevel;
            /*
             * The slayer level required
             */
            public int reqSlayerLevel;
            
            /*
             * Used for point system
             */
            public int masterID;
    }
    When creating the slayer point system, I was thinking of a way to get what slayer master the player is currently using, so I decided to assign a number to each slayer master in the enum, this was an easy way to get the slayer masters... It may not be the best way to do it, but it works

    You all can take it from here, fix up my work, make it into your own, I don't really care, I'm just contributing to the community, hate,flame, judge my work, I don't care, just enjoy!
    Last edited by 562 Retard; 01-31-2013 at 09:03 PM. Reason: Forgot a file :)
    Reply With Quote  
     


  2. #2  
    Registered Member
    Join Date
    Jan 2013
    Posts
    208
    Thanks given
    105
    Thanks received
    14
    Rep Power
    15
    awesome,
    thanks for the contribution
    Reply With Quote  
     

  3. #3  
    Registered Member

    Join Date
    Jan 2013
    Age
    26
    Posts
    787
    Thanks given
    174
    Thanks received
    174
    Rep Power
    374
    Awesome, gj bro
    Reply With Quote  
     

  4. #4  
    Donator

    Josh''s Avatar
    Join Date
    Jul 2012
    Age
    26
    Posts
    2,036
    Thanks given
    1,119
    Thanks received
    520
    Rep Power
    192
    Nice work, I won't use all of this as i'm nearly done Slayer, but I'll surely use some of it!

    EDIT: Taken you're SlayerTask.Java
    Reply With Quote  
     

  5. #5  
    Donator

    Jason's Avatar
    Join Date
    Aug 2009
    Posts
    6,092
    Thanks given
    2,402
    Thanks received
    2,823
    Rep Power
    4550
    At first when I only saw the Enum I was going to troll the fuck out of you but as I continued I realized you did a pre good job. Nice contribution.
    Reply With Quote  
     

  6. Thankful user:


  7. #6  
    Registered Member Lord's Avatar
    Join Date
    Jul 2012
    Posts
    603
    Thanks given
    5
    Thanks received
    20
    Rep Power
    10
    Thanks for contributing, not gonna use.
    Reply With Quote  
     

  8. #7  
    Donator

    Join Date
    Feb 2012
    Posts
    240
    Thanks given
    13
    Thanks received
    9
    Rep Power
    11
    Missing a variable in Player.java, causes 40 errors.
    Reply With Quote  
     

  9. #8  
    Banned

    Join Date
    Jul 2011
    Posts
    691
    Thanks given
    163
    Thanks received
    161
    Rep Power
    0
    Code:
    private static final long serialVersionUID = -7184740247844324413L;
    It was basically the only variable missing a comment, may i ask what its for?
    Reply With Quote  
     

  10. #9  
    Banned
    Join Date
    Mar 2012
    Posts
    45
    Thanks given
    25
    Thanks received
    7
    Rep Power
    0
    Code:
    player.setSlayerMaster(master.masterID);
    Could you post your "masterID" method?
    Reply With Quote  
     

  11. #10  
    Banned
    Join Date
    Nov 2012
    Posts
    122
    Thanks given
    17
    Thanks received
    11
    Rep Power
    0
    Not bad.
    Reply With Quote  
     

Page 1 of 7 123 ... LastLast

Thread Information
Users Browsing this Thread

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


User Tag List

Similar Threads

  1. [Basics]Multi-dimensional Arrays[Basics]
    By .Scott in forum Tutorials
    Replies: 11
    Last Post: 12-27-2012, 06:37 AM
  2. Replies: 2
    Last Post: 05-06-2011, 03:24 PM
  3. [PI] Slayer Shop and Slayer Points
    By Mark in forum Help
    Replies: 2
    Last Post: 04-16-2011, 01:57 PM
  4. Replies: 6
    Last Post: 10-29-2009, 09:32 AM
Tags for this Thread

View Tag Cloud

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