MY Pestcontrol.javaCode:package server.model.minigames; import server.model.players.Client; import server.model.players.PlayerHandler; import server.Server; import server.model.npcs.*; import server.model.players.*; /** * @author Sanity */ public class PestControl { public PestControl() { } Client c; public final int GAME_TIMER = 70; //5 minutes public final int WAIT_TIMER = 7; public static int gameTimer = -1; public static int waitTimer = 15; public int properTimer = 0; public void process() { setInterface(); if (properTimer > 0) { properTimer--; return; } else { properTimer = 4; } if (waitTimer > 0) waitTimer--; else if (waitTimer == 0) startGame(); if (gameTimer > 0) { gameTimer--; if (allPortalsDead()) { endGame(true); } } else if (gameTimer == 0) endGame(false); } public void startGame() { gameTimer = GAME_TIMER; waitTimer = -1; //spawn npcs spawnNpcs(); //move players into game for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { if (Server.playerHandler.players[j].inPcBoat()) { movePlayer(j); } } } } public int playersInBoat() { int count = 0; for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { if (Server.playerHandler.players[j].inPcBoat()) { count++; } } } return count; } public void endGame(boolean won) { gameTimer = -1; waitTimer = WAIT_TIMER; for (int j = 0; j < Server.playerHandler.players.length; j++) { if (Server.playerHandler.players[j] != null) { if (Server.playerHandler.players[j].inPcGame()) { Client c = (Client)Server.playerHandler.players[j]; c.getPA().movePlayer(2657, 2639, 0); if (won && c.pcDamage > 4) { c.sendMessage("You have won the pest control game and have been awarded 4 pest control points."); c.pcPoints += 4; c.playerLevel[3] = c.getLevelForXP(c.playerXP[3]); c.playerLevel[5] = c.getLevelForXP(c.playerXP[5]); c.specAmount = 10; c.getItems().addItem(995, c.combatLevel * 50); c.getPA().refreshSkill(3); c.getPA().refreshSkill(5); } else if (won) { c.sendMessage("The void knights notice your lack of zeal."); } else { c.sendMessage("You failed to kill all the portals in 5 minutes and have not been awarded any points."); } c.pcDamage = 0; c.getItems().addSpecialBar(c.playerEquipment[c.playerWeapon]); c.getCombat().resetPrayers(); } } } } public void setInterface() { for (int j = 0; j < PlayerHandler.players.length; j++) { if (PlayerHandler.players[j] != null) { if (PlayerHandler.players[j].inPcBoat()) { Client c = (Client) PlayerHandler.players[j]; c.getPA().walkableInterface(15892); c.getPA().sendFrame126("Pest Control", 15894); c.getPA().sendFrame126("Next Departure: "+waitTimer+"", 15895); c.getPA().sendFrame126("Players Ready: "+playersInBoat()+"", 15897); c.getPA().sendFrame126("Points: "+c.pcPoints+"", 15898); c.getPA().sendFrame126("", 15900); c.getPA().sendFrame126("", 15899); c.getPA().sendFrame126("", 15901); c.getPA().sendFrame126("", 15896); c.getPA().sendFrame126("", 15902); c.getPA().sendFrame126("", 15903); c.getPA().sendFrame126("", 15904); c.getPA().sendFrame126("", 15905); c.getPA().sendFrame126("", 15906); } if (PlayerHandler.players[j].inPcGame()) { Client c = (Client) PlayerHandler.players[j]; for (j = 0; j < NPCHandler.npcs.length; j++) { if (NPCHandler.npcs[j] != null) { c.getPA().walkableInterface(15892); c.getPA().sendFrame126("Pest Control", 15894); c.getPA().sendFrame126("@blu@Purple Portal", 15895); if(c.portal1 == 1){ c.getPA().sendFrame126("@red@Purple Portal", 15895); } c.getPA().sendFrame126("@cya@Blue Portal", 15897); if(c.portal2 == 1){ c.getPA().sendFrame126("@red@Blue Portal", 15897); } c. getPA().sendFrame126("@yel@Yellow Portal", 15898); if(c.portal3 == 1){ c.getPA().sendFrame126("@red@Yellow Portal", 15898); } c.getPA().sendFrame126("@red@Red Portal", 15899); if(c.portal4 == 1){ c.getPA().sendFrame126("@lred@Red Portal", 15899); } } c.getPA().sendFrame126("Time remaining: "+gameTimer+"", 15900); c.getPA().sendFrame126("", 15901); c.getPA().sendFrame126("", 15896); c.getPA().sendFrame126("", 15902); c.getPA().sendFrame126("", 15903); c.getPA().sendFrame126("", 15904); c.getPA().sendFrame126("", 15905); c.getPA().sendFrame126("", 15906); } } } } } public boolean allPortalsDead() { int count = 0; for (int j = 0; j < Server.npcHandler.npcs.length; j++) { if (Server.npcHandler.npcs[j] != null) { if (Server.npcHandler.npcs[j].npcType >= 3777 && Server.npcHandler.npcs[j].npcType <= 3780) if (Server.npcHandler.npcs[j].needRespawn) count++; } } return count >= 4; } public void movePlayer(int index) { Client c = (Client)Server.playerHandler.players[index]; if (c.combatLevel < 40) { c.sendMessage("You must be at least 40 to enter this boat."); return; } c.getPA().movePlayer(2658,2611,0); } public void spawnNpcs() { Server.npcHandler.spawnANPC(3777, 2628, 2591,0); Server.npcHandler.spawnANPC(3778, 2680, 2588,0); Server.npcHandler.spawnANPC(3779, 2669, 2570,0); Server.npcHandler.spawnANPC(3780, 2645, 2569,0); } }