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

Ошибка

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

Всем доброго дня!

 

выдает такую ошибку при выполнении квеста 7 печатей,после трансформации в воина рассвета,

и попытке телепорта в инстансы. как исправить?

 

 

java.lang.NullPointerException

at quests._195_SevenSignSecretRitualOfThePriests._195_SevenSignSecretRitualOfThePri

ests.enterInstance(_195_SevenSignSecretRitualOfThePriests.java:86)

at quests._195_SevenSignSecretRitualOfThePriests._195_SevenSignSecretRitualOfThePri

ests.onTalk(_195_SevenSignSecretRitualOfThePriests.java:310)

at l2p.gameserver.model.quest.Quest.notifyTalk(Quest.java:654)

at l2p.gameserver.model.instances.L2NpcInstance.showQuestWindow(L2NpcInstance.java:

989)

at l2p.gameserver.model.instances.L2NpcInstance.showQuestWindow(L2NpcInstance.java:

1344)

at l2p.gameserver.model.instances.L2NpcInstance.onBypassFeedback(L2NpcInstance.java

:1086)

at l2p.gameserver.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer

.java:106)

at l2p.gameserver.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:47)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:636)

 

програмисты расшифруйте плиз,где копать? гугл ничего не дал. спасибо.

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


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

Добрый день. К сожалению со структурой фениксов не особо знаком, так что отвечу поверхностно.

_195_SevenSignSecretRitualOfThePriests в данном классе, в методе enterInstance - поступает пустое значение.

 

Если выложите его код, возможно смогу подсказать подробней.

Изменено пользователем †DeMoN†™

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


Ссылка на сообщение
Поделиться на другие сайты
Добрый день. К сожалению со структурой фениксов не особо знаком, так что отвечу поверхностно.

_195_SevenSignSecretRitualOfThePriests в данном классе, в методе enterInstance - поступает пустое значение.

 

Если выложите его код, возможно смогу подсказать подробней.

т е выложить код java файла? щас выложу.

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


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

вот

Скрытый текст
package quests._195_SevenSignSecretRitualOfThePriests;

 

import java.util.HashMap;

 

import javolution.util.FastMap;

import l2p.extensions.scripts.ScriptFile;

import l2p.gameserver.cache.Msg;

import l2p.gameserver.idfactory.IdFactory;

import l2p.gameserver.instancemanager.InstancedZoneManager;

import l2p.gameserver.instancemanager.InstancedZoneManager.InstancedZone;

import l2p.gameserver.model.L2ObjectsStorage;

import l2p.gameserver.model.L2Party;

import l2p.gameserver.model.L2Player;

import l2p.gameserver.model.Reflection;

import l2p.gameserver.model.instances.L2DoorInstance;

import l2p.gameserver.model.instances.L2NpcInstance;

import l2p.gameserver.model.quest.Quest;

import l2p.gameserver.model.quest.QuestState;

import l2p.gameserver.serverpackets.SystemMessage;

import l2p.gameserver.tables.ReflectionTable;

import l2p.gameserver.tables.SkillTable;

import l2p.gameserver.tables.DoorTable;

 

public class _195_SevenSignSecretRitualOfThePriests extends Quest implements ScriptFile

