rendered paste bodyIndex: net/sf/l2j/gameserver/GameServer.java===================================================================RCS file: /cvsroot/l2j/L2_Gameserver/java/net/sf/l2j/gameserver/GameServer.java,vretrieving revision 1.29.2.15.2.6.2.13diff -u -r1.29.2.15.2.6.2.13 GameServer.java--- GameServer.java 12 Apr 2005 15:25:23 -0000 1.29.2.15.2.6.2.13+++ GameServer.java 21 Apr 2005 20:08:09 -0000@@ -260,6 +260,7 @@ import net.sf.l2j.gameserver.handler.ItemHandler; import net.sf.l2j.gameserver.handler.SkillHandler; import net.sf.l2j.gameserver.handler.UserCommandHandler;+import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAddDoor; import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAdmin; import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminAnnouncements; import net.sf.l2j.gameserver.handler.admincommandhandlers.AdminBan;@@ -609,6 +610,7 @@ _adminCommandHandler.registerAdminCommandHandler(new AdminKick()); _adminCommandHandler.registerAdminCommandHandler(new AdminMonsterRace()); _adminCommandHandler.registerAdminCommandHandler(new AdminEditNpc());+ _adminCommandHandler.registerAdminCommandHandler(new AdminAddDoor()); _userCommandHandler = UserCommandHandler.getInstance(); _userCommandHandler.registerUserCommandHandler(new Loc());Index: net/sf/l2j/gameserver/model/L2DoorInstance.java===================================================================RCS file: /cvsroot/l2j/L2_Gameserver/java/net/sf/l2j/gameserver/model/L2DoorInstance.java,vretrieving revision 1.3.2.2.2.2diff -u -r1.3.2.2.2.2 L2DoorInstance.java--- L2DoorInstance.java 4 Feb 2005 13:05:27 -0000 1.3.2.2.2.2+++ L2DoorInstance.java 21 Apr 2005 20:09:05 -0000@@ -46,99 +46,156 @@ package net.sf.l2j.gameserver.model; import java.util.logging.Logger;+import net.sf.l2j.gameserver.serverpackets.*;+import net.sf.l2j.gameserver.templates.L2Weapon;+import net.sf.l2j.gameserver.ClientThread; -import net.sf.l2j.Config;+public class L2DoorInstance extends L2Character {+ private static Logger _log = Logger.getLogger(L2DoorInstance.class+ .getName());++ private int _damage; -/**- * This class ...- * - * @version $Revision: 1.3.2.2.2.2 $ $Date: 2005/02/04 13:05:27 $- */-public class L2DoorInstance extends L2Object-{- private static Logger _log = Logger.getLogger(L2DoorInstance.class.getName());- - private int _damage; private int _open;+ private int _enemy;- private int _doorId;- - /**- * @return Returns the doorId.- */- public int getDoorId()- {- return _doorId;- }- /**- * @param doorId The doorId to set.- */- public void setDoorId(int doorId)- {- _doorId = doorId;- }- /**- */- public L2DoorInstance()- {++ private int _doorId;++ private boolean isAttackable;++ private String _name;++ public int getDoorId() {+ return _doorId;+ }++ public void setDoorId(int doorId) {+ _doorId = doorId;+ }++ public L2DoorInstance() { super();+ setName("Door"); }- - /**- * this is called when a player interacts with this NPC- * @param player- */- public void onAction(L2PcInstance player)- {- if (Config.DEBUG) _log.fine("Door activated");- }- /**- * @return Returns the damage.- */- public int getDamage()- {++ public void onAction(L2PcInstance player) {+ if (this != player.getTarget()) {+ if (player.getCurrentState() == L2Character.STATE_CASTING) {+ player.cancelCastMagic();+ }+ player.setCurrentState(L2Character.STATE_IDLE);+ _log.fine("new target selected:" + getObjectId());+ player.setTarget(this);+ MyTargetSelected my = new MyTargetSelected(getObjectId(), player+ .getLevel());+ player.sendPacket(my);++ if (isAttackable()) {+ DoorStatusUpdate su = new DoorStatusUpdate(this);+ player.sendPacket(su);+ }+ } else {+ if (isAttackable() && (!player.isInCombat())) {+ if (Math.abs(player.getZ() - getZ()) < 400) {+ player.startAttack(this);+ } else {+ player.sendPacket(new ActionFailed());+ }+ }+ if (!isAttackable()) {++ }+ }+ }++ public void onActionShift(ClientThread client) {+ L2PcInstance player = client.getActiveChar();+ if (player.getAccessLevel() >= 100) {+ player.setTarget(this);+ MyTargetSelected my = new MyTargetSelected(getObjectId(), player+ .getLevel());+ player.sendPacket(my);++ if (isAttackable()) {+ DoorStatusUpdate su = new DoorStatusUpdate(this);+ player.sendPacket(su);+ }++ NpcHtmlMessage html = new NpcHtmlMessage(1);+ StringBuffer html1 = new StringBuffer(+ "<html><body><table border=0>");+ html1.append("<tr><td>S.Y.L. Says:</td></tr>");+ html1.append("<tr><td><br>Hello baby~</td></tr>");++ html1.append("<tr><td>Object ID: " + getObjectId() + "</td></tr>");+ html1.append("<tr><td><br></td></tr>");+ html1.append("<tr><td><br></td></tr>");++ html1.append("<tr><td>Class: " + getClass().getName()+ + "</td></tr>");+ html1.append("<tr><td><br></td></tr>");++ html1+ .append("<tr><td><button value=\"Kill\" action=\"bypass -h admin_kill\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");+ html1+ .append("<tr><td><button value=\"Delete\" action=\"bypass -h admin_delete\" width=40 height=15 back=\"sek.cbui94\" fore=\"sek.cbui92\"></td></tr>");+ html1.append("</table></body></html>");++ html.setHtml(html1.toString());+ player.sendPacket(html);+ } else {+ // attack the mob without moving?+ }++ player.sendPacket(new ActionFailed());+ }++ public int getDamage() { return _damage; }- /**- * @param damage The damage to set.- */- public void setDamage(int damage)- {++ public void setDamage(int damage) { _damage = damage; }- /**- * @return Returns the enemy.- */- public int getEnemy()- {++ public int getEnemy() { return _enemy; }- /**- * @param enemy The enemy to set.- */- public void setEnemy(int enemy)- {++ public void setEnemy(int enemy) { _enemy = enemy; }- /**- * @return Returns the open.- */- public int getOpen()- {++ public int getOpen() { return _open; }- /**- * @param open The open to set.- */- public void setOpen(int open)- {++ public void setOpen(int open) { _open = open; }- /* (non-Javadoc)- * @see net.sf.l2j.gameserver.model.L2Object#isAttackable()- */- public boolean isAttackable()- {- return false;- }++ public boolean isAttackable() {+ return isAttackable;+ }++ public void setAttackable(boolean ia) {+ isAttackable = ia;+ }++ public L2Weapon getActiveWeapon() {+ return null;+ }++ @Override+ protected int getDistanceToWatchObject() {+ // TODO Auto-generated method stub+ return 200;+ }++ @Override+ protected int getDistanceToForgetObject() {+ // TODO Auto-generated method stub+ return 2000;+ } }Index: net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAddDoor.java===================================================================RCS file: net/sf/l2j/gameserver/handler/admincommandhandlers/AdminAddDoor.javadiff -N AdminAddDoor.java--- /dev/null 1 Jan 1970 00:00:00 -0000+++ AdminAddDoor.java 1 Jan 1970 00:00:00 -0000@@ -0,0 +1,96 @@+package net.sf.l2j.gameserver.handler.admincommandhandlers;++import java.io.IOException;++import net.sf.l2j.gameserver.IdFactory;+import net.sf.l2j.gameserver.handler.IAdminCommandHandler;+import net.sf.l2j.gameserver.model.L2DoorInstance;+import net.sf.l2j.gameserver.model.L2PcInstance;+import net.sf.l2j.gameserver.model.L2World;+import net.sf.l2j.gameserver.serverpackets.DoorInfo;+import net.sf.l2j.gameserver.serverpackets.DoorStatusUpdate;+import java.util.logging.Logger;++/**+ * @author S.Y.L+ * + * TODO To change the template for this generated type comment go to Window -+ * Preferences - Java - Code Style - Code Templates+ */+public class AdminAddDoor implements IAdminCommandHandler {+ static Logger _log = Logger.getLogger(AdminAddDoor.class.getName());++ private static String[] _adminCommands = { "admin_add_door", "admin_door" };++ public static int[] castleDoorid = { 17220001, 17220002, 22220001,+ 22220002, 17250001, 17250002, 17250003, 18140001, 18140002,+ 18140003, 20180001, 20180002, 21190001, 21190002, 21190003,+ 23120001, 23120002, 23120003, 19210001, 19210002, 19210003,+ 19210004, 19210005, 19210006, 19210007, 19210008, 19210009,+ 19210010, 20220001, 20220002, 20220003, 20220004, 20220005,+ 20220006, 20220007, 20220008, 20220009, 20220010, 22190001,+ 22190002, 22190003, 22190004, 22190005, 22190006, 22190007,+ 22190008, 22190009, 22190010, 23220001, 23220002, 23220003,+ 23220004, 23220005, 23220006, 23220007, 23220008, 23220009,+ 23220010, 23250001, 23250002, 23250003, 23250004, 23250005,+ 23250006, 23250007, 23250008, 23250009, 23250010, 24180001,+ 24180002, 24180003, 24180004, 24180005, 24180006, 24180007,+ 24180008, 24180009, 24180010, 24180011, 24180012, 24180013,+ 24180014, 24180015, 24180016, 24180017, 24180018, 24180019,+ 24180020, 24180021, 21210001, 21210002, 22170001, 22170002,+ 22170003, 22170004, 25170001, 25170002, 25170003, 25170004,+ 25170005, 25170006, 20210001, 20210002, 20210003, 21240001,+ 21240002, 21240003, 21240004, 21240005, 21240006, 23180001,+ 23180002, 23180003, 23180004, 23180005, 23180006, 22250001,+ 22250002, 22250003, 22250004, 22250005, 22250006, 22250007,+ 22250008, 22250009, 22250010, 22250011, 22250012, 22250013,+ 22250014, 22250015, 22250016, 22250017, 22250018, 22250019,+ 22250020, 22250021, 22250022, 22250023, 22250024, 22250025,+ 22250026, 22250027, 22250028 };++ public static int[] doorid = { 19210000, 20220000, 22190000, 23220000,+ 23250000, 24180000 };++ private static final int REQUIRED_LEVEL = 100;++ public boolean useAdminCommand(String command, L2PcInstance activeChar) {+ System.out.println("LA");+ if (!(checkLevel(activeChar.getAccessLevel()) && activeChar.isGM())) {+ return false;+ }++ if (command.startsWith("admin_add_door")+ || command.startsWith("admin_door")) {++ DoorStatusUpdate doorUpdate = null;+ for (int i = 0; i < castleDoorid.length; i++) {+ L2DoorInstance door = new L2DoorInstance();+ door.setDoorId(castleDoorid[i]);+ door.setObjectId(IdFactory.getInstance().getNextId());++ door.setOpen(1);+ door.setDamage(10000);+ door.setEnemy(50000);+ door.setAttackable(true);+ L2World.getInstance().storeObject(door);+ L2World.getInstance().addVisibleObject(door);+ DoorInfo doorInfo = new DoorInfo(door);+ DoorStatusUpdate doorStatus = new DoorStatusUpdate(door);+ activeChar.sendPacket(doorInfo);+ activeChar.broadcastPacket(doorInfo);+ activeChar.sendPacket(doorStatus);+ activeChar.broadcastPacket(doorStatus);+ activeChar.addKnownObject(door);+ }+ }+ return true;+ }++ public String[] getAdminCommandList() {+ return _adminCommands;+ }++ private boolean checkLevel(int level) {+ return (level >= REQUIRED_LEVEL);+ }+}