Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
@Override - Помогите
#1
Код:
public class MoveToMe extends AdminCommand
{

    public MoveToMe()
    {
        super("movetome");
    }

    @Override
    public void executeCommand(Player admin, final String[] params)
    {

        World.getInstance().doOnAllPlayers(new Executor<Player>()
            {
                @Override
                public boolean run(Player player)
                {
                    
                    if (player.getCommonData().getRace() == Race.ELYOS && params[0].equals("ely"))
                    {
                TeleportService.teleportTo(player, admin.getWorldId(), admin.getInstanceId(), admin.getX(), admin.getY(), admin.getZ(), admin.getHeading(), 0);
                    }else if (player.getCommonData().getRace() == Race.ASMODIANS && params[0].equals("asmo"))
                    {
                TeleportService.teleportTo(player, admin.getWorldId(), admin.getInstanceId(), admin.getX(), admin.getY(), admin.getZ(), admin.getHeading(), 0);
                    }
                    return true;
                }
            });
        
            
        Player playerToMove = World.getInstance().findPlayer(Util.convertName(params[0]));    

        if (playerToMove == admin)
        {
            PacketSendUtility.sendMessage(admin, "Cannot use this command on yourself.");
            return;
        }
                
        if(params.length == 2)
        {
            if(params[1].equals("alliance"))
            {
                if(playerToMove.getPlayerAlliance() != null)
                {
                    for(PlayerAllianceMember m : playerToMove.getPlayerAlliance().getMembers())
                    {
                        if(m != null && m.getPlayer() != null)
                        {
                            port(admin, m.getPlayer());
                        }
                    }
                }
                else
                {
                    PacketSendUtility.sendMessage(admin, "This player is not in alliance.");
                    port(admin, playerToMove);
                }
            }

        }        
    }
    
    private void port(Player admin, Player playerToMove)
    {
        TeleportService.teleportTo(playerToMove, admin.getWorldId(), admin.getInstanceId(), admin.getX(), admin.getY(), admin.getZ(), admin.getHeading(), 0);
        PacketSendUtility.sendMessage(admin, "Teleported player " + playerToMove.getName() + " to your location.");
        PacketSendUtility.sendMessage(playerToMove, "You have been teleported by " + admin.getName() + ".");    
    }
    
}

Конкретно суть проблемы:
TeleportService.teleportTo(player, admin.getWorldId(), admin.getInstanceId(), admin.getX(), admin.getY(), admin.getZ(), admin.getHeading(), 0)

Не понимает кто такой admin, как ему объяснить?
И без @Override не обойтись
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#2
а с хуяли он должен его понимать?
компьютеру еще не придумали интелект который бы исполнил любое желание
напишите "president USA" заместо "admin", может быть ваш игрок научиться перемещаться из виртуала в реал и прямо в белый дом?
[Изображение: 2ewe.jpg][Изображение: 1.gif]
Ответ
#3
Если я правильно понял суть вопроса
Ответ
#4
PaInKiLlEr Написал:а с хуяли он должен его понимать?
компьютеру еще не придумали интелект который бы исполнил любое желание
напишите "president USA" заместо "admin", может быть ваш игрок научиться перемещаться из виртуала в реал и прямо в белый дом?

Admin в этом коде, это не абстрактное значение.

Effas Написал:
Если я правильно понял суть вопроса

Да, вроде так.

По сути идентификатор для Admin уже включён в класс:
public void executeCommand

Но затем идущий @Override его сбрасывает.
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ
#5
PHP код:
<?php 
public void executeCommand(Player admin, final String[] params)



final Player admin - сделай.



PS. Создания анонимных классов, без внешних нефинальных переменных запрещено
PSS. @Override - никак невлияет на код - ВООБЩЕ
Ответ
#6
VISTALL Написал:PSS. @Override - никак невлияет на код - ВООБЩЕ

На код особо не влияет но значительно помогает избавится от ошибок при переопределении методов на уровне компилятора.

http://stackoverflow.com/questions/94361...on-and-why
http://download.oracle.com/javase/tutori...tions.html
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Ответ
#7
Aquanox Написал:На код особо не влияет но значительно помогает избавится от ошибок при переопределении методов на уровне компилятора.

http://stackoverflow.com/questions/94361...on-and-why
http://download.oracle.com/javase/tutori...tions.html

Big Grinну я все верно написал
Ответ
#8
VISTALL Написал:
PHP код:
<?php 
public void executeCommand(Player admin, final String[] params)



final Player admin - сделай.



PS. Создания анонимных классов, без внешних нефинальных переменных запрещено
PSS. @Override - никак невлияет на код - ВООБЩЕ
Спасибо, за помощь, и за ещё одно полезное знание в моей копилке Java)

Код:
без внешних нефинальных переменных запрещено
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  помогите начать делать LoginServer L2 kykazzz 6 3,634 08-18-2010, 02:11 PM
Последний пост: kykazzz
  Помогите в написании элементарных программ AgenT 7 5,168 03-29-2010, 09:16 PM
Последний пост: figure

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)