@Override - Помогите - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > Java

Java В данном форуме вы сможете найти много полезной информации по платформе Java. Подробные статьи, исходные коды и конечно учебники как для новичков так и профессиональных Java разработчиков вы найдёте здесь. Если у вас есть вопрос или хотите поделится своими наработками, пожалуйста, делайте это в этой теме.

Ответ
Опции темы
Непрочитано 04.11.2011, 19:49   #1
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) @Override - Помогите

Код:
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 час. Советуем вам немного отдохнуть".
Wolfas вне форума Ответить с цитированием
Непрочитано 04.11.2011, 20:10   #2
Пользователь

По умолчанию Re: @Override - Помогите

а с хуяли он должен его понимать?
компьютеру еще не придумали интелект который бы исполнил любое желание
напишите "president USA" заместо "admin", может быть ваш игрок научиться перемещаться из виртуала в реал и прямо в белый дом?
__________________
PaInKiLlEr вне форума Отправить сообщение для PaInKiLlEr с помощью ICQ Ответить с цитированием
Непрочитано 04.11.2011, 20:16   #3
Аватар для Effas
Пользователь

По умолчанию Re: @Override - Помогите

Если я правильно понял суть вопроса:
Свернуть ↑Развернуть ↓
Effas вне форума Отправить сообщение для Effas с помощью Skype™ Ответить с цитированием
Непрочитано 04.11.2011, 20:20   #4
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: @Override - Помогите

Цитата:
Сообщение от PaInKiLlEr Посмотреть сообщение
а с хуяли он должен его понимать?
компьютеру еще не придумали интелект который бы исполнил любое желание
напишите "president USA" заместо "admin", может быть ваш игрок научиться перемещаться из виртуала в реал и прямо в белый дом?
Admin в этом коде, это не абстрактное значение.

Цитата:
Сообщение от Effas Посмотреть сообщение
Если я правильно понял суть вопроса:
Свернуть ↑Развернуть ↓
Да, вроде так.

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

Но затем идущий @Override его сбрасывает.
__________________
Консоль GameServer не советует:"Вы настраивайте сервер уже 1 час. Советуем вам немного отдохнуть".

Последний раз редактировалось Wolfas; 04.11.2011 в 20:24. Причина: Добавлено сообщение
Wolfas вне форума Ответить с цитированием
Непрочитано 05.11.2011, 05:26   #5
Аватар для VISTALL
Illussion is real

По умолчанию Re: @Override - Помогите

PHP код:
public void executeCommand(Player admin, final String[] params


final Player admin - сделай.



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

По умолчанию Re: @Override - Помогите

Цитата:
Сообщение от VISTALL Посмотреть сообщение
PSS. @Override - никак невлияет на код - ВООБЩЕ
На код особо не влияет но значительно помогает избавится от ошибок при переопределении методов на уровне компилятора.

http://stackoverflow.com/questions/9...tation-and-why
http://download.oracle.com/javase/tu...notations.html
__________________
for(;Forum.getPostCount() < Integer.MAX_VALUE; Forum.writeNewPost()); | TERA Video | GamezTERA Emu
Aquanox вне форума Ответить с цитированием
Непрочитано 05.11.2011, 16:59   #7
Аватар для VISTALL
Illussion is real

По умолчанию Re: @Override - Помогите

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

http://stackoverflow.com/questions/9...tation-and-why
http://download.oracle.com/javase/tu...notations.html
ну я все верно написал
VISTALL вне форума Ответить с цитированием
Непрочитано 05.11.2011, 17:07   #8
Аватар для Wolfas
Пользователь

Автор темы (Топик Стартер) Re: @Override - Помогите

Цитата:
Сообщение от VISTALL Посмотреть сообщение
PHP код:
public void executeCommand(Player admin, final String[] params


final Player admin - сделай.



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

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 02:53. Часовой пояс GMT +3.

Вверх