Соло инстанс зоны

Статус
В этой теме нельзя размещать новые ответы.

Rein

Просто конченный
Местный
Сообщения
159
Розыгрыши
0
Репутация
156
Реакции
149
Баллы
1 408
Хроники
  1. Chaotic Throne: High Five
Исходники
Отсутствуют
Сборка
l2j-dev
Ребят, спасите-помогите!
Уже 2ой день сижу пытаюсь сделать новую соло инсту, никак не могу понять как ее сделать.
Всю голову уже сломал...
UPD:
Нашел тест инсту, при попытке входа в нее вылетает такое:
Вот этот скрипт, что в нем не так, почему бьёт ошибку
package npc.model;

import org.mmocore.gameserver.model.Player;
import org.mmocore.gameserver.model.instances.NpcInstance;
import org.mmocore.gameserver.serverpackets.ExShowScreenMessage;
import org.mmocore.gameserver.templates.npc.NpcTemplate;
import org.mmocore.gameserver.utils.ReflectionUtils;
import java.util.ArrayList;
import java.util.List;

public class testInstance extends NpcInstance {
public static List<String> _checkHwid = new ArrayList<>();
public testInstance(int objectId, NpcTemplate template) {
super(objectId, template);
}
@Override
public void onBypassFeedback(Player player, String command) {
if (!canBypassCheck(player, this))
return;

if(command.equalsIgnoreCase("test"))
{
for (Player member : player.getParty().getPartyMembers()){
if (_checkHwid.contains(member.getHWID()))
{
player.sendMessage("111");
_checkHwid.clear();
return;
}
_checkHwid.add(member.getHWID());
}
ReflectionUtils.simpleEnterInstancedZone(player, 166);
_checkHwid.clear();
}
else
super.onBypassFeedback(player, command);
}
@Override
public void showChatWindow(Player player, int val, Object... arg) {
showChatWindow(player, "default/test.htm");
}
}
 
Последнее редактирование:
по скрину видно что байпасс указано не правильно и скинь сам htm диалога
и да и зачем тебе этот _checkHwid.clear(); я хз
 
Реакции: Rein
В вашем коде много недоработок, у Вас нет структуры инстанс зоны, Вы пытаетесь сделать только вход, но самой инстанс зоны у Вас ещё нет. Поэтому у Вас столько ошибок.

Вот небольшой пример:
@Override
public void onBypassFeedback(Player player, String command)
{
if(!canBypassCheck(player, this))
return;

if(command.equalsIgnoreCase("request_ваше_название_команды_для_входа"))
{
ReflectionUtils.simpleEnterInstancedZone(player, тут_название_структуры_инстанс_зоны.class, тут id инстанс зоны);
}
else
super.onBypassFeedback(player, command);
}

А это нужно вписать уже в .htm
npc_%objectId%_request_ваше_название_команды_для_входа
 
И xml-ку, описывающую свойства инстанса ТС наверняка тупо забыл сделать.

простейший код, описывающий универсальные байпассы для входа/выхода в любые инстансы, имеющие стандартный тип Reflection
 
Последнее редактирование:
Всем спасибо, тему closed
 
Статус
В этой теме нельзя размещать новые ответы.