Вопрос по инсте

Project-X

Baron
Customer
Всем привет. Решил я разобраться с инстой. Сделал все по гайду, телепортирует, проверка телепорта на итем работает. Все отлично, НО
Непонятка в заключается в том, что первый раз подходя к нпс и пытаясь телепортнуться без итема, он посылает тебя (Далеко и на долго за итемом)
Но если закинуть его в сумку то все отлично пропускает, так и нужно. (Работает, отлично)
После того как умер в инсте и появляешься в гиране, должен сработать счетчик на посещения , например 1 раз в 10 минут. (У меня так стоит)
Но счетчик не срабатывает и так же благополучно запускает в инсту по второму кругу. (Это пол беды)
Если удалить итем из сумки (После удачного первого входа в инсту) , то и без него спокойно пускает.
Должно так быть ?) или моя свеча накала в голове нуждается в большом ТО.
<list>
<instance id="31" name="Siege Location" maxChannels="12" collapseIfEmpty="5" timelimit="60" dispelBuffs="false">
<collapse on-party-dismiss="true" timer="60"/>
<level min="70" max="80"/>
<party min="1" max="6"/>
<return loc="82944 149239 -3472"/>
<teleport loc="115198 16617 10080"/>
<geodata map="23_18"/>
<remove itemId="6835" count="0" necessary="true"/>
<give itemId="0" count="0"/>
<quest id="0"/>
<reuse resetReuse="10 * * * *" setUponEntry="true" sharedReuseGroup="1"/> <!-- Instance reuse at 6:30 every day -->
<spawns>
<spawn mobId="25657" type="point">
<coords loc="180375 -88984 -7216"/>
</spawn>
<spawn mobId="25658" type="point">
<coords loc="182168 -88968 -7216"/>
</spawn>
<spawn mobId="25659" type="point">
<coords loc="183911 -88969 -7216 "/>
</spawn>
</spawns>
</instance>
</list>
 
Всем привет. Решил я разобраться с инстой. Сделал все по гайду, телепортирует, проверка телепорта на итем работает. Все отлично, НО
Непонятка в заключается в том, что первый раз подходя к нпс и пытаясь телепортнуться без итема, он посылает тебя (Далеко и на долго за итемом)
Но если закинуть его в сумку то все отлично пропускает, так и нужно. (Работает, отлично)
После того как умер в инсте и появляешься в гиране, должен сработать счетчик на посещения , например 1 раз в 10 минут. (У меня так стоит)
Но счетчик не срабатывает и так же благополучно запускает в инсту по второму кругу. (Это пол беды)
Если удалить итем из сумки (После удачного первого входа в инсту) , то и без него спокойно пускает.
Должно так быть ?) или моя свеча накала в голове нуждается в большом ТО.
А ты после смерти ждешь закрытия инста? Или уже после того как инстанс зона закрылась нпц все равно пускает?
 
А ты после смерти ждешь закрытия инста? Или уже после того как инстанс зона закрылась нпц все равно пускает?
тоесть получается пока инстанс не закрыт (это время жизни инстанса)
 
Я так понимаю выставив время жизни инстанса например 60. Cоответственно фармить в нeм можно будет 60 минут?
 
Last edited:
Напишу в этой же теме. Дабы не разводить кучу.

Вопрос так же по инстансам.
Хочу реализовать 3 уровня соло инстанс, и 3 уровня пати инстанса. Но нужно что бы при посещении одного инстанса из трех уровней, откат накладываться сразу на три уровня.
Разделение по уровням не подходит. Так как пвп сервер .
 
Напишу в этой же теме. Дабы не разводить кучу.

Вопрос так же по инстансам.
Хочу реализовать 3 уровня соло инстанс, и 3 уровня пати инстанса. Но нужно что бы при посещении одного инстанса из трех уровней, откат накладываться сразу на три уровня.
Разделение по уровням не подходит. Так как пвп сервер .
советую изучить, там есть ответ
 
sharedReuseGroup="1" Одинаковое значения на всё три инста не обязательно "1"
Тогда наберусь наглости задать еще вопрос. Как реализовать итем , который будет сбрасывать время отката инстанса ?
 
Тогда наберусь наглости задать еще вопрос. Как реализовать итем , который будет сбрасывать время отката инстанса ?
Заюзать поиск или посмотреть гайды, в том числе англ разделе, там есть все
 
package handler.items;

import l2.gameserver.model.Player;
import l2.gameserver.model.items.ItemInstance;
import l2.gameserver.network.l2.s2c.SystemMessage;

public class Kamaloka extends SimpleItemHandler {
private static final int[] ITEM_IDS = new int[]{80307, 80449, 80501, 13011, 20028};

public Kamaloka() {
}

public int[] getItemIds() {
return ITEM_IDS;
}

protected boolean useItemImpl(Player player, ItemInstance item, boolean ctrl) {
int itemId = item.getItemId();
switch (itemId) {
case 13011:
if (player.getInstanceReuse(97) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(97);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 20028:
if (player.getInstanceReuse(107) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(107);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 80307:
if (player.getInstanceReuse(79) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(79);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 80449:
if (player.getInstanceReuse(73) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(73);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 80501:
if (player.getInstanceReuse(84) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(84);
player.sendPacket((new SystemMessage("Подземелье доступно для повторного Входа")).addItemName(itemId));
} else {
System.out.println(new SystemMessage(113));
}
}

return false;
}
}

я надеюсь дальше разберешься что да как.
 
package handler.items;

import l2.gameserver.model.Player;
import l2.gameserver.model.items.ItemInstance;
import l2.gameserver.network.l2.s2c.SystemMessage;

public class Kamaloka extends SimpleItemHandler {
private static final int[] ITEM_IDS = new int[]{80307, 80449, 80501, 13011, 20028};

public Kamaloka() {
}

public int[] getItemIds() {
return ITEM_IDS;
}

protected boolean useItemImpl(Player player, ItemInstance item, boolean ctrl) {
int itemId = item.getItemId();
switch (itemId) {
case 13011:
if (player.getInstanceReuse(97) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(97);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 20028:
if (player.getInstanceReuse(107) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(107);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 80307:
if (player.getInstanceReuse(79) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(79);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 80449:
if (player.getInstanceReuse(73) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(73);
player.sendPacket((new SystemMessage(113)).addItemName(itemId));
} else {
System.out.println(113);
}
break;
case 80501:
if (player.getInstanceReuse(84) > 0L) {
useItem(player, item, 1L);
player.removeInstanceReuse(84);
player.sendPacket((new SystemMessage("Подземелье доступно для повторного Входа")).addItemName(itemId));
} else {
System.out.println(new SystemMessage(113));
}
}

return false;
}
}

я надеюсь дальше разберешься что да как.
Спасибо большое! Сегодня вечером затестим)
 
Back
Top