Перейти к содержанию
Авторизация  
La Luna

При Компиляции Ошибка

Рекомендуемые сообщения

[javac] Compiling 1018 source files to C:\Users\nure\Desktop\svn\L2J\build\classes

[javac] warning: [options] bootstrap class path not set in conjunction with -source 1.5

[javac] C:\Users\nure\Desktop\svn\L2J\java\net\sf\l2j\gameserver\model\entity\TvTEventTeleporter.java:44: error: no suitable method found for teleToLocation(int,int,int,boolean)

[javac] _playerInstance.teleToLocation(_coordinates[0], _coordinates[1], _coordinates[2], false);

[javac] ^

[javac] method L2Character.teleToLocation(TeleportWhereType) is not applicable

[javac] (actual and formal argument lists differ in length)

[javac] method L2Character.teleToLocation(Location) is not applicable

[javac] (actual and formal argument lists differ in length)

[javac] method L2Character.teleToLocation(int,int,int) is not applicable

[javac] (actual and formal argument lists differ in length)

[javac] Note: C:\Users\nure\Desktop\svn\L2J\java\net\sf\l2j\Config.java uses unchecked or unsafe operations.

[javac] Note: Recompile with -Xlint:unchecked for details.

[javac] 1 error

[javac] 1 warning

 

При компиляции ошибка помогите ее решить

вот сам файл

package net.sf.l2j.gameserver.model.entity;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2Summon;
import net.sf.l2j.gameserver.model.entity.TvTEvent;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

public class TvTEventTeleporter implements Runnable

{
private L2PcInstance _playerInstance;
private int[] _coordinates = new int[3];
public TvTEventTeleporter(L2PcInstance playerInstance, int[] coordinates, boolean reAdd)
{
_playerInstance = playerInstance;
_coordinates = coordinates;

// in config as seconds
long delay = (TvTEvent.isStarted() ? Config.TVT_EVENT_RESPAWN_TELEPORT_DELAY : Config.TVT_EVENT_START_LEAVE_TELEPORT_DELAY) * 1000;
if (reAdd)
delay = 0;
ThreadPoolManager.getInstance().scheduleGeneral(this, delay);
}
public void run()
{
if (_playerInstance == null)
return;

L2Summon summon = _playerInstance.getPet();

if (summon != null)
summon.unSummon(_playerInstance);

for (L2Effect effect : _playerInstance.getAllEffects())
{
if (effect != null)
effect.exit();
}
_playerInstance.doRevive();
_playerInstance.setCurrentCp(_playerInstance.getMaxCp());
_playerInstance.setCurrentHp(_playerInstance.getMaxHp());
_playerInstance.setCurrentMp(_playerInstance.getMaxMp());
_playerInstance.teleToLocation(_coordinates[0], _coordinates[1], _coordinates[2], false);

if (TvTEvent.isStarted())
_playerInstance.setTeam(TvTEvent.getParticipantTeamId(_playerInstance.getName())+1);
else
_playerInstance.setTeam(0);

_playerInstance.broadcastStatusUpdate();
_playerInstance.broadcastUserInfo();
}
}

Изменено пользователем La Luna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ругается на точку

 

[javac] _playerInstance.teleToLocation(_coordinates[0], _coordinates[1], _coordinates[2], false);

 

а файл не тот скинул походу

 

зайди по этому пути и выложи файл L2J\java\net\sf\l2j\gameserver\model\entity\TvTEventTeleporter.javа

Изменено пользователем lacosta

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

файл тот и на что ругается я тоже знаю, а как устранить!?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

мб я тебя не правельно понял но где делась строкаа

 

playerInstance.teleToLocation(_coordinates[0], _coordinates[1], _coordinates[2], false);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package net.sf.l2j.gameserver.model.entity;

 

import net.sf.l2j.Config;

import net.sf.l2j.gameserver.ThreadPoolManager;

import net.sf.l2j.gameserver.model.L2Effect;

import net.sf.l2j.gameserver.model.L2Summon;

import net.sf.l2j.gameserver.model.entity.TvTEvent;

import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;

 

public class TvTEventTeleporter implements Runnable

 

{

private L2PcInstance _playerInstance;

private int[] _coordinates = new int[3];

public TvTEventTeleporter(L2PcInstance playerInstance, int[] coordinates, boolean reAdd)

{

_playerInstance = playerInstance;

_coordinates = coordinates;

 

// in config as seconds

long delay = (TvTEvent.isStarted() ? Config.TVT_EVENT_RESPAWN_TELEPORT_DELAY : Config.TVT_EVENT_START_LEAVE_TELEPORT_DELAY) * 1000;

if (reAdd)

delay = 0;

ThreadPoolManager.getInstance().scheduleGeneral(this, delay);

}

public void run()

{

if (_playerInstance == null)

return;

 

L2Summon summon = _playerInstance.getPet();

 

if (summon != null)

summon.unSummon(_playerInstance);

 

for (L2Effect effect : _playerInstance.getAllEffects())

{

if (effect != null)

effect.exit();

}

_playerInstance.doRevive();

_playerInstance.setCurrentCp(_playerInstance.getMaxCp());

_playerInstance.setCurrentHp(_playerInstance.getMaxHp());

_playerInstance.setCurrentMp(_playerInstance.getMaxMp());

_playerInstance.teleToLocation(_coordinates[0], _coordinates[1], _coordinates[2], false);

 

if (TvTEvent.isStarted())

_playerInstance.setTeam(TvTEvent.getParticipantTeamId(_playerInstance.getName())+1);

else

_playerInstance.setTeam(0);

 

_playerInstance.broadcastStatusUpdate();

_playerInstance.broadcastUserInfo();

}

}

