@Override public void onBypassFeedback(Player player, String command) { if (!canBypassCheck(player, this)) return; if (command.startsWith("BuyTicket") && state != ACCEPTING_BETS) { player.sendPacket(SystemMsg.MONSTER_RACE_TICKETS_ARE_NO_LONGER_AVAILABLE); command = "Chat 0"; } if (command.startsWith("ShowOdds") && state == ACCEPTING_BETS) { player.sendPacket( SystemMsg.MONSTER_RACE_PAYOUT_INFORMATION_IS_NOT_AVAILABLE_WHILE_TICKETS_ARE_BEING_SOLD); command = "Chat 0"; } if (command.startsWith("BuyTicket")) { int val = Integer.parseInt(command.substring(10)); if (val == 0) { player.setRace(0, 0); player.setRace(1, 0); } if (val == 10 && player.getRace(0) == 0 || val == 20 && player.getRace(0) == 0 && player.getRace(1) == 0) val = 0; showBuyTicket(player, val); } else if (command.equals("ShowOdds")) showOdds(player); else if (command.equals("ShowInfo")) showMonsterInfo(player); else if (command.equals("calculateWin")) { // displayCalculateWinnings(player); } else if (command.equals("viewHistory")) { // displayHistory(player); } else super.onBypassFeedback(player, command); }
@Override public void onBypassFeedback(Player player, String command) { if (!canBypassCheck(player, this)) return; if (player.getEnchantScroll() != null) { Log.add( "Player " + player.getName() + " trying to use enchant exploit[Warehouse], ban this player!", "illegal-actions"); player.setEnchantScroll(null); return; } if (command.startsWith("WithdrawP")) { int val = Integer.parseInt(command.substring(10)); if (val == 99) { NpcHtmlMessage html = new NpcHtmlMessage(player, this); html.setFile("warehouse/personal.htm"); html.replace("%npcname%", getName()); player.sendPacket(html); } else WarehouseFunctions.showRetrieveWindow(player, val); } else if (command.equals("DepositP")) WarehouseFunctions.showDepositWindow(player); else if (command.startsWith("WithdrawC")) { int val = Integer.parseInt(command.substring(10)); if (val == 99) { NpcHtmlMessage html = new NpcHtmlMessage(player, this); html.setFile("warehouse/clan.htm"); html.replace("%npcname%", getName()); player.sendPacket(html); } else WarehouseFunctions.showWithdrawWindowClan(player, val); } else if (command.equals("DepositC")) WarehouseFunctions.showDepositWindowClan(player); else super.onBypassFeedback(player, command); }
@Override protected void onSpawn() { super.onSpawn(); getTemplate().setSpawned(this); startAutoSaveTask(); setRunning(); }
@Override protected void onDespawn() { stopAutoSaveTask(); store(); super.onDespawn(); getTemplate().setSpawned(null); }
@Override public void onBypassFeedback(Player player, String command) { if (!canBypassCheck(player, this)) return; StringTokenizer st = new StringTokenizer(command, " "); String actualCommand = st.nextToken(); boolean condition = validateCondition(player); if (actualCommand.equalsIgnoreCase("RideHelp")) { NpcHtmlMessage html = new NpcHtmlMessage(player, this); html.setFile("wyvern/help_ride.htm"); html.replace("%npcname%", "Wyvern Manager " + getName()); player.sendPacket(html); player.sendActionFailed(); } if (condition) { if (actualCommand.equalsIgnoreCase("RideWyvern") && player.isClanLeader()) if (!player.isRiding() || !PetDataTable.isStrider(player.getMountNpcId())) { NpcHtmlMessage html = new NpcHtmlMessage(player, this); html.setFile("wyvern/not_ready.htm"); html.replace("%npcname%", "Wyvern Manager " + getName()); player.sendPacket(html); } else if (player.getInventory().getItemByItemId(1460) == null || player.getInventory().getItemByItemId(1460).getCount() < 25) { NpcHtmlMessage html = new NpcHtmlMessage(player, this); html.setFile("wyvern/havenot_cry.htm"); html.replace("%npcname%", "Wyvern Manager " + getName()); player.sendPacket(html); } else if (player.getInventory().destroyItemByItemId(1460, 25L)) { player.setMount(PetDataTable.WYVERN_ID, player.getMountObjId(), player.getMountLevel()); NpcHtmlMessage html = new NpcHtmlMessage(player, this); html.setFile("wyvern/after_ride.htm"); html.replace("%npcname%", "Wyvern Manager " + getName()); player.sendPacket(html); } } else super.onBypassFeedback(player, command); }