Jump to content

Search the Community

Showing results for tags 'castlewars'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 15 results

  1. Hi there, Now i got something complicated. My castlewars. I got all the controlers, They should work but they don't. When the castlewars game starts. Then the first thing wich is not possible that's setting up the barricades. With every barricade set down, you get an instant message of ---- you cannot set up your barricade here!----- the second thing that does not work is. Capturing more then two flags. Once one team captured 2 flag's, take as example saradomin scores the zamorak flag twice. Then the third flag won't show up. This is the same for the other team. If saradomin Captures two flags, then it won't show up. I'm really out of idea's, i have no idea why it does not work. Everything is imported, I got a barricade controler, I got the castlewars,Castlewarsplaying,Castlewars waiting. The tickets work if its a tie. Etc. Here are the files. All help is appreciated... Thanks. Castlewars : [CODE]package com.rs.game.minigames; import java.util.Collections; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.TimerTask; import com.rs.cores.CoresManager; import com.rs.game.World; import com.rs.game.WorldObject; import com.rs.game.WorldTile; import com.rs.game.item.Item; import com.rs.game.npc.others.CastleWarBarricade; import com.rs.game.player.Equipment; import com.rs.game.player.Player; import com.rs.game.player.content.Foods.Food; import com.rs.game.player.controlers.castlewars.CastleWarsPlaying; import com.rs.game.player.dialogues.CastleWarsScoreboard; import com.rs.game.tasks.WorldTask; import com.rs.game.tasks.WorldTasksManager; public final class CastleWars { public static final int CW_TICKET = 4067; public static final int SARADOMIN = 0; public static final int ZAMORAK = 1; private static final int GUTHIX = 2; [MENTION=19271]supp[/MENTION]ressWarnings("unchecked") private static final List<Player>[] waiting = new List[2]; [MENTION=19271]supp[/MENTION]ressWarnings("unchecked") private static final List<Player>[] playing = new List[2]; private static int[] seasonWins = new int[2]; public static final WorldTile LOBBY = new WorldTile(3603, 3365, 0), SARA_WAITING = new WorldTile(2381, 9489, 0), ZAMO_WAITING = new WorldTile(2421, 9523, 0), SARA_BASE = new WorldTile(2426, 3076, 1), ZAMO_BASE = new WorldTile(2373, 3131, 1); private static PlayingGame playingGame; static { init(); } public static void init() { for (int i = 0; i < waiting.length; i++) waiting[i] = Collections.synchronizedList(new LinkedList<Player>()); for (int i = 0; i < playing.length; i++) playing[i] = Collections.synchronizedList(new LinkedList<Player>()); } public static void viewScoreBoard(Player player) { player.getInterfaceManager().sendChatBoxInterface(55); player.getPackets().sendIComponentText(55, 1, "Saradomin: " + seasonWins[SARADOMIN]); player.getPackets().sendIComponentText(55, 2, "Zamorak: " + seasonWins[ZAMORAK]); } public static int getPowerfullestTeam() { int zamorak = waiting[ZAMORAK].size() + playing[ZAMORAK].size(); int saradomin = waiting[SARADOMIN].size() + playing[SARADOMIN].size(); if (saradomin == zamorak) return GUTHIX; if (zamorak > saradomin) return ZAMORAK; return SARADOMIN; } public static void joinPortal(Player player, int team) { if (player.getEquipment().getHatId() != -1 || player.getEquipment().getCapeId() != -1) { player.getPackets().sendGameMessage( "You cannot wear hats, capes or helms in the arena."); return; } for (Item item : player.getInventory().getItems().getItems()) { if (item == null) continue; if (Food.forId(item.getId()) != null) { player.getPackets().sendGameMessage("You cannot bring food into the arena."); return; } } int powerfullestTeam = getPowerfullestTeam(); if (team == GUTHIX) { team = powerfullestTeam == ZAMORAK ? SARADOMIN : ZAMORAK; } else if (team == powerfullestTeam) { if (team == ZAMORAK) player.getPackets() .sendGameMessage( "The Zamorak team is powerful enough already! Guthix demands balance - join the Saradomin team instead!"); else if (team == SARADOMIN) player.getPackets() .sendGameMessage( "The Saradomin team is powerful enough already! Guthix demands balance - join the Zamorak team instead!"); return; } player.lock(2); waiting[team].add(player); setCape(player, new Item(team == ZAMORAK ? 4042 : 4041)); setHood(player, new Item(team == ZAMORAK ? 4515 : 4513)); player.getControlerManager().startControler("CastleWarsWaiting", team); player.setNextWorldTile(new WorldTile(team == ZAMORAK ? ZAMO_WAITING : SARA_WAITING, 1)); player.getMusicsManager().playMusic(318); // temp testing else 5 if (playingGame == null && waiting[team].size() >= 1) // at least // 9players to // start createPlayingGame(); else refreshTimeLeft(player); // You cannot take non-combat items into the arena } public static void setHood(Player player, Item hood) { player.getEquipment().getItems().set(Equipment.SLOT_HAT, hood); player.getEquipment().refresh(Equipment.SLOT_HAT); player.getAppearence().generateAppearenceData(); } public static void setCape(Player player, Item cape) { player.getEquipment().getItems().set(Equipment.SLOT_CAPE, cape); player.getEquipment().refresh(Equipment.SLOT_CAPE); player.getAppearence().generateAppearenceData(); } public static void setWeapon(Player player, Item weapon) { player.getEquipment().getItems().set(Equipment.SLOT_WEAPON, weapon); player.getEquipment().refresh(Equipment.SLOT_WEAPON); player.getAppearence().generateAppearenceData(); } public static void createPlayingGame() { playingGame = new PlayingGame(); CoresManager.fastExecutor .scheduleAtFixedRate(playingGame, 60000, 60000); refreshAllPlayersTime(); } public static void destroyPlayingGame() { playingGame.cancel(); playingGame = null; refreshAllPlayersTime(); leavePlayersSafely(); } public static void leavePlayersSafely() { leavePlayersSafely(-1); } public static void leavePlayersSafely(final int winner) { for (int i = 0; i < playing.length; i++) { for (final Player player : playing[i]) { player.lock(7); player.stopAll(); } } WorldTasksManager.schedule(new WorldTask() { [MENTION=15855]Over[/MENTION]ride public void run() { for (int i = 0; i < playing.length; i++) for (Player player : playing[i] .toArray(new Player[playing[i].size()])) { forceRemovePlayingPlayer(player); if (winner != -1) { if (winner == -2) { player.getPackets() .sendGameMessage("You draw."); player.getInventory().addItem(CW_TICKET, 1); } else if (winner == i) { player.getPackets().sendGameMessage("You won."); player.getInventory().addItem(CW_TICKET, 2); } else player.getPackets() .sendGameMessage("You lost."); } } } }, 6); } // unused public static void forceRemoveWaitingPlayer(Player player) { player.getControlerManager().forceStop(); } public static void removeWaitingPlayer(Player player, int team) { waiting[team].remove(player); setCape(player, null); setHood(player, null); player.setNextWorldTile(new WorldTile(LOBBY, 2)); if (playingGame != null && waiting[team].size() == 0 && playing[team].size() == 0) destroyPlayingGame(); // cancels if 0 players playing/waiting on any // of the tea } public static void refreshTimeLeft(Player player) { player.getPackets() .sendConfig( 380, playingGame == null ? 0 : playingGame.minutesLeft - (player.getControlerManager() .getControler() instanceof CastleWarsPlaying ? 5 : 0)); } public static void startGame() { for (int i = 0; i < waiting.length; i++) { for (Player player : waiting[i].toArray(new Player[waiting[i] .size()])) { joinPlayingGame(player, i); } } } public static void forceRemovePlayingPlayer(Player player) { player.getControlerManager().forceStop(); } public static void removePlayingPlayer(Player player, int team) { playing[team].remove(player); player.reset(); player.setCanPvp(false); // remove the items setCape(player, null); setHood(player, null); int weaponId = player.getEquipment().getWeaponId(); if (weaponId == 4037 || weaponId == 4039) { CastleWars.setWeapon(player, null); CastleWars.dropFlag(player.getLastWorldTile(), weaponId == 4037 ? CastleWars.SARADOMIN : CastleWars.ZAMORAK); } player.closeInterfaces(); player.getInventory().deleteItem(4049, Integer.MAX_VALUE); // bandages player.getInventory().deleteItem(4053, Integer.MAX_VALUE); // barricades player.getHintIconsManager().removeUnsavedHintIcon(); player.getMusicsManager().reset(); player.setNextWorldTile(new WorldTile(LOBBY, 2)); if (playingGame != null && waiting[team].size() == 0 && playing[team].size() == 0) destroyPlayingGame(); // cancels if 0 players playing/waiting on any // of the tea } public static void joinPlayingGame(Player player, int team) { playingGame.refresh(player); waiting[team].remove(player); player.getControlerManager().removeControlerWithoutCheck(); player.getPackets().closeInterface(player.getInterfaceManager().hasRezizableScreen() ? 34 : 0); playing[team].add(player); player.setCanPvp(true); player.getControlerManager().startControler("CastleWarsPlaying", team); player.setNextWorldTile(new WorldTile(team == ZAMORAK ? ZAMO_BASE : SARA_BASE, 1)); } public static void endGame(int winner) { if (winner != -2) seasonWins[winner]++; leavePlayersSafely(winner); } public static void refreshAllPlayersTime() { for (int i = 0; i < waiting.length; i++) for (Player player : waiting[i]) refreshTimeLeft(player); for (int i = 0; i < playing.length; i++) for (Player player : playing[i]) { player.getMusicsManager().playMusic(i == ZAMORAK ? 845 : 314); refreshTimeLeft(player); } } public static void refreshAllPlayersPlaying() { for (int i = 0; i < playing.length; i++) for (Player player : playing[i]) playingGame.refresh(player); } public static void addHintIcon(int team, Player target) { for (Player player : playing[team]) { player.getHintIconsManager().addHintIcon(target, 0, -1, false); } } public static void removeHintIcon(int team) { for (Player player : playing[team]) { player.getHintIconsManager().removeUnsavedHintIcon(); } } public static void addScore(Player player, int team, int flagTeam) { if (playingGame == null) return; playingGame.addScore(player, team, flagTeam); } public static void takeFlag(Player player, int team, int flagTeam, WorldObject object, boolean droped) { if (playingGame == null) return; playingGame.takeFlag(player, team, flagTeam, object, droped); } public static void dropFlag(WorldTile tile, int flagTeam) { if (playingGame == null) return; playingGame.dropFlag(tile, flagTeam); } public static void removeBarricade(int team, CastleWarBarricade npc) { if (playingGame == null) return; playingGame.removeBarricade(team, npc); } public static void addBarricade(int team, Player player) { if (playingGame == null) return; playingGame.addBarricade(team, player); } public static boolean isBarricadeAt(WorldTile tile) { if (playingGame == null) return false; return playingGame.isBarricadeAt(tile); } private static class PlayingGame extends TimerTask { private static final int SAFE = 0, TAKEN = 1, DROPPED = 2; private int minutesLeft; private int[] score; private int[] flagStatus; private int[] barricadesCount; private final LinkedList<WorldObject> spawnedObjects = new LinkedList<WorldObject>(); private final LinkedList<CastleWarBarricade> barricades = new LinkedList<CastleWarBarricade>(); public PlayingGame() { reset(); } public void reset() { minutesLeft = 1; // temp testing else 5 score = new int[2]; flagStatus = new int[2]; barricadesCount = new int[2]; for (WorldObject object : spawnedObjects) World.destroySpawnedObject(object, object.getId() == 4377 || object.getId() == 4378 ? false : true); spawnedObjects.clear(); for (CastleWarBarricade npc : barricades) npc.finish(); barricades.clear(); } public boolean isBarricadeAt(WorldTile tile) { for (Iterator<CastleWarBarricade> it = barricades.iterator(); it .hasNext();) { CastleWarBarricade npc = it.next(); if (npc.isDead() || npc.hasFinished()) { it.remove(); continue; } if (npc.getX() == tile.getX() && npc.getY() == tile.getY() && tile.getPlane() == tile.getPlane()) return true; } return false; } public void addBarricade(int team, Player player) { if (barricadesCount[team] >= 10) { player.getPackets() .sendGameMessage( "Each team in the activity can have a maximum of 10 barricades set up."); return; } player.getInventory().deleteItem(new Item(4053, 1)); barricadesCount[team]++; barricades.add(new CastleWarBarricade(team, new WorldTile(player))); } public void removeBarricade(int team, CastleWarBarricade npc) { barricadesCount[team]--; barricades.remove(npc); } public void takeFlag(Player player, int team, int flagTeam, WorldObject object, boolean droped) { if (!droped && team == flagTeam) return; if (droped && flagStatus[flagTeam] != DROPPED) return; else if (!droped && flagStatus[flagTeam] != SAFE) return; if (flagTeam != team && (player.getEquipment().getWeaponId() != -1 || player .getEquipment().getShieldId() != -1)) { // TODO no space message player.getPackets() .sendGameMessage( "You can't take flag while wearing something in your hands."); return; } if (!droped) { WorldObject flagStand = new WorldObject( flagTeam == SARADOMIN ? 4377 : 4378, object.getType(), object.getRotation(), object.getX(), object.getY(), object.getPlane()); spawnedObjects.add(flagStand); World.spawnObject(flagStand, false); } else { spawnedObjects.remove(object); World.destroySpawnedObject(object, true); if (flagTeam == team) { makeSafe(flagTeam); return; } } addHintIcon(flagTeam, player); flagStatus[flagTeam] = TAKEN; setWeapon(player, new Item(flagTeam == SARADOMIN ? 4037 : 4039, 1)); refreshAllPlayersPlaying(); } public void addScore(Player player, int team, int flagTeam) { setWeapon(player, null); score[team] += 1; makeSafe(flagTeam); } private void makeSafe(int flagTeam) { WorldObject flagStand = null; for (WorldObject object : spawnedObjects) { if (object.getId() == (flagTeam == SARADOMIN ? 4377 : 4378)) { flagStand = object; break; } } if (flagStand == null) return; World.destroySpawnedObject(flagStand, false); flagStatus[flagTeam] = SAFE; refreshAllPlayersPlaying(); } public void dropFlag(WorldTile tile, int flagTeam) { removeHintIcon(flagTeam); WorldObject flagDroped = new WorldObject( flagTeam == SARADOMIN ? 4900 : 4901, 10, 0, tile.getX(), tile.getY(), tile.getPlane()); spawnedObjects.add(flagDroped); World.spawnObject(flagDroped, true); flagStatus[flagTeam] = DROPPED; refreshAllPlayersPlaying(); } public void refresh(Player player) { player.getPackets().sendConfigByFile(143, flagStatus[SARADOMIN]); player.getPackets().sendConfigByFile(145, score[SARADOMIN]); player.getPackets().sendConfigByFile(153, flagStatus[ZAMORAK]); player.getPackets().sendConfigByFile(155, score[ZAMORAK]); } [MENTION=15855]Over[/MENTION]ride public void run() { minutesLeft--; if (minutesLeft == 5) { endGame(score[SARADOMIN] == score[ZAMORAK] ? -2 : score[SARADOMIN] > score[ZAMORAK] ? SARADOMIN : ZAMORAK); reset(); } else if (minutesLeft == 0) { minutesLeft = 25; startGame(); } else if (minutesLeft > 6) // adds ppl waiting on lobby startGame(); refreshAllPlayersTime(); } } public static void handleInterfaces(Player player, int interfaceId, int componentId) { if (interfaceId == 55) { if (componentId == 9) player.closeInterfaces(); } } public static boolean handleObjects(Player player, int objectId) { if (objectId == 4484) { // scoreboard player.getDialogueManager().startDialogue( new CastleWarsScoreboard()); return true; } if (objectId == 4388) { joinPortal(player, ZAMORAK); return true; } if (objectId == 4408) { joinPortal(player, GUTHIX); return true; } //if (objectId == 4387) { if (objectId == 2465) { joinPortal(player, SARADOMIN); return true; } return false; } public static List<Player>[] getPlaying() { return playing; } } [/CODE] Castlewars playing [CODE]package com.rs.game.player.controlers.castlewars; import java.util.List; import com.rs.game.Animation; import com.rs.game.Entity; import com.rs.game.Hit; import com.rs.game.Hit.HitLook; import com.rs.game.World; import com.rs.game.WorldObject; import com.rs.game.WorldTile; import com.rs.game.item.Item; import com.rs.game.minigames.CastleWars; import com.rs.game.npc.NPC; import com.rs.game.npc.others.CastleWarBarricade; import com.rs.game.player.Equipment; import com.rs.game.player.Inventory; import com.rs.game.player.Player; import com.rs.game.player.controlers.Controler; import com.rs.game.tasks.WorldTask; import com.rs.game.tasks.WorldTasksManager; import com.rs.utils.Utils; public class CastleWarsPlaying extends Controler { private int team; [MENTION=15855]Over[/MENTION]ride public void start() { team = (int) getArguments()[0]; sendInterfaces(); } [MENTION=15855]Over[/MENTION]ride public boolean canMove(int dir) { WorldTile toTile = new WorldTile(player.getX() + Utils.DIRECTION_DELTA_X[dir], player.getY() + Utils.DIRECTION_DELTA_Y[dir], player.getPlane()); return !CastleWars.isBarricadeAt(toTile); } [MENTION=15855]Over[/MENTION]ride public boolean processNPCClick2(NPC n) { if (n.getId() == 1532 && n instanceof CastleWarBarricade) { if (!player.getInventory().containsItem(590, 1)) { player.getPackets().sendGameMessage( "You do not have the required items to light this."); return false; } CastleWarBarricade barricade = (CastleWarBarricade) n; barricade.litFire(); return false; } return true; } /* * return process normaly */ [MENTION=15855]Over[/MENTION]ride public boolean processButtonClick(int interfaceId, int componentId, int slotId, int packetId) { if (interfaceId == 387) { if (componentId == 9 || componentId == 6) { player.getPackets().sendGameMessage( "You can't remove your team's colours."); return false; } if (componentId == 15) { int weaponId = player.getEquipment().getWeaponId(); if (weaponId == 4037 || weaponId == 4039) { player.getPackets().sendGameMessage( "You can't remove enemy's flag."); return false; } } } else if (interfaceId == Inventory.INVENTORY_INTERFACE) { Item item = player.getInventory().getItem(slotId); if (item != null) { if (item.getId() == 4053) { if (player.getX() == 2422 && player.getY() == 3076 || player.getX() == 2426 && player.getY() == 3080 || player.getX() == 2423 && player.getY() == 3076 || player.getX() == 2426 && player.getY() == 3081 || player.getX() == 2373 && player.getY() == 3127 || player.getX() == 2373 && player.getY() == 3126 || player.getX() == 2376 && player.getY() == 3131 || player.getX() == 2377 && player.getY() == 3131 || !CastleWars.isBarricadeAt(player)) { player.getPackets().sendGameMessage("You cannot place a barracade here!"); return false; } CastleWars.addBarricade(team, player); return false; } else if (item.getId() == 4049 || item.getId() == 4050 || item.getId() == 12853 || item.getId() == 14640 || item.getId() == 14648) { doBandageEffect(item); return false; } } } return true; } [MENTION=15855]Over[/MENTION]ride public boolean canDropItem(Item item) { if (item.getDefinitions().getName().toLowerCase().contains("flag")) { player.getPackets().sendGameMessage("You cannot just drop the flag!"); return false; } return true; } private void doBandageEffect(Item item) { int gloves = player.getEquipment().getGlovesId(); player.heal((int) (player.getMaxHitpoints() * (gloves >= 11079 && gloves <= 11084 ? 0.15 : 0.10))); int restoredEnergy = (int) (player.getRunEnergy() * 1.3); player.setRunEnergy(restoredEnergy > 100 ? 100 : restoredEnergy); player.getInventory().deleteItem(item); } [MENTION=15855]Over[/MENTION]ride public boolean canEquip(int slotId, int itemId) { if (slotId == Equipment.SLOT_CAPE || slotId == Equipment.SLOT_HAT) { player.getPackets().sendGameMessage( "You can't remove your team's colours."); return false; } if (slotId == Equipment.SLOT_WEAPON || slotId == Equipment.SLOT_SHIELD) { int weaponId = player.getEquipment().getWeaponId(); if (weaponId == 4037 || weaponId == 4039) { player.getPackets().sendGameMessage( "You can't remove enemy's flag."); return false; } } return true; } [MENTION=15855]Over[/MENTION]ride public boolean canAttack(Entity target) { if (target instanceof Player) { if (canHit(target)) return true; player.getPackets().sendGameMessage("You can't attack your team."); return false; } return true; } [MENTION=15855]Over[/MENTION]ride public boolean processItemOnNPC(NPC npc, Item item) { if (npc.getId() == 1532 && npc instanceof CastleWarBarricade) { CastleWarBarricade barricade = (CastleWarBarricade) npc; if (item.getId() == 590) { barricade.litFire(); return false; } else if (item.getId() == 4045) { player.getInventory().deleteItem(item); barricade.explode(); return false; } } return true; } [MENTION=15855]Over[/MENTION]ride public boolean canHit(Entity target) { if (target instanceof NPC) return true; Player p2 = (Player) target; if (p2.getEquipment().getCapeId() == player.getEquipment().getCapeId()) return false; return true; } // You can't leave just like that! public void leave() { player.getPackets().closeInterface( player.getInterfaceManager().hasRezizableScreen() ? 11 : 0); CastleWars.removePlayingPlayer(player, team); } [MENTION=15855]Over[/MENTION]ride public void sendInterfaces() { player.getInterfaceManager().sendTab( player.getInterfaceManager().hasRezizableScreen() ? 11 : 0, 58); } [MENTION=15855]Over[/MENTION]ride public boolean sendDeath() { WorldTasksManager.schedule(new WorldTask() { int loop; [MENTION=15855]Over[/MENTION]ride public void run() { if (loop == 0) { player.setNextAnimation(new Animation(836)); } else if (loop == 1) { player.getPackets().sendGameMessage( "Oh dear, you have died."); } else if (loop == 3) { int weaponId = player.getEquipment().getWeaponId(); if (weaponId == 4037 || weaponId == 4039) { CastleWars.setWeapon(player, null); CastleWars.dropFlag(player, weaponId == 4037 ? CastleWars.SARADOMIN : CastleWars.ZAMORAK); } else { Player killer = player .getMostDamageReceivedSourcePlayer(); if (killer != null) killer.increaseKillCount(player); } player.reset(); player.setNextWorldTile(new WorldTile( team == CastleWars.ZAMORAK ? CastleWars.ZAMO_BASE : CastleWars.SARA_BASE, 1)); player.setNextAnimation(new Animation(-1)); } else if (loop == 4) { player.getPackets().sendMusicEffect(90); stop(); } loop++; } }, 0, 1); return false; } [MENTION=15855]Over[/MENTION]ride public boolean logout() { player.setLocation(new WorldTile(CastleWars.LOBBY, 2)); return true; } [MENTION=15855]Over[/MENTION]ride public boolean processMagicTeleport(WorldTile toTile) { player.getDialogueManager().startDialogue("SimpleMessage", "You can't leave just like that!"); return false; } [MENTION=15855]Over[/MENTION]ride public boolean processItemTeleport(WorldTile toTile) { player.getDialogueManager().startDialogue("SimpleMessage", "You can't leave just like that!"); return false; } [MENTION=15855]Over[/MENTION]ride public boolean processObjectTeleport(WorldTile toTile) { player.getDialogueManager().startDialogue("SimpleMessage", "You can't leave just like that!"); return false; } [MENTION=15855]Over[/MENTION]ride public boolean processObjectClick1(WorldObject object) { int id = object.getId(); if (id == 4406 || id == 4407) { removeControler(); leave(); return false; } else if ((id == 4469 && team == CastleWars.SARADOMIN) || (id == 4470 && team == CastleWars.ZAMORAK)) { passBarrier(object); return false; } else if (id == 4377 || id == 4378) { // no flag anymore if (id == 4377 && team == CastleWars.SARADOMIN) { if (player.getEquipment().getWeaponId() == 4039) { CastleWars.addScore(player, team, CastleWars.ZAMORAK); return false; } } else if (id == 4378 && team == CastleWars.ZAMORAK) { if (player.getEquipment().getWeaponId() == 4037) { CastleWars.addScore(player, team, CastleWars.SARADOMIN); return false; } } player.getPackets().sendGameMessage( "You need to bring a flag back here!"); return false; } else if (id == 4902 || id == 4903) { // take flag if (id == 4902 && team == CastleWars.SARADOMIN) { if (player.getEquipment().getWeaponId() == 4039) { CastleWars.addScore(player, team, CastleWars.ZAMORAK); return false; } player.getPackets().sendGameMessage( "Saradomin won't let you take his flag!"); } else if (id == 4903 && team == CastleWars.ZAMORAK) { if (player.getEquipment().getWeaponId() == 4037) { CastleWars.addScore(player, team, CastleWars.SARADOMIN); return false; } player.getPackets().sendGameMessage( "Zamorak won't let you take his flag!"); } else { // take flag CastleWars.takeFlag(player, team, id == 4902 ? CastleWars.SARADOMIN : CastleWars.ZAMORAK, object, false); } return false; } else if (id == 4900 || id == 4901) { // take dropped flag CastleWars.takeFlag(player, team, id == 4900 ? CastleWars.SARADOMIN : CastleWars.ZAMORAK, object, true); return false; } else if (id == 36579 || id == 36586) { player.getInventory().addItem(new Item(4049)); return false; } else if (id == 36575 || id == 36582) { player.getInventory().addItem(new Item(4053)); return false; } else if (id == 36577 || id == 36584) { player.getInventory().addItem(new Item(4045)); return false; // under earth from basess } else if (id == 4411) {// stepping stone if (object.getX() == player.getX() && object.getY() == player.getY()) return false; player.lock(2); player.setNextAnimation(new Animation(741)); player.addWalkSteps(object.getX(), object.getY(), -1, false); } else if (id == 36693) { player.useStairs(827, new WorldTile(2430, 9483, 0), 1, 2); return false; } else if (id == 36694) { player.useStairs(827, new WorldTile(2369, 9524, 0), 1, 2); return false; } else if (id == 36645) { player.useStairs(828, new WorldTile(2430, 3081, 0), 1, 2); return false; } else if (id == 36646) { player.useStairs(828, new WorldTile(2369, 3126, 0), 1, 2); return false; } else if (id == 4415) { if (object.getX() == 2417 && object.getY() == 3075 && object.getPlane() == 1) player.useStairs(-1, new WorldTile(2417, 3078, 0), 0, 1); else if (object.getX() == 2419 && object.getY() == 3080 && object.getPlane() == 1) player.useStairs(-1, new WorldTile(2419, 3077, 0), 0, 1); else if (object.getX() == 2430 && object.getY() == 3081 && object.getPlane() == 2) player.useStairs(-1, new WorldTile(2427, 3081, 1), 0, 1); else if (object.getX() == 2425 && object.getY() == 3074 && object.getPlane() == 3) player.useStairs(-1, new WorldTile(2425, 3077, 2), 0, 1); else if (object.getX() == 2380 && object.getY() == 3127 && object.getPlane() == 1) player.useStairs(-1, new WorldTile(2380, 3130, 0), 0, 1); else if (object.getX() == 2382 && object.getY() == 3132 && object.getPlane() == 1) player.useStairs(-1, new WorldTile(2382, 3129, 0), 0, 1); else if (object.getX() == 2369 && object.getY() == 3126 && object.getPlane() == 2) player.useStairs(-1, new WorldTile(2372, 3126, 1), 0, 1); else if (object.getX() == 2374 && object.getY() == 3133 && object.getPlane() == 3) player.useStairs(-1, new WorldTile(2374, 3130, 2), 0, 1); return false; } else if (id == 36481) { player.useStairs(-1, new WorldTile(2417, 3075, 0), 0, 1); return false; } else if (id == 36495 && object.getPlane() == 0) { player.useStairs(-1, new WorldTile(2420, 3080, 1), 0, 1); return false; } else if (id == 36480 && object.getPlane() == 1) { player.useStairs(-1, new WorldTile(2430, 3080, 2), 0, 1); return false; } else if (id == 36484 && object.getPlane() == 2) { player.useStairs(-1, new WorldTile(2426, 3074, 3), 0, 1); return false; } else if (id == 36532 && object.getPlane() == 0) { player.useStairs(-1, new WorldTile(2379, 3127, 1), 0, 1); return false; } else if (id == 36540) { player.useStairs(-1, new WorldTile(2383, 3132, 0), 0, 1); return false; } else if (id == 36521 && object.getPlane() == 1) { player.useStairs(-1, new WorldTile(2369, 3127, 2), 0, 1); return false; } else if (id == 36523 && object.getPlane() == 2) { player.useStairs(-1, new WorldTile(2373, 3133, 3), 0, 1); return false; } else if (id == 36644) { if (object.getY() == 9508) player.useStairs(828, new WorldTile(2400, 3106, 0), 1, 2); else if (object.getY() == 9499) player.useStairs(828, new WorldTile(2399, 3100, 0), 1, 2); player.setFreezeDelay(0); player.setFrozeBlocked(0); return false; } else if (id == 36691) { if (object.getY() == 3099) player.useStairs(827, new WorldTile(2399, 9500, 0), 1, 2); else if (object.getY() == 3108) player.useStairs(827, new WorldTile(2400, 9507, 0), 1, 2); player.setFreezeDelay(0); player.setFrozeBlocked(0); return false; }/* * else if (id == 4438) player.getActionManager().setSkill(new * Mining(object, RockDefinitions.SMALLER_ROCKS)); else if (id == 4437) * player.getActionManager().setSkill(new Mining(object, * RockDefinitions.ROCKS )); */ else if (id == 4448) { for (List<Player> players : CastleWars.getPlaying()) { for (Player player : players) { if (player.withinDistance(object, 1)) player.applyHit(new Hit(player, player.getHitpoints(), HitLook.REGULAR_DAMAGE)); } } World.spawnObject( new WorldObject(4437, object.getType(), object .getRotation(), object.getX(), object.getY(), object.getPlane()), true); } return true; } [MENTION=15855]Over[/MENTION]ride public boolean processObjectClick2(WorldObject object) { int id = object.getId(); if (id == 36579 || id == 36586) { player.getInventory().addItem(new Item(4049, 5)); return false; } else if (id == 36575 || id == 36582) { player.getInventory().addItem(new Item(4053, 5)); return false; } else if (id == 36577 || id == 36584) { player.getInventory().addItem(new Item(4045, 5)); return false; } return true; } public void passBarrier(WorldObject object) { if (object.getRotation() == 0 || object.getRotation() == 2) { if (player.getY() != object.getY()) return; player.lock(2); player.addWalkSteps(object.getX() == player.getX() ? object.getX() + (object.getRotation() == 0 ? -1 : +1) : object.getX(), object.getY(), -1, false); } else if (object.getRotation() == 1 || object.getRotation() == 3) { if (player.getX() != object.getX()) return; player.lock(2); player.addWalkSteps( object.getX(), object.getY() == player.getY() ? object.getY() + (object.getRotation() == 3 ? -1 : +1) : object .getY(), -1, false); } } [MENTION=15855]Over[/MENTION]ride public void magicTeleported(int type) { removeControler(); leave(); } [MENTION=15855]Over[/MENTION]ride public void forceClose() { leave(); } } [/CODE] Castlewars Waiting [CODE]package com.rs.game.player.controlers.castlewars; import com.rs.game.WorldObject; import com.rs.game.WorldTile; import com.rs.game.minigames.CastleWars; import com.rs.game.player.Equipment; import com.rs.game.player.controlers.Controler; public class CastleWarsWaiting extends Controler { private int team; [MENTION=15855]Over[/MENTION]ride public void start() { team = (int) getArguments()[0]; sendInterfaces(); } // You can't leave just like that! public void leave() { player.getPackets().closeInterface( player.getInterfaceManager().hasRezizableScreen() ? 34 : 0); CastleWars.removeWaitingPlayer(player, team); } [MENTION=15855]Over[/MENTION]ride public void sendInterfaces() { player.getInterfaceManager().sendTab( player.getInterfaceManager().hasRezizableScreen() ? 34 : 0, 57); } [MENTION=15855]Over[/MENTION]ride public boolean processButtonClick(int interfaceId, int componentId, int slotId, int packetId) { if (interfaceId == 387) { if (componentId == 9 || componentId == 6) { player.getPackets().sendGameMessage( "You can't remove your team's colours."); return false; } } return true; } [MENTION=15855]Over[/MENTION]ride public boolean canEquip(int slotId, int itemId) { if (slotId == Equipment.SLOT_CAPE || slotId == Equipment.SLOT_HAT) { player.getPackets().sendGameMessage( "You can't remove your team's colours."); return false; } return true; } [MENTION=15855]Over[/MENTION]ride public boolean sendDeath() { removeControler(); leave(); return true; } [MENTION=15855]Over[/MENTION]ride public boolean logout() { player.setLocation(new WorldTile(CastleWars.LOBBY, 2)); return true; } [MENTION=15855]Over[/MENTION]ride public boolean processMagicTeleport(WorldTile toTile) { player.getDialogueManager().startDialogue("SimpleMessage", "You can't leave just like that!"); return false; } [MENTION=15855]Over[/MENTION]ride public boolean processItemTeleport(WorldTile toTile) { player.getDialogueManager().startDialogue("SimpleMessage", "You can't leave just like that!"); return false; } [MENTION=15855]Over[/MENTION]ride public boolean processObjectTeleport(WorldTile toTile) { player.getDialogueManager().startDialogue("SimpleMessage", "You can't leave just like that!"); return false; } [MENTION=15855]Over[/MENTION]ride public boolean processObjectClick1(WorldObject object) { int id = object.getId(); if (id == 2469 || id == 4390) { removeControler(); leave(); return false; } return true; } [MENTION=15855]Over[/MENTION]ride public void magicTeleported(int type) { removeControler(); leave(); } [MENTION=15855]Over[/MENTION]ride public void forceClose() { leave(); } } [/CODE] Barricade Combat [CODE]package com.rs.game.npc.combat.impl; import com.rs.game.Entity; import com.rs.game.npc.NPC; import com.rs.game.npc.combat.CombatScript; public class BarricadeCombat extends CombatScript { [MENTION=15855]Over[/MENTION]ride public Object[] getKeys() { // TODO Auto-generated method stub return new Object[] { "Barricade" }; } /* * empty */ [MENTION=15855]Over[/MENTION]ride public int attack(NPC npc, Entity target) { return 0; } } [/CODE]
  2. Hey guys well i wrote a castleWars tutorial almost 3 years ago! Original thread: [URL="http://www.****************/runescape-development/rs-503-client-server/tutorials/274631-614-80-castlewars-sort-custom-i-guess.html"]http://www.****************/runescape-development/rs-503-client-server/tutorials/274631-614-80-castlewars-sort-custom-i-guess.html[/URL] I had a look at the other day and I got to say it was horrible lol Its mostly just the game play but some things will need to be added and a few more checks will have to be made I would say this is about 50% complete. Anyway so I re-did the class which I'm giving out but I will not be giving you all the objects, well all small parts. You will have to figure out how to make it work ;) It's easy enough all you're doing is calling the methods in the class. Example: Leaving of a team via portal: You would just type this code in the object id: [code]CastleWars wars = new CastleWars(); wars.leaveTeamLobby(p);[/code] What you get so far with this class: You join the lobby Via portal. When there is enough players to start a game, the game starts. The in-game timer is set to 10 mins. Kill a player in-game to add points to your team. When timer hits 0 or zammy team/sara team player count hits 0 the game will end. Depending on if your team won(I.e Team having the most kills), lost or drew depends on how many points you will received. CastleWars.java [code] package dragonkk.rs2rsps.model.minigames; import java.util.ArrayList; import java.util.List; import org.world.event.Event; import org.world.event.EventManager; import com.google.common.math.DoubleMath; import dragonkk.rs2rsps.Server; import dragonkk.rs2rsps.events.Task; import dragonkk.rs2rsps.model.Item; import dragonkk.rs2rsps.model.World; import dragonkk.rs2rsps.model.player.Equipment; import dragonkk.rs2rsps.model.player.Mask; import dragonkk.rs2rsps.model.player.Player; import dragonkk.rs2rsps.net.Frames; import dragonkk.rs2rsps.rsobjects.RSObjectsRegion; import dragonkk.rs2rsps.util.Misc; import dragonkk.rs2rsps.util.RSObject; import dragonkk.rs2rsps.util.RSTile; /* * CastleWars * * [MENTION=52317]auth[/MENTION]or Crezzy 100% * */ public class CastleWars { // rewards interface id : 60 private int[] startCoords = { 2427 , 3076 , 2371 , 3130 }; private static int[] timer = { 0 , 0 }; private static byte[] kills = { 0 , 0 }; private static boolean gameStarted = false; private boolean timerStarted = false; private boolean zamHighSara = zamTeam.size () > saraTeam.size (); private boolean saraHighZam = saraTeam.size () > zamTeam.size (); private Item zamFlagId = new Item ( 4039 ); private Item saraFlagId = new Item ( 4037 ); public static List <Player> saraTeam = new ArrayList <Player> (); public static List <Player> zamTeam = new ArrayList <Player> (); public static List <Player> inLobby = new ArrayList <Player> (); public static List <Player> inGame = new ArrayList <Player> (); private int setTimeInGame() { switch ( inLobby.size () ) { case 2: return 300; case 3: case 4: return 400; case 5: case 6: return 500; default: return 600; } } private boolean enoughPlayers() { return saraTeam.size () >= 1 & zamTeam.size () >= 1; } private boolean canEndGame() { return timer[1] == 0 || zamTeam.size () <= 0 || saraTeam.size () <= 0 && gameStarted == true; } private boolean atCw( Player p ) { return p.getLocation ().getX () >= 2368 && p.getLocation ().getX () <= 2431 && p.getLocation ().getY () >= 3069 && p.getLocation ().getY () <= 3138; } private void removeAddList( Player p1, boolean saraList, boolean adding ) { synchronized ( inLobby ) { synchronized ( saraTeam ) { synchronized ( zamTeam ) { switch ( add ) { String add = adding ? "true" : "false"; case "true": inLobby.add ( p1 ); if ( saraList ) saraTeam.add ( p1 ); else zamTeam.add ( p1 ); break; case "false": inLobby.remove ( p1 ); if ( saraList ) saraTeam.remove ( p1 ); else zamTeam.remove ( p1 ) ; break; } } } } } private void addRemovePlayersToInGameList( boolean adding,boolean removingAll ) { synchronized ( inGame ) { if ( adding ) { inGame.addAll ( zamTeam ); inGame.addAll ( saraTeam ); } else { if(removingAll){ inLobby.removeAll ( inGame ); zamTeam.clear (); saraTeam.clear (); inGame.clear (); } else { inLobby.removeAll( inGame); } } } } public void leaveTeamLobby( Player p ) { handleTeamCape ( p, false ); p.getMask ().getRegion ().teleport ( 2441, 3090, 0, 0 ); p.getFrames ().sendCloseOverlay (); p.getFrames ().sendChatMessage ( 0, saraTeam.contains ( p ) ? "You leave the Saradomin team." : "You leave the Zamarok team." ); removeAddList ( p, saraTeam.contains ( p ) ? true : false, false ); } public void joinTeamLobby( Player p, int object ) { boolean bool = object == ( 4387 ); if ( zamHighSara && !bool ) { p.getFrames ().sendChatMessage ( 0, "To many players in the Zamorak Team. Please join Saradomin Team!" ); return; } if ( saraHighZam && bool ) { p.getFrames ().sendChatMessage ( 0, "To many players in the Saradomin Team. Please join Zamorak Team!" ); return; } p.getFrames ().sendOverlay ( 57 ); p.getMask ().getRegion ().teleport ( bool ? 2376 : 2424, bool ? 9488 : 9527, 0, 0 ); removeAddList ( p, bool ? true : false, true ); handleTeamCape ( p, true ); p.getFrames ().sendChatMessage ( 0, "You join the" + ( bool ? "Saradomin team" : "Zamorak team!" ) ); processLobbyTimer (); } public void handleTeamCape( Player p, boolean adding ) { Item saraCloakId = new Item ( 4041 ); Item zamCloakId = new Item ( 4042 ); p.getEquipment (); if ( adding ) { p.getEquipment ().removeSlot ( Equipment.SLOT_CAPE ); p.getEquipment ().removeSlot ( Equipment.SLOT_HAT ); p.getEquipment ().set ( Equipment.SLOT_CAPE, saraTeam.contains ( p ) ? saraCloakId : zamCloakId ); } else { p.getEquipment ().removeSlot ( Equipment.SLOT_CAPE ); p.getEquipment ().removeSlot ( Equipment.SLOT_HAT ); p.getInventory ().deleteItem ( saraTeam.contains ( p ) ? 4041 : 4042, 10 ); } } public void randomTeamPortal( Player p ) { removeAddList ( p, saraHighZam ? true : false, true ); handleTeamCape ( p, true ); p.getFrames ().sendOverlay ( 57 ); p.getMask ().getRegion ().teleport ( saraHighZam ? 2376 : 2424, saraHighZam ? 9488 : 9527, 0, 0 ); p.getFrames ().sendChatMessage ( 0, "You join the" + ( saraHighZam ? "Saradomin team" : "Zamorak team" + "!" ) ); processLobbyTimer (); } public void loginLogout( Player p, boolean logginIn ) { if ( atCw ( p ) || inLobby.contains ( p ) ) if ( logginIn == true ) { removeFlag ( p, false ); p.getMask ().getRegion ().teleport ( 2441, 3090, 0, 0 ); p.getFrames ().sendChatMessage ( 0, "You logged out so you auto left the game!" ); } else removeAddList ( p, saraTeam.contains ( p ) ? true : false, false ); } private void cwPlay() { EventManager.submit ( new Event ( 1000 ) { @ Override public void execute() { if ( timer[1] >= 1 ) { timer[1]--; for ( Player p : inGame ) { if(inLobby.contains(p)) addRemovePlayersToInGameList(false, false); p.getFrames ().sendString ( "" + timer[1] / 60 + " Mins left", 58, 6 ); if ( !atCw ( p ) ) { removeAddList ( p, saraTeam.contains ( p ) ? true : false, false ); continue; } if ( canEndGame () ) { gameEnd (); this.stop (); } } } } } ); } private void processLobbyTimer() { if ( enoughPlayers () ) { if ( !timerStarted ) timer[0] = 60; EventManager.submit ( new Event ( 1000 ) { @ Override public void execute() { for ( final Player pl : inLobby ) { pl.getFrames ().sendString ( gameStarted ? "Currently game underway. Time remaining = " + timer[1] / 60 + " Mins left" : "Waiting for players to join the other team.", 57, 0 ); continue; } if ( timer[0] >= 1 && gameStarted == false ) { timer[0]--; timerStarted = true; for ( final Player pl : inLobby ) pl.getFrames ().sendString ( zamTeam.size () == 0 || saraTeam.size () == 0 ? "Waiting for players to join the other team." : "Time untill next game = " + timer[0], 57, 0 ); } if ( timer[0] <= 1 ) if ( zamTeam.size () == 0 || saraTeam.size () == 0 ) { timerStarted = false; this.stop (); } else { gameStart (); this.stop (); } } } ); } } private void gameStart() { addRemovePlayersToInGameList ( true , false); cwPlay (); gameStarted = true; timerStarted = false; timer[1] = setTimeInGame (); for ( Player pl : inLobby ) { boolean bool = saraTeam.contains ( pl ); pl.getFrames ().sendOverlay ( 58 ); pl.getFrames ().sendChatMessage ( 0, "Game has started. Good luck" + ( bool ? "Saradomin" : "Zamorak" + "!" ) ); pl.getMask ().getRegion ().teleport ( startCoords[bool ? 0 : 2], startCoords[bool ? 1 : 3], 1, 0 ); } } public void cwDeath( final Player p ) { if ( atCw ( p ) ) { boolean saraDeath = saraTeam.contains ( p ); p.getMask ().getRegion ().teleport ( startCoords[( saraDeath ? 0 : 2 )], startCoords[( saraDeath ? 1 : 3 )], 1, 0 ); kills[saraDeath ? 1 : 0]++; for ( Player pl : inGame ) { pl.getFrames ().sendString ( "Saradomin deaths = " + kills[0], 58, 0 ); pl.getFrames ().sendString ( "Zamarok deaths = " + kills[1], 58, 1 ); } if ( p.getEquipment ().contains ( zamFlagId ) || p.getEquipment ().contains ( saraFlagId ) ) removeFlag ( p, false ); } } public void gameEnd() { gameStarted = false; handleWinner (); for ( Player pl : inGame ) { pl.getMask ().getRegion ().teleport ( 2441 + Misc.random ( 5 ), 3090 + Misc.random ( 5 ), 0, 0 ); pl.getFrames ().sendCloseOverlay (); handleTeamCape ( pl, false ); pl.getFrames ().sendChatMessage ( 1, "Game Has Ended." ); } addRemovePlayersToInGameList ( false , true); kills[0] = 0; kills[1] = 0; } private void handleWinner() { for ( Player pl : inGame ) { if ( kills[0] > kills[1] ) { pl.getFrames () .sendChatMessage ( 1, saraTeam.contains ( pl ) ? "Congratz your team wins the game, You have received get 5 points for winning!" : "To bad Zamorak, your team loses the game. You have received 2 points for your effort." ); pl.cwpoints += saraTeam.contains ( pl ) ? 5 : 2; } else if ( kills[1] > kills[0] ) { pl.getFrames () .sendChatMessage ( 1, zamTeam.contains ( pl ) ? "Congratz Zamorak! Your team wins the game. You have received 5 points for winning!" : "To bad Saradomin, your team loses the game. You have received 2 points for your effort." ); pl.cwpoints += zamTeam.contains ( pl ) ? 5 : 2; } else if ( kills[0] == kills[1] ) { pl.getFrames ().sendChatMessage ( 1, "No points were scored during the game. " ); pl.getFrames ().sendChatMessage ( 1, "As a result no CastleWars points will be rewarded." ); } else { pl.getFrames ().sendChatMessage ( 1, "The game was a tie. Both teams received 3 Point each for the effort." ); pl.cwpoints += 3; } } } public void handleTakeFlag( Player p, int object ) { boolean zamFlag = object == 4903; RSTile flagTile = new RSTile ( zamFlag ? (short) 2370 : 2429, zamFlag ? (short) 3133 : 3074, (byte) 3, 0 ); if ( zamFlag && zamTeam.contains ( p ) && p.getLocation ().getDistance ( flagTile ) <= 2 ) { p.getFrames ().sendChatMessage ( 1, "You can't take your own team Flag!" ); return; } if ( !zamFlag && saraTeam.contains ( p ) && p.getLocation ().getDistance ( flagTile ) <= 2 ) { p.getFrames ().sendChatMessage ( 1, "You can't take your own team Flag!" ); return; } p.getEquipment (); p.getEquipment ().removeSlot ( Equipment.SLOT_WEAPON ); p.getEquipment ().removeSlot ( Equipment.SLOT_SHIELD ); p.getEquipment ().set ( Equipment.SLOT_WEAPON, zamFlag ? zamFlagId : saraFlagId ); for ( Player pl : inGame ) { pl.getFrames ().removeMapObject ( flagTile ); // pl.getHinticonmanager().addHintIcon(p, 1, -1, true); } } public void removeFlag( Player p, boolean capped ) { if ( atCw ( p ) ) { boolean zamFlag = p.getEquipment ().getWeaponId () == 4039; p.getEquipment ().deleteItem ( zamFlag ? 4039 : 4037, 1 ); if ( !capped ) { for ( Player pl : inGame ) { pl.getFrames ().sendChatMessage ( 1, ( zamFlag ? "Zamarok" : "Saradomin" ) + " flag has been dropped and is no longer able to be captured." ); } } } } public void flagCap( Player p ) { if ( p.getEquipment ().getWeaponId () == 4039 || p.getEquipment ().getWeaponId () == 4037 ) { for ( Player pl : inGame ) { pl.getFrames ().sendChatMessage ( 1, "" + p.getUsername ().toString () + " has just captured the "+ (p.getEquipment ().getWeaponId () == 4039 ? "Zamorak " : "Saradomin ")+"flag!" ); pl.getFrames ().sendChatMessage ( 1, "10 Kills have been awarded to the " + ( p.getEquipment ().getWeaponId () == 4039 ? "Zamorak team!" : "Saradomin Team!" ) ); } kills[p.getEquipment ().getWeaponId () == 4039 ? 1 : 0] += 10; removeFlag ( p, true ); } } public void resetCw() { for ( Player pl : inGame ) { pl.getMask ().getRegion ().teleport ( 2441, 3090, 0, 0 ); pl.getFrames ().sendChatMessage ( 1, "CastleWars reset by an admin." ); pl.getFrames ().sendCloseOverlay (); } for ( Player pl1 : inLobby ) { pl1.getMask ().getRegion ().teleport ( 2441, 3090, 0, 0 ); pl1.getFrames ().sendChatMessage ( 1, "CastleWars reset by an admin." ); pl1.getFrames ().sendCloseOverlay (); } gameStarted = false; zamTeam.clear (); saraTeam.clear (); inGame.clear (); inLobby.clear (); kills[0] = 0; kills[1] = 0; timer[0] = 0; timer[1] = 0; } } [/code] 100% credits me aka Crezzy Feedback and constructive criticism will be thanked.
  3. I'm looking to create a small oldschool private server so I can castlewars with friends. I'm sure I can figure out how to add the shops and everything no problem by myself, but I need that kick in the right direction. What downloadable servers have a working castle wars? Something basic. Not into custom weapons or whatever. OR How could I get castlewars to work by myself? Maybe with the runelocus starter pack? Although from what i remember some fight animations were missing from that? It's been a while. Thanks, Wayne Pain Dow
  4. I'm looking to create a small oldschool private server so I can castlewars with friends. I'm sure I can figure out how to add the shops and everything no problem by myself, but I need to kick in the right direction. What downloadable servers have a working castle wars? Something basic. Not into custom weapons or whatever. OR How could I get castlewars to work by myself? Maybe with the runelocus starter pack? Although form what i remember some fight animations were missing from that, not sure. Thanks, Steven Bunting Hoebama
  5. RuneDimension is having a castlewars event at 15 players, will be cool. So join now @ [url]http://runedimension.info[/url] for the advertisement thread: [url]http://www.runelocus.com/forums/showthread.php?87274-RuneDimension-OldSchool-A-Community-Ran-And-Motivated-By-Members[/url]
  6. [center][img]http://i48.tinypic.com/j673v9.png[/img] Awesome 317 RSPS with old graphics, 100% castle wars, 100% treasure trails and more! [SIZE=6][url=http://eruption-x.no-ip.biz/webclient.html]Click here to play[/url][/SIZE] [SIZE=4][url=http://eruption-x.org]Eruption-X.Org[/url][/SIZE] [video=youtube_share;QvhkMYLFq14]http://youtu.be/QvhkMYLFq14[/video] [video=youtube_share;W0jFWxA9rWM]http://youtu.be/W0jFWxA9rWM[/video] [video=youtube_share;SRg9al3OEIY]http://youtu.be/SRg9al3OEIY[/video] [SIZE=5]Screenshots[/SIZE] [img]http://i46.tinypic.com/5zmcts.png[/img] 2007 runescape npcs [img]http://i46.tinypic.com/15fm2ja.png[/img] 100% Castle wars [img]http://i46.tinypic.com/r0v5gx.png[/img] Perfect oldschool pk [img]http://i45.tinypic.com/dw9f9w.png[/img] [img]http://i46.tinypic.com/15dp18l.png[/img] [img]http://i45.tinypic.com/29kt3s3.png[/img] [img]http://i49.tinypic.com/2bv6gj.png[/img] 100% bosses [img]http://i45.tinypic.com/2afllj9.png[/img] Multiple skilling places [img]http://i48.tinypic.com/28hlpia.png[/img] Friendly community [/center]
  7. [IMG]http://resistancepk.net/rspk.png[/IMG] Webclient - [url]http://resistancepk.net/webclient.html[/url] Download - [url]http://resistancepk.net/client.jar[/url] Forums - [url]http://resistancepk.net/portal.php[/url] Vote - [url]http://resistancepk.net/vote[/url] Donate - [url]http://resistancepk.net/donate[/url] Highscores - [url]http://resistancepk.net/highscores[/url] [IMG]http://blog.flamingtext.com/blog/2012/06/01/flamingtext_com_1338576098_816032497.png[/IMG] [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Active REAL VBulliten Forums [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Reliable 24/7 Webhost [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Reliable 6GB RAM, 200GB HDD, 3.2GHZ CPU, 200MBS Internet Connection with Hyperthreading technology Dedicated Server. [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 100% Update Time Guaranteed [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 100% No Lag [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Constant Updates [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Active support [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Friendly Staff Members [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 150+ Online [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Automatic Vote/Donation System [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Fully working highscores to compete on ! [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] The latest RSPS features [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Most unique RSPS [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Daily updates! [IMG]http://blog.flamingtext.com/blog/2012/06/01/flamingtext_com_1338576245_816032498.png[/IMG] [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] The latest version of Runescape [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] All new RS Items [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] New models/HD [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Fast loading client [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Webclient [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Daily updates [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Perfect pking [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Fast and smooth switches [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] HD with resizeable [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 10x hits [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 24 7 [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] No lagg [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 1000’s of bosses [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Dungeoneering with over 8 floors and rewards [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Summoning with working familiars and scrolls [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Active pking [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Duel arena with staking and no dupes [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] All dupes fixed [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] No bugs [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Several quests to complete [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Loads of benefits for donators [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Over 4 ranks to donate for, each with unique benefits [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Great and active staff [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 100% Dicing just like RS [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] New minigames/customised [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Perfect hit formula for melee, range and magic [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Loads of shops with everything you need [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Slayer with points and rewards [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 138 combat, summoning counts [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Custom quest tab [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Clanchat working [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Custom interfaces [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Clanwars 100% [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Castlewars 100% [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Barrows with fair rewards, just like RS [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Elites, fight to get their armour [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Dwarf Cannoneers, they drop Hand cannons [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Corporeal Beast, drops spirit shields [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] 100% Nex, with minions and drops [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Greegree's 100% like RS, vote for them ! [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Unique point systems, for loyalty and RPKP [IMG]http://www.americanpointinglab.com/site/DesktopModules/ActiveForums/themes/_default/arrow_right_blue.gif[/IMG] Why carry on reading when you can experience it ! come play now at [url]http://www.resistancepk.net/[/url] Polypore staff [IMG]http://img31.imageshack.us/img31/7586/036e7f4e65b3484f91f3e5b.png[/IMG] Training Island [IMG]http://img806.imageshack.us/img806/5435/ac512dfbfa8a447d9840ac9.png[/IMG] Brimhaven Dungeon [IMG]http://img195.imageshack.us/img195/887/c6df7ba4cb7b422db99d858.png[/IMG] Tav Dungeon [IMG]http://img194.imageshack.us/img194/5859/bcad08b18efb47219391a24.png[/IMG] Kuradels Dungeon [IMG]http://img706.imageshack.us/img706/7594/f2faba142dd54a00aac89a3.png[/IMG] Smoke Dungeon [IMG]http://img502.imageshack.us/img502/4710/bde91a6251624b808bc91cb.png[/IMG] Vote [IMG]http://img521.imageshack.us/img521/7678/0b8f69581fb344f194ed849.png[/IMG] Fungi picking money making [IMG]http://img193.imageshack.us/img193/6969/56ed2396dde94e079be047c.png[/IMG] Loyalty time [IMG]http://img444.imageshack.us/img444/2742/f82071fba82d40689a06b20.png[/IMG] Ice worms [IMG]http://img859.imageshack.us/img859/152/a7c893dcd34e46abbf9508a.png[/IMG] Desert worms [IMG]http://img836.imageshack.us/img836/7159/d95296bbe2ce4b319b9b3c1.png[/IMG] Elites [IMG]http://img507.imageshack.us/img507/8656/3666526ea8764a91afd7407.png[/IMG] Dwarfs [IMG]http://img266.imageshack.us/img266/3248/6b6bd469abd04cc7a600f1a.png[/IMG] Frost dragons [IMG]http://img31.imageshack.us/img31/9213/80375ab5eef64c6b8229408.png[/IMG] clanwars [IMG]http://img254.imageshack.us/img254/7585/8bfb96145f64477db87e843.png[/IMG] clanwars 2 [IMG]http://img801.imageshack.us/img801/7669/7cca3c24f8ea4a9c8fd4f0e.png[/IMG] fightpits [IMG]http://img14.imageshack.us/img14/1558/2610a6f26ada428f9856388.png[/IMG] ringmaster [IMG]http://img19.imageshack.us/img19/1268/e730e8d2ce3441e5ad0958f.png[/IMG] gametime [IMG]http://img204.imageshack.us/img204/9780/8a05cd4a500742b697e93fc.png[/IMG] New Jad [IMG]http://img59.imageshack.us/img59/4481/aa3fc254bb8a4266b59da7e.png[/IMG] [IMG]http://img839.imageshack.us/img839/8827/a018c3dec9694f0ba1bb36d.png[/IMG] slayer dust devils [IMG]http://img205.imageshack.us/img205/2084/39bea587b8a7442b8bb7f4d.png[/IMG] home custom teleports [IMG]http://img833.imageshack.us/img833/3869/c59bc04833894b4daff34cf.png[/IMG] rocks [IMG]http://img827.imageshack.us/img827/8666/c7bb790c801f40b888f6ab1.png[/IMG] bosses [IMG]http://img10.imageshack.us/img10/7505/e8114a3b0ab74d7880df02d.png[/IMG] minigames [IMG]http://img138.imageshack.us/img138/9409/79ecd0cd96f3425fb65987d.png[/IMG] skills [IMG]http://img546.imageshack.us/img546/2571/c3b31aa3ae864ea6a3ae044.png[/IMG] agility tokens after completing course [IMG]http://img859.imageshack.us/img859/7356/9a271e3bcea0416fadffca0.png[/IMG] PK point rewards [IMG]http://img688.imageshack.us/img688/6527/dcdab06e306a41d4840cd64.png[/IMG] Voteshop [IMG]http://img807.imageshack.us/img807/8497/c6d677383b3348c7bac702b.png[/IMG] Armaboss [IMG]http://img513.imageshack.us/img513/863/bcfb9fe8b6c14ad188c0ed0.png[/IMG] Corp [IMG]http://img692.imageshack.us/img692/2567/1ea0058f52e446dd828cd4b.png[/IMG] Duel arena ags spec [IMG]http://img98.imageshack.us/img98/5931/3202d33344e648c98a7195b.png[/IMG] Barrows [IMG]http://img694.imageshack.us/img694/7071/ed738df40b104a87984ebc4.png[/IMG] friends chat [IMG]http://img42.imageshack.us/img42/5643/021eb142fc654dcbb7d0ed3.png[/IMG] dscim [IMG]http://img442.imageshack.us/img442/4476/308502d3280c4986b4c8415.png[/IMG] drop [IMG]http://img585.imageshack.us/img585/885/074b1cff9505488da5ac47a.png[/IMG] Loyaltyzone [IMG]http://img821.imageshack.us/img821/8/fd6bdbfe2c7b4b4abc36ed4.png[/IMG] Loyaltyshop [IMG]http://img641.imageshack.us/img641/7971/b370bba9fb5143f9ba21446.png[/IMG] Commands [IMG]http://img837.imageshack.us/img837/1406/2b9f89daa76846248992366.png[/IMG] defenders [IMG]http://img262.imageshack.us/img262/2530/315de6d78e734ea2b04f2a8.png[/IMG] Jad [IMG]http://img51.imageshack.us/img51/2333/142b7c5a666b42818178fa5.png[/IMG]
  8. CastleWars.java [CODE]package server.model.minigames; import java.util.HashMap; import java.util.Iterator; import server.model.npcs.NPCHandler; import server.model.players.Client; import server.model.players.Player; import server.util.Misc; public class CastleWars { public static int[] BARRICADE_INDEX = new int[20]; /* * Game timers. */ private static final int GAME_TIMER = 200; // 1500 * 600 = 900000ms = 15 // minutes private static final int GAME_START_TIMER = 30; /* * Hashmap for the waitingroom players */ private static HashMap<Client, Integer> waitingRoom = new HashMap<Client, Integer>(); /* * hashmap for the gameRoom players */ private static HashMap<Client, Integer> gameRoom = new HashMap<Client, Integer>(); /* * The coordinates for the waitingRoom both sara/zammy */ private static final int[][] WAIT_ROOM = { { 2377, 9485 }, // sara { 2421, 9524 } // zammy }; /* * The coordinates for the gameRoom both sara/zammy */ private static final int[][] GAME_ROOM = { { 2426, 3076 }, // sara { 2372, 3131 } // zammy }; private static final int[][] FLAG_STANDS = { { 2429, 3074 }, // sara // {X-Coord, // Y-Coord) { 2370, 3133 } // zammy }; /* * Scores for saradomin and zamorak! */ private static int[] scores = { 0, 0 }; /* * Booleans to check if a team's flag is safe */ private static int zammyFlag = 0; private static int saraFlag = 0; /* * Zamorak and saradomin banner/capes item ID's */ public static final int SARA_BANNER = 4037; public static final int ZAMMY_BANNER = 4039; public static final int SARA_CAPE = 4041; public static final int ZAMMY_CAPE = 4042; /* * */ private static int properTimer = 0; private static int timeRemaining = -1; private static int gameStartTimer = GAME_START_TIMER; private static boolean gameStarted = false; /** * Method we use to add someone to the waitinroom in a different method, * this will filter out some error messages * * @param player * the player that wants to join * @param team * the team! */ public static void addToWaitRoom(Client player, int team) { int[] food = { 391, 385, 379, 333, 329, 373, 361, 7946, 397, 1891, 365, 339, 1942, 6701, 6705, 7056, 7054, 7058, 7060, 315, 347, 325, 1897, 2289, 2293, 2297, 2301, 2309, 2323, 2325, 2327, 351, 6703, 1963, 6883, 2108, 2118, 2116, 15272 }; for (int i = 0; i < food.length; i++) { if (player.getItems().playerHasItem(food[i])) { player.sendMessage("You may not bring your own food inside of castle wars."); return; } } if (player == null) { return; } else if (gameStarted == true) { player.sendMessage("There's already a Castle Wars going. Please wait a few minutes before trying again."); return; } else if (player.playerEquipment[Player.playerHat] > 0 || player.playerEquipment[Player.playerCape] > 0) { player.sendMessage("You may not wear capes or helmets inside of castle wars."); return; } toWaitingRoom(player, team); } /** * Method we use to transfer to player from the outside to the waitingroom * (: * * @param player * the player that wants to join * @param team * team he wants to be in - team = 1 (saradomin), team = 2 * (zamorak), team = 3 (random) */ public static void toWaitingRoom(Client player, int team) { if (team == 1) { if (getSaraPlayers() > getZammyPlayers() && getSaraPlayers() > 0) { player.sendMessage("The saradomin team is full, try again later!"); return; } if (getZammyPlayers() >= getSaraPlayers() || getSaraPlayers() == 0) { player.sendMessage("<col=255>You have been added to the Saradomin team."); player.sendMessage("Next Game Begins In:<col=255> " + ((gameStartTimer * 3) + (timeRemaining * 3)) + " seconds."); addCapes(player, SARA_CAPE); waitingRoom.put(player, team); player.getPA().movePlayer( WAIT_ROOM[team - 1][0] + Misc.random(5), WAIT_ROOM[team - 1][1] + Misc.random(5), 0); } } else if (team == 2) { if (getZammyPlayers() > getSaraPlayers() && getZammyPlayers() > 0) { player.sendMessage("The zamorak team is full, try again later!"); return; } if (getZammyPlayers() <= getSaraPlayers() || getZammyPlayers() == 0) { player.sendMessage("[<col=255>RANDOM TEAM]<col=255> You have been added to the Zamorak team."); player.sendMessage("Next Game Begins In:<col=255> " + ((gameStartTimer * 3) + (timeRemaining * 3)) + " seconds."); addCapes(player, ZAMMY_CAPE); waitingRoom.put(player, team); player.getPA().movePlayer( WAIT_ROOM[team - 1][0] + Misc.random(5), WAIT_ROOM[team - 1][1] + Misc.random(5), 0); } } else if (team == 3) { toWaitingRoom(player, getZammyPlayers() > getSaraPlayers() ? 1 : 2); return; } } /** * Method to add score to scoring team * * @param player * the player who scored * @param banner * banner id! */ public static void returnFlag(Client player, int wearItem) { if (player == null) { return; } if (wearItem != SARA_BANNER && wearItem != ZAMMY_BANNER) { return; } int team = gameRoom.get(player); int objectId = -1; int objectTeam = -1; switch (team) { case 1: if (wearItem == SARA_BANNER) { setSaraFlag(0); objectId = 4902; objectTeam = 0; player.sendMessage("returned the sara flag!"); } else { objectId = 4903; objectTeam = 1; setZammyFlag(0); scores[0]++; // upping the score of a team; team 0 = sara, team // 1 = zammy player.sendMessage("The team of Saradomin scores 1 point!"); } break; case 2: if (wearItem == ZAMMY_BANNER) { setZammyFlag(0); objectId = 4903; objectTeam = 1; player.sendMessage("returned the zammy flag!"); } else { objectId = 4902; objectTeam = 0; setSaraFlag(0); scores[1]++; // upping the score of a team; team 0 = sara, team // 1 = zammy player.sendMessage("The team of Zamorak scores 1 point!"); zammyFlag = 0; } break; } changeFlagObject(objectId, objectTeam); player.getPA().createPlayerHints(10, -1); player.playerEquipment[Player.playerWeapon] = -1; player.playerEquipmentN[Player.playerWeapon] = 0; player.getItems().updateSlot(3); player.appearanceUpdateRequired = true; player.updateRequired = true; player.getItems().resetItems(3214); } /** * Method used to remove all barricades from game */ public static void removeBarricades() { for (int i = 0; i < BARRICADE_INDEX.length; i++) { if (BARRICADE_INDEX[i] == 0) continue; NPCHandler.npcs[BARRICADE_INDEX[i]].isDead = true; } } public static void resetcastlewars(Client c) { c.getPA().movePlayer(2438, 5168, 0); } /** * Method that will capture a flag when being taken by the enemy team! * * @param player * the player who returned the flag * @param team */ public static void captureFlag(Client player) { if (player.playerEquipment[Player.playerWeapon] > 0) { player.sendMessage("Please remove your weapon before attempting to get the flag again!"); return; } int team = gameRoom.get(player); if (team == 2 && saraFlag == 0) { // sara flag setSaraFlag(1); addFlag(player, SARA_BANNER); createHintIcon(player, 1); changeFlagObject(4377, 0); } if (team == 1 && zammyFlag == 0) { setZammyFlag(1); addFlag(player, ZAMMY_BANNER); createHintIcon(player, 2); changeFlagObject(4378, 1); } } /** * Method that will add the flag to a player's weapon slot * * @param player * the player who's getting the flag * @param flagId * the banner id. */ public static void addFlag(Client player, int flagId) { player.playerEquipment[Player.playerWeapon] = flagId; player.playerEquipmentN[Player.playerWeapon] = 1; player.getItems().updateSlot(Player.playerWeapon); player.appearanceUpdateRequired = true; player.updateRequired = true; } /** * Method we use to handle the flag dropping * * @param player * the player who dropped the flag/died * @param flagId * the flag item ID */ public static void dropFlag(Client player, int flagId) { int object = -1; switch (flagId) { case SARA_BANNER: // sara setSaraFlag(2); object = 4900; createFlagHintIcon(player.getX(), player.getY()); break; case ZAMMY_BANNER: // zammy setZammyFlag(2); object = 4901; createFlagHintIcon(player.getX(), player.getY()); break; } player.playerEquipment[Player.playerWeapon] = -1; player.playerEquipmentN[Player.playerWeapon] = 0; Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client teamPlayer = (Client) iterator.next(); teamPlayer.getPA().object(object, player.getX(), player.getY(), 0, 10); } } /** * Method we use to pickup the flag when it was dropped/lost * * @param Player * the player who's picking it up * @param objectId * the flag object id. */ public static void pickupFlag(Client player) { switch (player.objectId) { case 4900: // sara if (player.playerEquipment[Player.playerWeapon] > 0) { player.sendMessage("Please remove your weapon before attempting to get the flag again!"); return; } if (saraFlag != 2) { // player.sendMessage("Flag already taken 'test'"); return; } setSaraFlag(1); addFlag(player, 4037); break; case 4901: // zammy if (player.playerEquipment[Player.playerWeapon] > 0) { player.sendMessage("Please remove your weapon before attempting to get the flag again!"); return; } if (zammyFlag != 2) { // player.sendMessage("Flag already taken 'test'"); //testing if // dupe fix worked return; } setZammyFlag(1); addFlag(player, 4039); break; } createHintIcon(player, (gameRoom.get(player) == 1) ? 2 : 1); Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client teamPlayer = (Client) iterator.next(); teamPlayer.getPA().createObjectHints(player.objectX, player.objectY, 170, -1); teamPlayer.getPA() .object(-1, player.objectX, player.objectY, 0, 10); } return; } /** * Hint icons appear to your team when a enemy steals flag * * @param player * the player who took the flag * @param t * team of the opponent team. (: */ public static void createHintIcon(Client player, int t) { Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client teamPlayer = (Client) iterator.next(); System.out.println(teamPlayer.playerName + " => Team => " + gameRoom.get(teamPlayer)); System.out.println("desired team = " + t); teamPlayer.getPA().createPlayerHints(10, -1); if (gameRoom.get(teamPlayer) == t) { System.out.println("created hint icons for playername " + teamPlayer.playerName + " and team number: " + t); teamPlayer.getPA().createPlayerHints(10, player.playerId); teamPlayer.getPA().requestUpdates(); } } } /** * Hint icons appear to your team when a enemy steals flag * * @param player * the player who took the flag * @param t * team of the opponent team. (: */ public static void createFlagHintIcon(int x, int y) { Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client teamPlayer = (Client) iterator.next(); teamPlayer.getPA().createObjectHints(x, y, 170, 2); } } /** * This method is used to get the teamNumber of a certain player * * @param player * @return */ public static int getTeamNumber(Client player) { if (player == null) { return -1; } if (gameRoom.containsKey(player)) { return gameRoom.get(player); } return -1; } /** * The leaving method will be used on click object or log out * * @param player * player who wants to leave */ public static void leaveWaitingRoom(Client player) { if (player == null) { System.out.println("player is null"); return; } if (waitingRoom.containsKey(player)) { waitingRoom.remove(player); player.getPA().createPlayerHints(10, -1); player.sendMessage("You left your team!"); deleteGameItems(player); player.getPA().movePlayer(2439 + Misc.random(4), 3085 + Misc.random(5), 0); return; } player.getPA().movePlayer(2439 + Misc.random(4), 3085 + Misc.random(5), 0); System.out.println("Waiting room map does not contain " + player.playerName); } public static void process() { if (properTimer > 0) { properTimer--; return; } else { properTimer = 4; } if (gameStartTimer > 0) { gameStartTimer--; updatePlayers(); } else if (gameStartTimer == 0) { startGame(); } if (timeRemaining > 0) { timeRemaining--; updateInGamePlayers(); } else if (timeRemaining == 0) { endGame(); } } /** * Method we use to update the player's interface in the waiting room */ public static void updatePlayers() { Iterator iterator = waitingRoom.keySet().iterator(); while (iterator.hasNext()) { Client player = (Client) iterator.next(); if (player != null) { player.getPA().sendFrame126( "Next Game Begins In:@[email protected] " + ((gameStartTimer * 3) + (timeRemaining * 3)) + " @[email protected]", 6570); player.getPA() .sendFrame126( "Zamorak Players: @[email protected]" + getZammyPlayers() + "@[email protected]", 6572); player.getPA().sendFrame126( "Saradomin Players: @[email protected]" + getSaraPlayers() + "@[email protected]", 6664); player.getPA().walkableInterface(6673); } } } /** * Method we use the update the player's interface in the game room */ public static void updateInGamePlayers() { if (getSaraPlayers() > 0 && getZammyPlayers() > 0) { Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client player = (Client) iterator.next(); int config; if (player == null) { continue; } player.getPA().walkableInterface(11146); player.getPA().sendFrame126("Zamorak = " + scores[1], 11147); player.getPA().sendFrame126(scores[0] + " = Saradomin", 11148); player.getPA().sendFrame126(timeRemaining * 3 + " secs", 11155); config = (2097152 * saraFlag); player.getPA().sendFrame87(378, config); config = (2097152 * zammyFlag); // flags 0 = safe 1 = taken 2 = // dropped player.getPA().sendFrame87(377, config); } } } /* * Method that will start the game when there's enough players. */ public static void startGame() { if (getSaraPlayers() < 1 || getZammyPlayers() < 1) { gameStartTimer = GAME_START_TIMER; return; } gameStartTimer = -1; System.out.println("Starting Castle Wars game."); gameStarted = true; timeRemaining = GAME_TIMER / 2; Iterator iterator = waitingRoom.keySet().iterator(); while (iterator.hasNext()) { Client player = (Client) iterator.next(); int team = waitingRoom.get(player); if (player == null) { continue; } player.getPA().walkableInterface(-1); player.getPA().movePlayer(GAME_ROOM[team - 1][0] + Misc.random(3), GAME_ROOM[team - 1][1] - Misc.random(3), 1); player.getPA().movePlayer(GAME_ROOM[team - 1][0] + Misc.random(3), GAME_ROOM[team - 1][1] - Misc.random(3), 1); gameRoom.put(player, team); } waitingRoom.clear(); } /* * Method we use to end an ongoing cw game. */ public static void endGame() { Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client player = (Client) iterator.next(); int team = gameRoom.get(player); removeBarricades(); if (player == null) { continue; } player.cwGames++; player.getPA().movePlayer(2440 + Misc.random(3), 3089 - Misc.random(3), 0); player.sendMessage("[<col=255>CASTLE WARS] The Castle Wars Game has ended!"); player.sendMessage("[<col=255>CASTLE WARS] Kills: <col=255> " + player.cwKills + " Deaths:<col=255> " + player.cwDeaths + " Games Played: <col=255>" + player.cwGames + "."); player.getPA().createPlayerHints(10, -1); deleteGameItems(player); for (int i = 0; i < 25; i++) { player.getPA().refreshSkill(i); } if (scores[0] == scores[1]) { player.getItems().addItem(4067, 30); player.sendMessage("Tie game! You gain 30 CastleWars tickets!"); } else if (team == 1) { if (scores[0] > scores[1]) { player.getItems().addItem(4067, 50); player.sendMessage("You won the CastleWars Game. You received 50 CastleWars Tickets!"); } else if (scores[0] < scores[1]) { player.getItems().addItem(4067, 20); player.sendMessage("You lost the CastleWars Game. You received 20 CastleWars Tickets!"); } } else if (team == 2) { if (scores[1] > scores[0]) { player.getItems().addItem(4067, 50); player.sendMessage("You won the CastleWars Game. You received 50 CastleWars Tickets!"); } else if (scores[1] < scores[0]) { player.getItems().addItem(4067, 20); player.sendMessage("You lost the CastleWars Game. You received 20 CastleWars Tickets!"); } } } resetGame(); } /** * reset the game variables */ public static void resetGame() { changeFlagObject(4902, 0); changeFlagObject(4903, 1); setSaraFlag(0); setZammyFlag(0); timeRemaining = -1; System.out.println("Ending Castle Wars game."); gameStartTimer = GAME_START_TIMER; gameStarted = false; gameRoom.clear(); } /** * Method we use to remove a player from the game * * @param player * the player we want to be removed */ public static void removePlayerFromCw(Client player) { if (player == null) { System.out .println("Error removing player from castle wars [REASON = null]"); return; } if (gameRoom.containsKey(player)) { /* * Logging/leaving with flag */ if (player.getItems().playerHasEquipped(SARA_BANNER)) { player.getItems().removeItem(player.playerEquipment[3], 3); setSaraFlag(0); // safe flag } else if (player.getItems().playerHasEquipped(ZAMMY_BANNER)) { player.getItems().removeItem(player.playerEquipment[3], 3); setZammyFlag(0); // safe flag } deleteGameItems(player); player.getPA().movePlayer(2440, 3089, 0); System.out .println("Deleting playername test: " + player.playerName); player.sendMessage("[<col=255>CASTLE WARS] The Casle Wars Game has ended for you!"); player.sendMessage("[<col=255>CASTLE WARS] Kills: <col=255> " + player.cwKills + " Deaths:<col=255> " + player.cwDeaths + "."); player.getPA().createPlayerHints(10, -1); gameRoom.remove(player); } if (getZammyPlayers() <= 0 || getSaraPlayers() <= 0) { endGame(); } } /** * Will add a cape to a player's equip * * @param player * the player * @param capeId * the capeId */ public static void addCapes(Client player, int capeId) { player.playerEquipment[Player.playerCape] = capeId; player.playerEquipmentN[Player.playerCape] = 1; player.getItems().updateSlot(Player.playerCape); player.appearanceUpdateRequired = true; player.updateRequired = true; } /** * This method will delete all items received in game. Easy to add items to * the array. (: * * @param player * the player who want the game items deleted from. */ public static void deleteGameItems(Client player) { switch (player.playerEquipment[3]) { case 4037: case 4039: player.playerEquipment[3] = -1; player.playerEquipmentN[3] = 0; player.getItems().updateSlot(Player.playerWeapon); player.appearanceUpdateRequired = true; player.updateRequired = true; System.out.println(player.playerName + "] removed weapon:" + player.playerEquipment[3]); break; } switch (player.playerEquipment[1]) { case 4042: case 4041: player.playerEquipment[1] = -1; player.playerEquipmentN[1] = 0; player.getItems().updateSlot(Player.playerCape); player.appearanceUpdateRequired = true; player.updateRequired = true; System.out.println(player.playerName + "] removed cape:" + player.playerEquipment[1]); break; } int[] items = { 4049, 1265, 4045, 4053, 4042, 4041, 4037, 4039 }; for (int i = 0; i < items.length; i++) { if (player.getItems().playerHasItem(items[i])) { player.getItems().deleteItem2(items[i], player.getItems().getItemAmount(items[i])); } } } /** * Methode we use to get the zamorak players * * @return the amount of players in the zamorakian team! */ public static int getZammyPlayers() { int players = 0; Iterator iterator = (!waitingRoom.isEmpty()) ? waitingRoom.values() .iterator() : gameRoom.values().iterator(); while (iterator.hasNext()) { if ((Integer) iterator.next() == 2) { players++; } } return players; } /** * Method we use to get the saradomin players! * * @return the amount of players in the saradomin team! */ public static int getSaraPlayers() { int players = 0; Iterator iterator = (!waitingRoom.isEmpty()) ? waitingRoom.values() .iterator() : gameRoom.values().iterator(); while (iterator.hasNext()) { if ((Integer) iterator.next() == 1) { players++; } } return players; } /** * Method we use for checking if the player is in the gameRoom * * @param player * player who will be checking * @return */ public static boolean isInCw(Client player) { return gameRoom.containsKey(player); } /** * Method we use for checking if the player is in the waitingRoom * * @param player * player who will be checking * @return */ public static boolean isInCwWait(Client player) { return waitingRoom.containsKey(player); } /** * Method to make sara flag change status 0 = safe, 1 = taken, 2 = dropped * * @param status */ public static void setSaraFlag(int status) { saraFlag = status; } /** * Method to make zammy flag change status 0 = safe, 1 = taken, 2 = dropped * * @param status */ public static void setZammyFlag(int status) { zammyFlag = status; } /** * Method we use for the changing the object of the flag stands when * capturing/returning flag * * @param objectId * the object * @param team * the team of the player */ public static void changeFlagObject(int objectId, int team) { Iterator iterator = gameRoom.keySet().iterator(); while (iterator.hasNext()) { Client teamPlayer = (Client) iterator.next(); teamPlayer.getPA().object(objectId, FLAG_STANDS[team][0], FLAG_STANDS[team][1], 0, 10); } } }[/CODE] CastleWarObjects.java [CODE]package server.model.minigames; import server.model.players.Client; import server.model.players.Player; public class CastleWarObjects { public static void handleObject(Client c, int id, int x, int y) { if (!CastleWars.isInCw(c)) { c.sendMessage("You gotta be in castle wars before you can use these objects"); return; } switch (id) { case 4469: if (CastleWars.getTeamNumber(c) == 2) { c.sendMessage("You are not allowed in the other teams spawn point."); break; } if (x == 2426) { if (c.getY() == 3080) { c.getPA().movePlayer(2426, 3081, c.heightLevel); } else if (c.getY() == 3081) { c.getPA().movePlayer(2426, 3080, c.heightLevel); } } else if (x == 2422) { if (c.getX() == 2422) { c.getPA().movePlayer(2423, 3076, c.heightLevel); } else if (c.getX() == 2423) { c.getPA().movePlayer(2422, 3076, c.heightLevel); } } break; case 4470: if (CastleWars.getTeamNumber(c) == 1) { c.sendMessage("You are not allowed in the other teams spawn point."); break; } if (x == 2373 && y == 3126) { if (c.getY() == 3126) { c.getPA().movePlayer(2373, 3127, 1); } else if (c.getY() == 3127) { c.getPA().movePlayer(2373, 3126, 1); } } else if (x == 2377 && y == 3131) { if (c.getX() == 2376) { c.getPA().movePlayer(2377, 3131, 1); } else if (c.getX() == 2377) { c.getPA().movePlayer(2376, 3131, 1); } } break; case 4417: if (x == 2428 && y == 3081 && c.heightLevel == 1) { c.getPA().movePlayer(2430, 3080, 2); } if (x == 2425 && y == 3074 && c.heightLevel == 2) { c.getPA().movePlayer(2426, 3074, 3); } if (x == 2419 && y == 3078 && c.heightLevel == 0) { c.getPA().movePlayer(2420, 3080, 1); } break; case 4415: if (x == 2419 && y == 3080 && c.heightLevel == 1) { c.getPA().movePlayer(2419, 3077, 0); } if (x == 2430 && y == 3081 && c.heightLevel == 2) { c.getPA().movePlayer(2427, 3081, 1); } if (x == 2425 && y == 3074 && c.heightLevel == 3) { c.getPA().movePlayer(2425, 3077, 2); } if (x == 2374 && y == 3133 && c.heightLevel == 3) { c.getPA().movePlayer(2374, 3130, 2); } if (x == 2369 && y == 3126 && c.heightLevel == 2) { c.getPA().movePlayer(2372, 3126, 1); } if (x == 2380 && y == 3127 && c.heightLevel == 1) { c.getPA().movePlayer(2380, 3130, 0); } break; // case 4411: // if (x == 2421 && y == 3073 && c.heightLevel == 1) { // c.getPA().movePlayer(c.getX(), c.getY(), 0); // } // break; case 4411: // castle wars jumping stones if (x == c.getX() && y == c.getY()) { c.sendMessage("You are standing on the rock you clicked 'test'"); } else if (x > c.getX() && y == c.getY()) { c.getPA().walkTo(1, 0); } else if (x < c.getX() && y == c.getY()) { c.getPA().walkTo(-1, 0); } else if (y > c.getY() && x == c.getX()) { c.getPA().walkTo(0, 1); } else if (y < c.getY() && x == c.getX()) { c.getPA().walkTo(0, -1); } else { c.sendMessage("Can't reach that."); } break; case 4419: if (x == 2417 && y == 3074 && c.heightLevel == 0) { c.getPA().movePlayer(2416, 3074, 0); } if (x == 2417 && y == 3074 && c.heightLevel == 1) { c.getPA().movePlayer(2417, 3073, 0); } break; case 4911: if (x == 2421 && y == 3073 && c.heightLevel == 1) { c.getPA().movePlayer(2421, 3074, 0); } if (x == 2378 && y == 3134 && c.heightLevel == 1) { c.getPA().movePlayer(2378, 3133, 0); } break; case 1747: if (x == 2421 && y == 3073 && c.heightLevel == 0) { c.getPA().movePlayer(2421, 3074, 1); } if (x == 2378 && y == 3134 && c.heightLevel == 0) { c.getPA().movePlayer(2378, 3133, 1); } break; case 4912: if (x == 2430 && y == 3082 && c.heightLevel == 0) { c.getPA().movePlayer(c.getX(), c.getY() + 6400, 0); } if (x == 2369 && y == 3125 && c.heightLevel == 0) { c.getPA().movePlayer(c.getX(), c.getY() + 6400, 0); } break; case 1757: if (x == 2430 && y == 9482) { c.getPA().movePlayer(2430, 3081, 0); } else { c.getPA().movePlayer(2369, 3126, 0); } break; case 4418: if (x == 2380 && y == 3127 && c.heightLevel == 0) { c.getPA().movePlayer(2379, 3127, 1); } if (x == 2369 && y == 3126 && c.heightLevel == 1) { c.getPA().movePlayer(2369, 3127, 2); } if (x == 2374 && y == 3131 && c.heightLevel == 2) { c.getPA().movePlayer(2373, 3133, 3); } break; case 4420: if (x == 2382 && y == 3131 && c.heightLevel == 0) { if (c.getX() >= 2383 && c.getX() <= 2385) { c.getPA().movePlayer(2382, 3130, 0); } else { c.getPA().movePlayer(2383, 3133, 0); } } break; case 4437: if (x == 2400 && y == 9512) { c.getPA().movePlayer(2400, 9514, 0); } else if (x == 2391 && y == 9501) { c.getPA().movePlayer(2393, 9502, 0); } else if (x == 2409 && y == 9503) { c.getPA().movePlayer(2411, 9503, 0); } else if (x == 2401 && y == 9494) { c.getPA().movePlayer(2401, 9493, 0); } break; case 1568: if (x == 2399 && y == 3099) { c.getPA().movePlayer(2399, 9500, 0); } else { c.getPA().movePlayer(2400, 9507, 0); } case 6281: c.getPA().movePlayer(2370, 3132, 2); break; case 4472: c.getPA().movePlayer(2370, 3132, 1); break; case 6280: c.getPA().movePlayer(2429, 3075, 2); break; case 4471: c.getPA().movePlayer(2429, 3075, 1); break; case 4406: CastleWars.removePlayerFromCw(c); break; case 4407: CastleWars.removePlayerFromCw(c); break; case 4458: c.startAnimation(881); c.getItems().addItem(4049, 1); c.sendMessage("You get some bandages"); break; case 4902: // sara flag case 4377: switch (CastleWars.getTeamNumber(c)) { case 1: CastleWars .returnFlag(c, c.playerEquipment[Player.playerWeapon]); break; case 2: CastleWars.captureFlag(c); break; } break; case 4903: // zammy flag case 4378: switch (CastleWars.getTeamNumber(c)) { case 1: CastleWars.captureFlag(c); break; case 2: CastleWars .returnFlag(c, c.playerEquipment[Player.playerWeapon]); break; } break; case 4461: // barricades c.sendMessage("You get a barricade!"); c.getItems().addItem(4053, 1); break; case 4463: // explosive potion! c.sendMessage("You get an explosive potion!"); c.getItems().addItem(4045, 1); break; case 4464: // pickaxe table c.sendMessage("You get a bronzen pickaxe for mining."); c.getItems().addItem(1265, 1); break; case 4900: case 4901: CastleWars.pickupFlag(c); default: break; } } }[/CODE] This castle wars all bugs has been fixed if you got any errors or bug post below.
  9. Here are some Pics [IMG]http://i789.photobucket.com/albums/yy179/job45/nex.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/nomad.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/bandos.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/sara.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/skillarea.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/homeadvert1.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/tokenshop.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/dominiontower.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/insidedomiontower.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/domiontowerinside.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/flowergame.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/dicing1.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/dicing2.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/cw.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/cwshop.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/cwshop2.jpg[/img] [IMG]http://i789.photobucket.com/albums/yy179/job45/cwshop3.jpg[/img] Come Join Today !!! [url]http://Unknownrsps1.webs.com/client.jar[/url] [url]http://unknownrsps1.webs.com/play-here[/url]
  10. [img]http://i45.tinypic.com/2znwcab.png[/img] Play Now [url]http://limited-pkz.site90.net/RevengePK%20Website/Play/simpleweb/index.php[/url] [color=orange]Home[/color] [url]http://www.oraclescape.in[/url] Server Features - Bounty Hunter All Minigames Working Sounds 100% Runs 24/7 No Down Time Vote4Cash Mysql Integrated Great Forums Great Staff All Weapon Sounds! World Midi Music Pictures [IMG]http://i45.tinypic.com/29zonwg.png[/img] [IMG]http://i50.tinypic.com/2db5tur.png[/img] [IMG]http://i50.tinypic.com/2ev67t4.png[/img] [IMG]http://i49.tinypic.com/4ru6x3.png[/img] [IMG]http://i48.tinypic.com/mhsnrb.png[/img]
  11. Welcome To OracleScape We Are Really Growing Community We Offer A lot Main Features -100% Uptime -Pk and Skilling -Castle Wars -Party Room -Full Hunter with Swamp Lizards, Implings, Birds, Kebbits, Chinchompas. -Unique Quests -Clue Scrolls Webclient [url=http://www.eternityserver.webs.com/webclient.html]OracleScape - The Number 1 Free RuneScape Private Server[/url] Forums [url=http://www.oraclescapes.uphero.com]OracleScape - Forums[/url] Pictures [IMG]http://i45.tinypic.com/nedqaa.png[/IMG] [IMG]http://i46.tinypic.com/5x0euh.png[/IMG] [IMG]http://i49.tinypic.com/ws1yxs.png[/IMG] [IMG]http://i49.tinypic.com/33kc950.png[/IMG] [IMG]http://i50.tinypic.com/34fmyck.png[/IMG] [IMG]http://i47.tinypic.com/dexth0.png[/IMG]
  12. What is this? I will code fully functional castlewars into your server's source Cost? I have seen people requesting 50$ for fully functional castlewars but im only requesting a mere 16 dollars to code this to your server How this works? Once im finished with inputting all the needed codes i will tell you it is finished, willl send pics (OR) a video of it working; then you will send me the cash on my paypal account, or we can work something else out. How do i contact you? Pm me on forums once you request me to do this service for you i will tell u an email we cab communicate through. Note: i do not have msn, i do not team-view, nor do i have skype sorry.
  13. I just need a quick simple tutorial if you have seen. Or if you can search up. It will completely finish my rsps. Thanks in advance.
  14. I just wanna kno if there is a tutorial on how to add it. Either capture flags (preferred) or kill points. Thanks in advance
  15. I am releasing this for people to have a source thats not all hardcoded, we were going to continue with this but we have made some mistakes, not bad mistakes for others but things we dont want and forgotten ect... so we are starting again with another source going step by step on the source making sure it is all done and complete. This source was written by myself and I D3stroy I and have worked on it for ab out a week and a bit now so we had very short time to do this for release but i think we have done a good job on it for a release atleast, may be some stuff need to be added that you would like to add but we are happy with it for release... [B]Point out features:[/B] [LIST] [*]Castlewars [*]Minigame improvements [*]Quest System [*]Quests [*]Skill improvements [*]Unique home [*]New interfaces & Features [*]Many dialogues [*]New areas [*]Better Experience [*]Economy improvements [/LIST] [B]Images[/B] [IMG]http://i54.tinypic.com/152mjaq.png[/IMG] [IMG]http://i54.tinypic.com/r06q1e.png[/IMG] [B]Downloads:[/B] Source: [url=http://uppit.com/uoq2ep3oohuv/Rune_Regrets.rar]UppIT - Free File Sharing - Rune Regrets.rar[/url] Client/Cache: [url=http://uppit.com/zhf2em417yd8/RR_Client.rar]UppIT - Free File Sharing - RR Client.rar[/url] [B]Credits:[/B] Sanity Regrets/Legacy508 I D3stroy I
×