Изменено пользователем La Luna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У тебя нет метода teleToLocation(), которые принимал бы параметры _coordinates[0], _coordinates[1], _coordinates[2], false

Есть метод, который принимает класс Location, который в свою оочередь сожержит твои координаты. Что за булева переменная, идущая последней, я не знаю.

Попробуй так:

playerInstance.teleToLocation( new Location( _coordinates[0], _coordinates[1], _coordinates[2] ) );

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[javac] _playerInstance.teleToLocation( new Location( _coordinates[0], _coordinates[1], _coordinates[2] ) );

[javac] ^

[javac] symbol: class Location

[javac] location: class TvTEventTeleporter

[javac] Note: C:\Users\Иван\Desktop\исходники\L2J\java\net\sf\l2j\Config.java uses unchecked or unsafe operations.

[javac] Note: Recompile with -Xlint:unchecked for details.

Изменено пользователем La Luna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И что это? Текст ошибки выкладывай полностью. И сразу все реализации методов teleToLocation из класса L2PcInstance

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

public void leaveOlympiadObserverMode()
{
setTarget(null);
sendPacket(new ExOlympiadMode(0));
teleToLocation(_obsX, _obsY, _obsZ);
setVisible();
setIsInvul(false);
if (getAI() != null)
{
getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
}
Olympiad.getInstance().removeSpectator(_olympiadGameId, this);
_olympiadGameId = -1;
_observerMode = false;
broadcastPacket(new CharInfo(this));
}

 

 

public void stopRentPet()
{
if (_taskRentPet != null)
{
// if the rent of a wyvern expires while over a flying zone, tp to down before unmounting
if (checkLandingState() && getMountType()==2)
teleToLocation(MapRegionTable.getInstance().getTeleToLocation(this, MapRegionTable.TeleportWhereType.Town));
_taskRentPet.cancel(false);
Ride dismount = new Ride(getObjectId(), Ride.ACTION_DISMOUNT, 0);
sendPacket(dismount);
broadcastPacket(dismount);
_taskRentPet = null;
setMountType(0);
}
}

Изменено пользователем La Luna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В эклипсе пишешь проект открыт?

Если да, то нажми Ctrl+Shift+T, туда введи L2PcInstance, открой класс из своего проекта. Там нажми Ctrl+O, начни вводить teleToLocation, он выведет все существующие методы с такими именем. Сделай скриншот или скопируй все их объявления.

 

объявление это строчечки типа public void teleToLocation( bla bla bla )

Изменено пользователем mouse
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

[javac] _playerInstance.teleToLocation( new Location( _coordinates[0], _coordinates[1], _coordinates[2] ) );

[javac] ^

[javac] symbol: class Location

[javac] location: class TvTEventTeleporter

[javac] Note: C:\Users\Иван\Desktop\исходники\L2J\java\net\sf\l2j\Config.java uses unchecked or unsafe operations.

[javac] Note: Recompile with -Xlint:unchecked for details.

 

А импорт на Location.java или только хардкор?=)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Открываете нетбинс идёте в TvTEventTeleporter.java 44 строка,смотрите ошибку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что вы его замучали

как сказал Naik

посмотрите путь к Location.java

и впишите в импорты

import net.sf.l2j.gameserver.model.Location;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.ThreadPoolManager;
import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2Summon;
import net.sf.l2j.gameserver.model.entity.TvTEvent;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.Location;

Изменено пользователем Jumper

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

импорт тут не надо! Надо метод teleToLocation в L2Character создать или переделать этот!

L2Character.java

L2TvTEventNpcInstance.java

Изменено пользователем La Luna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сравнивал с другими исходами и в

if (TvTEvent.isStarted())

 

должно быть так

if (TvTEvent.isStarted() && !_adminRemove)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в самом L2Character.java, какая то бессмыслица, если до вечера не решите, то помогу вам, вечером напишу вам в ЛС

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не это не то, надо в L2Character.java метод добавлять

Изменено пользователем La Luna

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 [javac] _playerInstance.teleToLocation(_coordinates[0], _coordinates[1], _coordinates[2], false);
[javac] ^
[javac] method L2Character.teleToLocation(TeleportWhereType) is not applicable
[javac] (actual and formal argument lists differ in length)
[javac] method L2Character.teleToLocation(Location) is not applicable
[javac] (actual and formal argument lists differ in length)
[javac] method L2Character.teleToLocation(int,int,int) is not applicable
[javac] (actual and formal argument lists differ in length)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю, в том, что писал в блокноте...

 

 

PS: Многие, кто пользуется эклипсом, даже не подозревают о наличии в нем поддержки рантайм-редактирования кода... код ядра можно менять во время его работы (за исключением изменения деклараций).

Я вообще компилирую ядро раз в 3-4 дня, для проверки "на всякий случай", и если требуется быстродействие или много памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...