Thread: [718] Slayer

Results 1 to 3 of 3
  1. #1 [718] Slayer 
    Donator
    ExoriaRSPS's Avatar
    Join Date
    Apr 2022
    Posts
    14
    Thanks given
    0
    Thanks received
    5
    Rep Power
    36
    Slayer.java

    Code:
    package com.exoria.game.player.actions;
    
    import java.io.Serializable;
    
    import com.exoria.game.npc.NPC;
    import com.exoria.game.player.Player;
    import com.exoria.game.player.Skills;
    import com.exoria.utils.Utils;
    
    public class Slayer {
    
    	/**
    	 * @author aksel
    	 * @since 5/8/22
    	 *  @Version 0.1
    	 *  @updated 6/10/22 - more mobs and code cleanup
    	 */
    
    	public enum Master {
    
    		/**
    		 * spira - no req Chaeldar - 75 cb Duradel - 100 cb Kuradal - 110 cb 90 slayer
    		 */
    
    		/**
    		 * key - name, npcid, combatlevel, levelreqired, taskmin, taskmax, npcnames
    		 */
    		SPRIA(8462, 3, 1, new int[] { 10, 30 }, "Hobgoblin", "Giant bat", "Cave crawler", "Cow",
    				"Cockatrice", "Rock crab", "Hill giant", "Ice warrior", "Rockslug", "Pyrefiend"),
    
    		CHAELDAR(1598, 3, 1, new int[] { 20, 60 }, "Hobgoblin", "Red dragon",
    				"Basilisk", "Bloodveld", "Blue dragon", "Bronze Dragon", "Cave crawler", "Cockatrice", "Dust devil",
    				"Fire giant", "Gargoyle", "Green dragon", "Hellhound", "Hill giant", "Ice giant", "Ice warrior",
    				"Infernal mage", "Jelly", "Kurask", "Lesser demon", "Moss giant", "Pyrefiend", "Rockslug",
    				"Turoth", "Black demon", "Greater demon", "Iron dragon", "Steel dragon", "Skeletal wyvern"),
    
    		DURADEL(8466, 3, 1, new int[] { 40, 100 }, "Waterfiend", "Abyssal demon", "Red dragon",
    				"Black demon", "Black dragon", "Bloodveld", "Blue Dragon", "Green dragon", "Dark beast",
    				"Dust devil", "Fire giant", "Glacor", "Ganodermic beast", "Frost dragon", "Ice strykewyrm",
    				"Mutated jadinko male", "Gargoyle", "Greater demon", "Hellhound", "Iron Dragon", "Kurask",
    				"Mithril dragon", "Skeletal wyvern", "Steel dragon", "Turoth"),
    
    		KURADAL(9085, 3, 1, new int[] { 3, 30 }, "Pest queen", "Kree'arra", "General graardor", "K'ril tsutsaroth",
    				"Commander zilyana", "Nex", "Kalphite queen", "Corporeal beast", "Giant mole", "Bork", "The kendal",
    				"King black dragon", "Char", "Sea troll queen", "Barrelchest", "Wildywyrm", "Chaos elemental",
    				"Dagannoth kings", "Tormented demon", "Sunfreet"),
    
    		SUMONA(7780, 3, 1, new int[] { 5, 50 }, "Pest queen", "Kree'arra", "General graardor", "Commander zilyana",
    				"Nex", "Kalphite queen", "Corporeal beast", "K'ril tsutsaroth", "Char", "Sea troll queen", "Barrelchest", "Wildywyrm",
    				"Chaos elemental", "Dagannoth kings", "Tormented demon", "Sunfreet");
    
    		private int master;
    		private int combatLevel;
    		private int levelRequired;
    		private int[] taskamount;
    		private Object[] tasks;
    
    		private Master(int master, int combatLevel, int levelRequired, int[] range, Object... tasks) {
    			this.combatLevel = combatLevel;
    			this.levelRequired = levelRequired;
    			this.taskamount = range;
    			this.tasks = tasks;
    			this.master = master;
    		}
    
    		public int getMaster() {
    			return master;
    		}
    
    		public int getCombatLevel() {
    			return combatLevel;
    		}
    
    		public int getLevelRequired() {
    			return levelRequired;
    		}
    
    		public int[] getRange() {
    			return taskamount;
    		}
    
    		public Object[] getTasks() {
    			return tasks;
    		}
    
    		public static Master forId(int npcId) {
    			for (Master master : Master.values()) {
    				if (master.getMaster() == npcId)
    					return master;
    			}
    			return null;
    		}
    	}
    
    	public static class SlayerTask implements Serializable {
    
    		private static final long serialVersionUID = 3925639922342382315L;
    		private Master master;
    		private int index;
    		private int amount;
    
    		public SlayerTask(Master master, int index, int amount) {
    			this.master = master;
    			this.index = index;
    			this.amount = amount;
    		}
    
    		public void setMaster(Master master) {
    			this.master = master;
    		}
    
    		public void setIndex(int index) {
    			this.index = index;
    		}
    
    		public void setAmount(int amount) {
    			this.amount = amount;
    		}
    
    		public Master getMaster() {
    			return master;
    		}
    
    		public int getIndex() {
    			return index;
    		}
    
    		public int getAmount() {
    			return amount;
    		}
    
    		public String getName() {
    			try {
    				return master.getTasks()[getIndex()].toString();
    			} catch (ArrayIndexOutOfBoundsException e) {
    			}
    			return "<col=ff0000> - If you see this get a new task</col>";
    		}
    	}
    
    	public static void submitRandomTask(Player player, Master master) {
    		SlayerTask task = null;
    		if (master == null) {
    			player.setSlayerMaster(master);
    			master = player.getSlayerMaster();
    		}
    		if (player.getSlayerMaster() != master) {
    			player.setSlayerMaster(master);
    		}
    		int index = Utils.getRandom(master.getTasks().length);
    		int amount = Utils.random(master.getRange()[0], master.getRange()[1]);
    		task = new SlayerTask(master, index, amount);
    		if (player.getSlayerTask() == null)
    			player.setSlayerTask(task);
    	}
    
    	/**
    	 *  @Param player
    	 *  @Param npc
    	 */
    	public static void killedTask(Player player, NPC npc) {
    		SlayerTask task = player.getSlayerTask();
    		task.setAmount(task.getAmount() - 1);
    		player.getSkills().addXp(Skills.SLAYER, npc.getCombatDefinitions().getHitpoints() / 10);
    		Master master = player.getSlayerMaster();
    		int bonus = 40 + Utils.random(10);
    		int bonus2 = 50 + Utils.random(20);
    		if (task.getAmount() == 0) {
    			task = null;
    			player.setSlayerTask(task);
    			player.addFinishedTask(1);
    			switch (master) {
    				case SPRIA:
    					player.addSlayerPoints(8);
    					player.setLowSlayer(player.getLowSlayer() + 1);
    					player.getPackets().sendGameMessage("You have completed your task and gain 8 points.");
    					player.getPackets()
    							.sendGameMessage("You have completed " + player.getLowSlayer() + " Low slayer tasks.");
    					break;
    				case CHAELDAR:
    					player.addSlayerPoints(15);
    					player.setMedSlayer(player.getMedSlayer() + 1);
    					player.getPackets().sendGameMessage("You have completed your task and gain 15 points.");
    					player.getPackets()
    							.sendGameMessage("You have completed " + player.getMedSlayer() + " Medium slayer tasks.");
    					break;
    				case DURADEL:
    					player.addSlayerPoints(25);
    					player.setHighSlayer(player.getHighSlayer() + 1);
    					player.getPackets().sendGameMessage("You have completed your task and gain 25 points.");
    					player.getPackets()
    							.sendGameMessage("You have completed " + player.getHighSlayer() + " High slayer tasks.");
    					break;
    				case KURADAL:
    					player.addSlayerPoints(bonus);
    					player.setBossSlayer(player.getBossSlayer() + 1);
    					player.getPackets().sendGameMessage("You have completed your task and gain " + bonus + " points.");
    					player.getPackets()
    							.sendGameMessage("You have completed " + player.getBossSlayer() + " Boss slayer tasks.");
    					break;
    				case SUMONA:
    					player.addSlayerPoints(bonus2);
    					player.setBossSlayer(player.getBossSlayer() + 1);
    					player.getPackets().sendGameMessage("You have completed your task and gain " + bonus2 + " points.");
    					player.getPackets()
    							.sendGameMessage("You have completed " + player.getBossSlayer() + " Boss slayer tasks.");
    					break;
    			}
    		}
    	}
    }

    SlayerReward.java

    Code:
    package com.exoria.game.player.dialogues.slayer;
    
    import com.exoria.cache.loaders.ItemDefinitions;
    import com.exoria.game.player.Skills;
    import com.exoria.game.player.dialogues.Dialogue;
    
    public class SlayerReward extends Dialogue {
    
    	/**
    	 * @author Aksel
    	 * @since 5/23/22
    	 *  @contact [email protected]
    	 */
    
    	private int rewardId;
    	private int rewardPrice;
    
    	@Override
    	public void start() {
    		rewardId = (Integer) parameters[0];
    		rewardPrice = (Integer) parameters[1];
    		switch (rewardId) {
    			case 1337:
    				sendOptionsDialogue(
    						"Buy Small amount of XP for " + rewardPrice + " Slayer points?",
    						"<col=ff0000>Buy", "Cancel");
    				break;
    			case 1338:
    				sendOptionsDialogue(
    						"Buy Large amount of XP for " + rewardPrice + " Slayer points?",
    						"<col=ff0000>Buy", "Cancel");
    				break;
    			case 6:
    				sendOptionsDialogue(
    						"Buy Dwarf Cannon Set for " + rewardPrice + " Slayer points?",
    						"<col=ff0000>Buy", "Cancel");
    				break;
    			default:
    				sendOptionsDialogue(
    						"Buy " + ItemDefinitions.forId(rewardId).getName() + " for " + rewardPrice + " Slayer points?",
    						"<col=ff0000>Buy", "Cancel");
    				break;
    		}
    	}
    
    	@Override
    	public void run(int interfaceId, int componentId) {
    		switch (componentId) {
    			case OPTION_1:
    				if (player.getSlayerPoints() < rewardPrice) {
    					player.out("You do not have enough points for this reward. You have " + player.getSlayerPoints()
    							+ " and you need " + rewardPrice + ".");
    					end();
    					return;
    				}
    				switch (rewardId) {
    					case 15497:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    					case 6:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(6, 1);
    						player.getInventory().addItem(8, 1);
    						player.getInventory().addItem(10, 1);
    						player.getInventory().addItem(12, 1);
    						end();
    						break;
    					case 1337:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getSkills().addXp(Skills.SLAYER, 2000);
    						end();
    						break;
    					case 1338:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getSkills().addXp(Skills.SLAYER, 10000);
    						end();
    						break;
    					case 4164:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    					case 4151:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    					case 22532:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    					case 22538:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    					case 22544:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    					case 22550:
    						player.setSlayerPoints(player.getSlayerPoints() - rewardPrice);
    						player.getInventory().addItem(rewardId, 1);
    						end();
    						break;
    				}
    				break;
    			case OPTION_2:
    				end();
    				break;
    		}
    	}
    
    	@Override
    	public void finish() {
    
    	}
    
    }

    SlayerTele.java

    Code:
    package com.exoria.game.player.dialogues.slayer;
    
    import com.exoria.game.WorldTile;
    import com.exoria.game.player.content.Magic;
    import com.exoria.game.player.dialogues.Dialogue;
    
    public class SlayerTele extends Dialogue {
    
    
    	@Override
    	public void start() {
    		sendOptionsDialogue("Slayer Teleports", "Brimhaven Dung",
    				"Slayer Tower", "Fremennik Slayer Cave", "Ancient Caverns", "Ice Dung");
    	}
    
    	@Override
    	public void run(int interfaceId, int componentId) {
    		switch (componentId) {
    		case OPTION_1:
    			teleportPlayer(2744, 3150, 0);
    			end();
    			break;
    		case OPTION_2:
    			teleportPlayer(3428, 3532, 0);
    			end();
    			break;
    		case OPTION_3:
    			teleportPlayer(2804, 10002, 0);
    			end();
    			break;
    		case OPTION_4:
    			teleportPlayer(1764, 5365, 1);
    			end();
    			break;
    		case OPTION_5:
    			teleportPlayer(3006, 9549, 0);
    			end();
    			break;
    		}
    	}
    
    	private void teleportPlayer(int x, int y, int z) {
    		Magic.sendNormalTeleportSpell(player, 0, 0.0D, new WorldTile(x, y, z), new int[0]);
    		player.stopAll();
    	}
    	
    	@Override
    	public void finish() {
    
    	}
    
    }

    SlayerD.java

    Code:
    package com.exoria.game.player.dialogues;
    
    import com.exoria.game.player.content.TaskTele;
    import com.exoria.game.player.content.interfaces.SlayerInter;
    import com.exoria.game.player.content.interfaces.SlayerMasterInter;
    
    public class SlayerD extends Dialogue {
    
    	int npcId;
    
    	@Override
    	public void start() {
    		npcId = (Integer) parameters[0];
    		sendOptionsDialogue("What would you like to do?", "Give me a new task", "Reset Task (FREE)", "Rewards", "Teleport to Task");
    		stage = 2;
    	}
    
    	@Override
    	public void run(int interfaceId, int c) {
    		if (stage == 2) {
    			switch (c) {
    			case OPTION_1:
    				end();
    				SlayerMasterInter.send(player);
    				break;
    			case OPTION_2:
    				player.setSlayerTask(null);
    				player.out("You reset your slayer task.");
    				end();
    				break;
    			case OPTION_3:
    				SlayerInter.send(player);
    				end();
    				break;
    			case OPTION_4:
    				String task = player.getSlayerTask().getName();
    				TaskTele.teleportPlayerToTask(player, task);
    				end();
    				break;
    			}
    		}
    	}
    
    	@Override
    	public void finish() {
    
    	}
    }


    SlayerHubInter.java

    Code:
    package com.exoria.game.player.content.interfaces;
    
    import com.exoria.game.player.Player;
    import com.exoria.game.player.content.TaskTele;
    
    public class SlayerHubInter {
    
        public static void send(Player player) {
            player.getInterfaceManager().sendInterface(1329);
        }
    
        public static void handle(Player player, int c) {
            switch (c) {
                case 18:
                    SlayerMasterInter.send(player);
                    break;
    
                case 20:
                    TaskTele.teleportPlayerToTask(player, player.getSlayerTask().getName());
                    break;
    
                case 22:
                    SlayerInter.send(player);
                    break;
            }
        }
    
    }

    SlayerInter.java

    Code:
    package com.exoria.game.player.content.interfaces;
    
    import java.text.MessageFormat;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.NavigableMap;
    import java.util.TreeMap;
    import java.util.Map.Entry;
    
    import com.exoria.cache.loaders.ItemDefinitions;
    import com.exoria.game.item.Item;
    import com.exoria.game.item.ItemsContainer;
    import com.exoria.game.player.Player;
    
    public class SlayerInter {
    
    	public enum SlayerRewards {
    		SLAYER_HELM(new int[] { 15497 }, 36, 400, "Slayer Helmet"),
    		RED_SLAYER_HELM(new int[] { 22532 }, 40, 550, "Red Slayer Helmet"),
    		BLUE_SLAYER_HELM(new int[] { 22538 }, 44, 550, "Blue Slayer Helmet"),
    		GREEN_SLAYER_HELM(new int[] { 22544 }, 48, 550, "Green Slayer Helmet"),
    		YELLOW_SLAYER_HELM(new int[] { 22550 }, 52, 550, "Yellow Slayer Helmet"),
    		DWARF_CANNON(new int[] { 6, 8, 10, 12 }, 56, 1500, "Dwarf Cannon Set"),
    		ABYSSAL_WHIP(new int[] { 4151 }, 60, 200, null),
    		FACE_MASK(new int[] { 4164 }, 64, 0, null),
    		ENCHANTED_GEM(new int[] { 4155 }, 68, 0, null),
    		TZKALTRADECERT(new int[] { 29837 }, 72, 2000, null);
    
    		private static Map<Integer, SlayerRewards> keySlotIds = new HashMap<Integer, SlayerRewards>();
    		private static Map<Integer, SlayerRewards> keyItemIds = new HashMap<Integer, SlayerRewards>();
    
    		public static SlayerRewards forSlotId(int id) {
    			return keySlotIds.get(id);
    		}
    
    		public static SlayerRewards forItemId(int id) {
    			return keyItemIds.get(id);
    		}
    
    		static {
    			for (SlayerRewards reward : SlayerRewards.values()) {
    				keySlotIds.put(reward.slotId, reward);
    				keyItemIds.put(reward.id[0], reward);
    			}
    		}
    
    		private int[] id;
    		private int cost;
    		private int slotId;
    		private String name;
    
    		private SlayerRewards(int[] id, int slotId, int cost, String nameOverride) {
    			this.id = id;
    			this.cost = cost;
    			this.slotId = slotId;
    			this.name = nameOverride == null ? ItemDefinitions.getItemDefinitions(id[0]).getName() : nameOverride;
    		}
    
    		public int[] getId() {
    			return id;
    		}
    
    		public String getName() {
    			return name;
    		}
    
    		public int getCost() {
    			return cost;
    		}
    
    		public int getSlotId() {
    			return slotId;
    		}
    	}
    
    	private static final NavigableMap<Long, String> suffixes = new TreeMap<>();
    	static {
    		suffixes.put(1_000L, "K");
    		suffixes.put(1_000_000L, "M");
    		suffixes.put(1_000_000_000L, "G");
    		suffixes.put(1_000_000_000_000L, "T");
    		suffixes.put(1_000_000_000_000_000L, "P");
    		suffixes.put(1_000_000_000_000_000_000L, "E");
    	}
    
    	public static String format(long value) {
    		if (value == Long.MIN_VALUE)
    			return format(Long.MIN_VALUE + 1);
    		if (value < 0)
    			return "-" + format(-value);
    		if (value < 1000)
    			return Long.toString(value);
    
    		Entry<Long, String> e = suffixes.floorEntry(value);
    		Long divideBy = e.getKey();
    		String suffix = e.getValue();
    
    		long truncated = value / (divideBy / 10);
    		boolean hasDecimal = truncated < 100 && (truncated / 10d) != (truncated / 10);
    		return hasDecimal ? (truncated / 10d) + suffix : (truncated / 10) + suffix;
    	}
    
    	public static void generateItemPreview(Player player, int slotId) {
    		selectedReward = SlayerRewards.forSlotId(slotId);
    
    		ItemsContainer<Item> itemImg = new ItemsContainer<>(1, true);
    		itemImg.add(new Item(selectedReward.id[0]));
    		player.getPackets().sendItems(1550, itemImg);
    		player.getPackets().sendItemsToContainer(1331, 22, 1550, 1, 1, 0, 150, "Examine");
    		player.getPackets().sendIComponentText(1331, 18, selectedReward.name);
    		player.getPackets().sendIComponentText(1331, 26, selectedReward.cost == 0 ? "FREE" : format(selectedReward.cost));
    
    		player.getPackets().sendHideIComponent(1331, 17, false);
    		player.getPackets().sendHideIComponent(1331, 23, false);
    		player.getPackets().sendHideIComponent(1331, 30, false);
    	}
    
    	public static SlayerRewards selectedReward = null;
    
    	public static void send(Player player) {
    		player.getInterfaceManager().sendInterface(1331);
    		player.getPackets().sendIComponentText(1331, 34, "Points: " + format(player.getSlayerPoints()));
    		int count = 0;
    		for (SlayerRewards reward : SlayerRewards.values()) {
    			player.getPackets().sendIComponentText(1331, reward.slotId + 3,
    					reward.cost == 0 ? "FREE" : format(reward.cost));
    			ItemsContainer<Item> itemImg = new ItemsContainer<>(1, true);
    			itemImg.add(new Item(reward.id[0]));
    			player.getPackets().sendItems(1500 + count, itemImg);
    			player.getPackets().sendItemsToContainer(1331, reward.slotId + 2, 1500 + count, 1, 1, 0, 150, "Examine");
    			player.getPackets().sendHideIComponent(1331, reward.slotId, false);
    			count++;
    		}
    	}
    
    	public static void handle(Player player, int c) {
    		switch (c) {
    			case 30:
    				if (selectedReward != null){
    					if (player.getSlayerPoints() < selectedReward.cost){
    						player.out("You do not have enough Slayer Points to purchase this.");
    						return;
    					}
    
    					if (player.getInventory().getFreeSlots() < selectedReward.id.length){
    						player.out("You need to clear some inventory space before purchasing this.");
    						return;
    					}
    
    					player.setSlayerPoints(player.getSlayerPoints() - selectedReward.cost);
    					for (int index = 0; index < selectedReward.id.length; index++) {
    						player.getInventory().addItem(selectedReward.id[index], 1);
    					}
    
    					player.out(MessageFormat.format("You have purchased 1x <col=00ff00>{0}</col>.", selectedReward.name));
    					player.getPackets().sendIComponentText(1331, 34, "Points: " + format(player.getSlayerPoints()));
    				}
    				break;
    
    			default:
    				generateItemPreview(player, c);
    				break;
    		}
    	}
    }

    SlayerMasterInter.java


    Code:
    package com.exoria.game.player.content.interfaces;
    
    import com.exoria.game.player.Player;
    import com.exoria.game.player.Skills;
    import com.exoria.game.player.actions.Slayer;
    
    public class SlayerMasterInter {
    	public static void send(Player player) {
    		player.getInterfaceManager().sendInterface(1330);
    		if (!player.isVip()) {
    			player.getPackets().sendHideIComponent(1330, 30, true);
    		}
    	}
    
    	public static void handle(Player player, int c) {
    		switch (c) {
    			case 18:
    				player.setSlayerTask(null);
    				Slayer.submitRandomTask(player, Slayer.Master.SPRIA);
    				try {
    					player.out("Your new task is to kill " + player.getSlayerTask().getAmount() + " "
    							+ player.getSlayerTask().getName().toLowerCase() + ".");
    				} catch (ArrayIndexOutOfBoundsException t) {
    				}
    				break;
    			case 21:
    				if (player.getSkills().getCombatLevel() < 75) {
    					player.out("You must be 75 combat level to get a Medium task.");
    					return;
    				}
    				player.setSlayerTask(null);
    				Slayer.submitRandomTask(player, Slayer.Master.CHAELDAR);
    				try {
    					player.out("Your new task is to kill " + player.getSlayerTask().getAmount() + " "
    							+ player.getSlayerTask().getName().toLowerCase() + ".");
    				} catch (ArrayIndexOutOfBoundsException t) {
    				}
    				break;
    			case 24:
    				if (player.getSkills().getCombatLevel() < 100) {
    					player.out("You must be 100 combat level to get a Hard task.");
    					return;
    				}
    				player.setSlayerTask(null);
    				Slayer.submitRandomTask(player, Slayer.Master.DURADEL);
    				try {
    					player.out("Your new task is to kill " + player.getSlayerTask().getAmount() + " "
    							+ player.getSlayerTask().getName().toLowerCase() + ".");
    				} catch (ArrayIndexOutOfBoundsException t) {
    				}
    				break;
    			case 27:
    				if (player.getSkills().getCombatLevel() < 110 & player.getSkills().getLevel(Skills.SLAYER) < 90) {
    					player.out("You must be 110 combat level & 90 slayer to get a Boss task.");
    					return;
    				}
    				player.setSlayerTask(null);
    				Slayer.submitRandomTask(player, Slayer.Master.KURADAL);
    				try {
    					player.out("Your new task is to kill " + player.getSlayerTask().getAmount() + " "
    							+ player.getSlayerTask().getName().toLowerCase() + ".");
    				} catch (ArrayIndexOutOfBoundsException t) {
    				}
    				break;
    			case 30:
    				if (!player.isVip()) {
    					player.out("You must be a VIP to use this!");
    					return;
    				}
    				if (player.getSkills().getCombatLevel() < 110 & player.getSkills().getLevel(Skills.SLAYER) < 90) {
    					player.out("You must be 110 combat level & 90 slayer to get a VIP task.");
    					return;
    				}
    				player.setSlayerTask(null);
    				Slayer.submitRandomTask(player, Slayer.Master.SUMONA);
    				try {
    					player.out("Your new task is to kill " + player.getSlayerTask().getAmount() + " "
    							+ player.getSlayerTask().getName().toLowerCase() + ".");
    				} catch (ArrayIndexOutOfBoundsException t) {
    				}
    				break;
    
    		}
    	}
    }





    Let me know if I missed anything. Otherwise, enjoy.


    This does have a coople of custom interfaces you will need to add. You are on your own for that one.
    Reply With Quote  
     

  2. #2  
    Christ is King

    Makar's Avatar
    Join Date
    Jul 2011
    Age
    29
    Posts
    2,004
    Thanks given
    545
    Thanks received
    965
    Rep Power
    427
    So you base this entire snippet off a custom interface that nobody has? Also what on earth is this suffix modifier for numbers? Is G standard for billion? Number suffixes should probably follow the names for the number as per here: https://infinityisland.fandom.com/wiki/Number_Suffixes
    Attached image
    The best open-source pre-eoc remake project that isn't in its early stages for once
    Darkan Client (727 Client Refactor)
    Darkan World Server
    “It would not be impossible to prove with sufficient repetition and a psychological understanding of the people concerned that a square is in fact a circle. They are mere words, and words can be molded until they clothe ideas and disguise.”
    Reply With Quote  
     

  3. #3  
    Registered Member
    Melvin's Avatar
    Join Date
    Aug 2011
    Posts
    1,150
    Thanks given
    546
    Thanks received
    418
    Rep Power
    1561
    back to the drawing board you go


    A creative man is motivated by the desire to achieve, not by the desire to beat others.”


    ― Ayn Rand
    Reply With Quote  
     

  4. Thankful user:



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. 718 slayer
    By JDM Reject in forum Help
    Replies: 6
    Last Post: 10-25-2012, 12:45 AM
  2. [718] Slayer help
    By The Watcher in forum Help
    Replies: 11
    Last Post: 10-04-2012, 09:48 PM
  3. 718 Slayer
    By ben7ohnsen in forum Help
    Replies: 0
    Last Post: 10-02-2012, 12:13 AM
  4. 718 slayer help
    By Mr Sandman in forum Help
    Replies: 1
    Last Post: 07-31-2012, 05:18 AM
  5. 718 Slayer Assignments
    By Ryan. in forum Help
    Replies: 1
    Last Post: 07-28-2012, 06:13 AM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •