Ignore:
Timestamp:
Jan 16, 2012 7:56:19 AM (4 months ago)
Author:
MELERIX
Message:

STABLE: Sync with BETA [8629]

Location:
trunk/L2J_DataPack
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/L2J_DataPack

  • trunk/L2J_DataPack/dist/game/data/scripts/handlers/admincommandhandlers/AdminTeleport.java

    r7806 r8630  
    2828import com.l2jserver.gameserver.datatables.SpawnTable; 
    2929import com.l2jserver.gameserver.handler.IAdminCommandHandler; 
     30import com.l2jserver.gameserver.instancemanager.MapRegionManager; 
    3031import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager; 
    3132import com.l2jserver.gameserver.model.L2CharPosition; 
     
    3940import com.l2jserver.gameserver.network.SystemMessageId; 
    4041import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; 
    41 import com.l2jserver.gameserver.network.serverpackets.SystemMessage; 
    4242import com.l2jserver.gameserver.templates.chars.L2NpcTemplate; 
    4343import com.l2jserver.util.StringUtil; 
    44  
    4544 
    4645/** 
     
    8180                "admin_tele", 
    8281                "admin_teleto", 
    83                 "admin_instant_move" 
     82                "admin_instant_move", 
     83                "admin_sendhome" 
    8484        }; 
    8585         
     86        @Override 
    8687        public boolean useAdminCommand(String command, L2PcInstance activeChar) 
    8788        { 
     
    244245                        } 
    245246                } 
     247                else if (command.startsWith("admin_sendhome")) 
     248                { 
     249                        StringTokenizer st = new StringTokenizer(command, " "); 
     250                        st.nextToken(); // Skip command. 
     251                        if (st.countTokens() > 1) 
     252                        { 
     253                                activeChar.sendMessage("Usage: //sendhome <playername>"); 
     254                        } 
     255                        else if (st.countTokens() == 1) 
     256                        { 
     257                                final String name = st.nextToken(); 
     258                                final L2PcInstance player = L2World.getInstance().getPlayer(name); 
     259                                if (player == null) 
     260                                { 
     261                                        activeChar.sendPacket(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME); 
     262                                        return false; 
     263                                } 
     264                                teleportHome(player); 
     265                        } 
     266                        else 
     267                        { 
     268                                final L2Object target = activeChar.getTarget(); 
     269                                if (target instanceof L2PcInstance) 
     270                                { 
     271                                        teleportHome(target.getActingPlayer()); 
     272                                } 
     273                                else 
     274                                { 
     275                                        activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); 
     276                                } 
     277                        } 
     278                } 
     279                return true; 
     280        } 
     281         
     282        @Override 
     283        public String[] getAdminCommandList() 
     284        { 
     285                return ADMIN_COMMANDS; 
     286        } 
     287         
     288        /** 
     289         * This method sends a player to it's home town. 
     290         * @param player the player to teleport. 
     291         */ 
     292        private void teleportHome(L2PcInstance player) 
     293        { 
     294                String regionName; 
     295                switch(player.getRace()) 
     296                { 
     297                        case Elf: 
     298                                regionName = "elf_town"; 
     299                                break; 
     300                        case DarkElf: 
     301                                regionName = "darkelf_town"; 
     302                                break; 
     303                        case Orc: 
     304                                regionName = "orc_town"; 
     305                                break; 
     306                        case Dwarf: 
     307                                regionName = "dwarf_town"; 
     308                                break; 
     309                        case Kamael: 
     310                                regionName = "kamael_town"; 
     311                                break; 
     312                        case Human: 
     313                        default: 
     314                                regionName = "talking_island_town"; 
     315                } 
    246316                 
    247                 return true; 
    248         } 
    249          
    250         public String[] getAdminCommandList() 
    251         { 
    252                 return ADMIN_COMMANDS; 
     317                player.teleToLocation(MapRegionManager.getInstance().getMapRegionByName(regionName).getSpawnLoc(), true); 
     318                player.setInstanceId(0); 
     319                player.setIsIn7sDungeon(false); 
    253320        } 
    254321         
     
    291358                else 
    292359                { 
    293                         activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_TARGET)); 
     360                        activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); 
    294361                        return; 
    295362                } 
     
    334401                else 
    335402                { 
    336                         activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_TARGET)); 
     403                        activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); 
    337404                        return; 
    338405                } 
     
    340407                if (player.getObjectId() == activeChar.getObjectId()) 
    341408                { 
    342                         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_USE_ON_YOURSELF)); 
     409                        player.sendPacket(SystemMessageId.CANNOT_USE_ON_YOURSELF); 
    343410                } 
    344411                else 
     
    366433         * @param y 
    367434         * @param z 
     435         * @param activeChar  
    368436         */ 
    369437        private void teleportCharacter(L2PcInstance player, int x, int y, int z, L2PcInstance activeChar) 
     
    398466                if (target == null) 
    399467                { 
    400                         activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_TARGET)); 
     468                        activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); 
    401469                        return; 
    402470                } 
     
    409477                else 
    410478                { 
    411                         activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_TARGET)); 
     479                        activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); 
    412480                        return; 
    413481                } 
     
    415483                if (player.getObjectId() == activeChar.getObjectId()) 
    416484                { 
    417                         player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_USE_ON_YOURSELF)); 
     485                        player.sendPacket(SystemMessageId.CANNOT_USE_ON_YOURSELF); 
    418486                } 
    419487                else 
     
    472540                        L2Npc target = (L2Npc) obj; 
    473541                         
    474                         int monsterTemplate = target.getTemplate().npcId; 
     542                        int monsterTemplate = target.getTemplate().getNpcId(); 
    475543                        L2NpcTemplate template1 = NpcTable.getInstance().getTemplate(monsterTemplate); 
    476544                        if (template1 == null) 
     
    514582                                spawn.init(); 
    515583                                 
    516                                 activeChar.sendMessage("Created " + template1.name + " on " + target.getObjectId() + "."); 
     584                                activeChar.sendMessage("Created " + template1.getName() + " on " + target.getObjectId() + "."); 
    517585                                 
    518586                                if (Config.DEBUG) 
     
    559627                        catch (Exception e) 
    560628                        { 
    561                                 activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.TARGET_CANT_FOUND)); 
     629                                activeChar.sendPacket(SystemMessageId.TARGET_CANT_FOUND); 
    562630                        } 
    563631                } 
    564632                else 
    565633                { 
    566                         activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.INCORRECT_TARGET)); 
     634                        activeChar.sendPacket(SystemMessageId.INCORRECT_TARGET); 
    567635                } 
    568636        } 
Note: See TracChangeset for help on using the changeset viewer.