{

public class World

{

public long instanceId;

public int status;

}

private static HashMap<Long, World> worlds = new HashMap<Long, World>();

 

private static FastMap<Integer, InstancedZone> ils;

private static InstancedZone il;

 

private int KLAUDIA = 31001;

private int LIGHT = 32575;

private int JOHN = 32576;

private int PASSWORD = 32577;

private int IDENTIFER = 32578;

private int BACK_LIGHT = 32579;

private int BOOK1 = 32580;

private int BOOK2 = 32581;

private int RAYMOND = 30289;

private int IASON = 30969;

private int doorst = 0;

 

private int IDENTITY_CARD = 13822;

private int CONTRACT = 13823;

 

public void onLoad()

{}

 

public void onReload()

{}

 

public void onShutdown()

{}

 

public _195_SevenSignSecretRitualOfThePriests()

{

super(false);

 

addStartNpc(KLAUDIA);

addTalkId(KLAUDIA);

addTalkId(JOHN);

addTalkId(LIGHT);

addTalkId(BACK_LIGHT);

addTalkId(IDENTIFER);

addTalkId(RAYMOND);

addTalkId(PASSWORD);

addTalkId(IASON);

addTalkId(BOOK1);

addTalkId(BOOK2);

addQuestItem(IDENTITY_CARD);

addQuestItem(CONTRACT);

}

 

private void enterInstance(L2Player player)

{

String lang = player.getVar("lang@");

L2Party party = player.getParty();

if(party == null)

{

ils = InstancedZoneManager.getInstance().getById(111);

il = ils.get(0);

assert il != null;

 

Reflection r = ReflectionTable.getInstance().get(player.getReflection().getId());

r = new Reflection(IdFactory.getInstance().getNextId());

 

if(ils == null)

{

player.sendPacket(Msg.SYSTEM_ERROR);

return;

}

 

for(InstancedZone i : ils.values())

{

if(r.getReturnLoc() == null)

r.setReturnLoc(i.getReturnCoords());

if(r.getTeleportLoc() == null)

r.setTeleportLoc(i.getTeleportCoords());

r.FillSpawns(i.getSpawnsInfo());

if(i.getDoors() != null)

for(L2DoorInstance d : i.getDoors())

{

L2DoorInstance door = d.clone();

r.addDoor(door);

door.setReflection®;

door.spawnMe();

}

}

int timelimit = il.getTimelimit();

World world = new World();

world.status = 0;

world.instanceId = r.getId();

worlds.put(r.getId(), world);

player.setReflection®;

player.teleToLocation( -76157, 213413, -7120);

r.startCollapseTimer(timelimit * 60 * 1000L);

player.broadcastPacket(new SystemMessage(SystemMessage.THIS_DUNGEON_WILL_EXPIRE_IN_S1_MINUTES).addNumber(ti

melimit));

}

else

{

if(lang.equalsIgnoreCase("en"))

player.sendMessage("This quest avaliable only for one person!");

else

player.sendMessage("Это задание только для одного человека!");

}

}

 

@Override

public String onEvent(String event, QuestState st, L2NpcInstance npc)

{

String htmltext = event;

L2Player player = st.getPlayer();

int password = st.getInt("password");

World world = worlds.get(player.getReflection().getId());

if(event.equalsIgnoreCase("31001-05.htm"))

{

st.setState(STARTED);

st.set("cond", "1");

st.playSound(SOUND_ACCEPT);

}

if(event.equalsIgnoreCase("32576-02.htm"))

{

st.set("cond", "2");

st.giveItems(IDENTITY_CARD, 1);

st.playSound(SOUND_MIDDLE);

}

if(event.equalsIgnoreCase("30289-04.htm"))

{

if(st.getInt("cond") < 3)

{

st.set("cond", "3");

st.playSound(SOUND_MIDDLE);

}

player.altUseSkill(SkillTable.getInstance().getInfo(6204, 1), player);

}

if(event.equalsIgnoreCase("30289-07.htm"))

player.setTransformation(0);

if(event.equalsIgnoreCase("32578-03.htm"))

{

if(world.status == 0)

{

Reflection r = ReflectionTable.getInstance().get(world.instanceId);

r.openDoor(17240001);

r.openDoor(17240002);

doorst++;

npc.deleteMe();

world.status = 1;

return "32578-03.htm";

}

else if (world.status == 1)

{

Reflection r = ReflectionTable.getInstance().get(world.instanceId);

r.openDoor(17240003);

r.openDoor(17240004);

doorst++;

world.status = 1;

L2Player pl = L2ObjectsStorage.getPlayer(player.getObjectId());

 

if (pl != null)

{

pl.showQuestMovie(11);

startQuestTimer("Part4",180000,null,player);

}

npc.deleteMe();

htmltext = "32578-03.htm";

}

}

if(event.equalsIgnoreCase("password71"))

{

if(password == 3)

{

Reflection r = ReflectionTable.getInstance().get(world.instanceId);

st.unset("password");

r.openDoor(17240005);

r.openDoor(17240006);

return "32577-03.htm";

}

else

htmltext = "32577-02.htm";

}

if(event.equalsIgnoreCase("password72"))

{

if(password == 0)

{

st.set("password", "1");

htmltext = "32577-02.htm";

}

else

htmltext = "32577-02.htm";

}

if(event.equalsIgnoreCase("password78"))

{

if(password == 2)

{

st.set("password", "3");

htmltext = "32577-02.htm";

}

else

htmltext = "32577-02.htm";

}

if(event.equalsIgnoreCase("password79"))

{

if(password == 1)

{

st.set("password", "2");

htmltext = "32577-02.htm";

}

else

htmltext = "32577-02.htm";

}

if(event.equalsIgnoreCase("32580-03.htm"))

{

if(st.getQuestItemsCount(CONTRACT) == 0)

{

st.takeItems(IDENTITY_CARD, -1);

st.giveItems(CONTRACT, 1);

return "32580-03.htm";

}

else

return "32580-00.htm";

 

}

if(event.equalsIgnoreCase("30289-09.htm"))

{

st.takeItems(CONTRACT, -1);

st.set("cond", "4");

}

if(event.equalsIgnoreCase("30969-02.htm"))

{

st.addExpAndSp(52518015, 5817677);

st.unset("cond");

st.setState(COMPLETED);

st.exitCurrentQuest(false);

st.playSound(SOUND_FINISH);

}

else if (event.equalsIgnoreCase("Part4"))

{

player.teleToLocation(-78383, 205845, -7889);

return "Вы не успели взять контракт императора и Вас обнаружили, попробуйте снова.";

}

return htmltext;

}

 

@Override

public String onTalk(L2NpcInstance npc, QuestState st)

{

String htmltext = "noquest";

int npcId = npc.getNpcId();

int cond = st.getInt("cond");

L2Player player = st.getPlayer();

 

QuestState qs = player.getQuestState("_194_SevenSignContractOfMammon");

if(npcId == KLAUDIA)

{

if(qs != null && qs.isCompleted() && player.getLevel() >= 79 && cond == 0)

htmltext = "31001-01.htm";

else if(cond == 1)

htmltext = "31001-06.htm";

else

return "31001-00.htm";

}

if(npcId == JOHN)

{

if(cond == 1)

htmltext = "32576-01.htm";

else if(cond == 2)

htmltext = "32576-03.htm";

}

if(npcId == RAYMOND)

{

if(cond == 2)

htmltext = "30289-01.htm";

else if(cond == 3 && player.getTransformation() == 0 && st.getQuestItemsCount(CONTRACT) == 0)

htmltext = "30289-06.htm";

else if(cond == 3 && player.getTransformation() != 0 && st.getQuestItemsCount(CONTRACT) == 0)

htmltext = "30289-10.htm";

else if(cond == 3 && st.getQuestItemsCount(CONTRACT) > 0)

htmltext = "30289-08.htm";

}

if(npcId == LIGHT)

{

if(player.getTransformation() == 113)

{

htmltext = "32575-02.htm";

enterInstance(player);

}

else

htmltext = "32575-01.htm";

}

if(npcId == BACK_LIGHT)

{

if( st.getQuestItemsCount(CONTRACT) > 0)

{

htmltext = "32579-01.htm";

player.setReflection(0);

player.teleToLocation(il.getReturnCoords());

}

else

htmltext = "32579-00.htm";

}

 

if(npcId == IDENTIFER)

{

if(st.getQuestItemsCount(IDENTITY_CARD) > 0 && player.getTransformation() == 113)

htmltext = "32578-01.htm";

else

htmltext = "32578-02.htm";

}

if(npcId == PASSWORD)

htmltext = "32577-01.htm";

if(npcId == IASON)

{

if(cond == 4)

htmltext = "30969-01.htm";

}

if(npcId == BOOK1)

htmltext = "32580-01.htm";

if(npcId == BOOK2)

htmltext = "32581-01.htm";

return htmltext;

}

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


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

InstancedZoneManager.getInstance().getById(111);

 

Возвращает значение null, как вариант, ошибка в ID инстанса.

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


Ссылка на сообщение
Поделиться на другие сайты
InstancedZoneManager.getInstance().getById(111);

 

Возвращает значение null, как вариант, ошибка в ID инстанса.

скажи пожалуйста где искать id инстансов, и куда их прописывать? в этом же файле.

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


Ссылка на сообщение
Поделиться на другие сайты
скажи пожалуйста где искать id инстансов, и куда их прописывать? в этом же файле.

 

Как уже писал, со структурой фениксов не знаком да и с хрониками выше интерлюда всего пару раз работал.

Сейчас покапался в своей коллекции исходников, в одной из сборок ID этого инстанса = 513.

 

111 замените на 513

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


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

Не помогло видно ид не тот,дайте пожалуйста ссылку,на базу где можно найти все эти id.

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


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

Поищите в датапаке xml'ы, связанные с instance (поиск по имени).

Возможно там какая нибудь информация.

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


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

здесь искать instances.xml и как имя инстанса,простите учусь только(

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


Ссылка на сообщение
Поделиться на другие сайты
Там. Напишите какая у вас сборка, попробую покапаться.

Phoenix Epilogue rev.20736

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


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

Появился у меня тут 1 вариант. Сейчас только разберусь немного со структурой и отпишу.

 

Вроде ошибок быть никаких не должно.

 

Скрытый текст
<instance id="513" name="Seven Sign Secret Ritual Of The Priests" timelimit="60" resetReuse="0 0 * * *">
	<level min="79" max="85"/>
	<return loc="-12491 122331 -2959"/>
	<location id="0">
		<teleport loc="-75944 213400 -7120"/>
		<spawn mobId="32578" type="point">
			<coords loc="-75710 213535 -7126 0"/>
			<coords loc="-78355 205781 -7892 0"/>
		</spawn>
		<spawn mobId="32577" type="point">
			<coords loc="-80133 205743 -7888 0"/>
		</spawn>
		<spawn mobId="32580" type="point">
			<coords loc="-81386 205562 -7992 0"/>
		</spawn>
		<spawn mobId="32579" type="point">
			<coords loc="-76003 213413 -7124 0"/>
		</spawn>
		<spawn mobId="27349" type="point">
			<coords loc="-74949 212300 -7312 0"/>
			<coords loc="-75368 211886 -7312 0"/>
			<coords loc="-74549 211689 -7315 0"/>
			<coords loc="-75220 211453 -7312 0"/>
			<coords loc="-74717 211457 -7315 0"/>
		</spawn>
		<spawn mobId="27347" type="point">
			<coords loc="-74948 213468 -7218 0"/>
		</spawn>
		<spawn mobId="27351" type="point">
			<coords loc="-75329 209990 -7412 0"/>
			<coords loc="-74568 209981 -7410 0"/>
			<coords loc="-74279 208794 -7506 0"/>
			<coords loc="-75638 208763 -7506 0"/>
			<coords loc="-74959 207618 -7506 0"/>
			<coords loc="-73877 206617 -7506 0"/>
			<coords loc="-74526 206618 -7506 0"/>
			<coords loc="-77703 208112 -7696 0"/>
			<coords loc="-77705 207457 -7696 0"/>
		</spawn>
		<spawn mobId="27348" type="point">
			<coords loc="-75230 210142 -7413 0"/>
			<coords loc="-74653 209824 -7410 0"/>
			<coords loc="-76606 207967 -7602 0"/>
			<coords loc="-76603 208409 -7602 0"/>
			<coords loc="-76590 208749 -7602 0"/>
			<coords loc="-76891 209223 -7601 0"/>
			<coords loc="-77276 209238 -7602 0"/>
			<coords loc="-75411 207143 -7511 0"/>
			<coords loc="-75442 207969 -7511 0"/>
			<coords loc="-78707 206182 -7893 0"/>
			<coords loc="-79653 206549 -7893 0"/>
		</spawn>
		<spawn mobId="27350" type="point">
			<coords loc="-78258 207303 -7698 0"/>
			<coords loc="-77129 207269 -7698 0"/>
			<coords loc="-77131 208328 -7698 0"/>
			<coords loc="-78196 208337 -7698 0"/>
			<coords loc="-78947 206257 -7893 0"/>
			<coords loc="-79364 206453 -7893 0"/>
			<coords loc="-79782 206287 -7893 0"/>
			<coords loc="-79791 205431 -7893 0"/>
			<coords loc="-79358 205244 -7893 0"/>
			<coords loc="-78934 205430 -7893 0"/>
			<coords loc="-74948 211869 -7314 0"/>
		</spawn>
	</location>
	<door id="17240001" opened="false"/>
	<door id="17240002" opened="false"/>
	<door id="17240003" opened="false"/>
	<door id="17240004" opened="false"/>
	<door id="17240005" opened="false"/>
	<door id="17240006" opened="false"/>
</instance>

 

Закиньте его в instance.xml

 

id инстанса измените на нужный (111 или 513, как вы его оставили)

Изменено пользователем †DeMoN†™

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


Ссылка на сообщение
Поделиться на другие сайты
тоже интересно решил пилять фениксов))

А я как то фениксов не люблю, поддерживаю старую добрую марку лыжи)

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


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

Помогло телепортация прошла успешно,теперь другая проблемма. после прохождения поверки на личность, пишется что двери открываются,чего на самом деле не происходит.и еще сразу пропадают все нпс на сервере. :spiteful:

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


Ссылка на сообщение
Поделиться на другие сайты
Помогло телепортация прошла успешно,теперь другая проблемма. после прохождения поверки на личность, пишется что двери открываются,чего на самом деле не происходит.и еще сразу пропадают все нпс на сервере. :spiteful:

 

А ошибки какие-то пишет?

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


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

логи абсолютно чистые,ошибок ни каких не пишет. вру вот просто не обновила данные.

Скрытый текст
at commands.admin.AdminDoorControl.useAdminCommand(AdminDoorControl.java:37)

at l2p.gameserver.handler.AdminCommandHandler.useAdminCommandHandler(AdminCommandHa

ndler.java:60)

at l2p.gameserver.clientpackets.RequestBypassToServer.runImpl(RequestBypassToServer

.java:53)

at l2p.gameserver.clientpackets.L2GameClientPacket.run(L2GameClientPacket.java:47)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

at java.lang.Thread.run(Thread.java:636)

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

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


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

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

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

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