Сообщений: 11
Тем: 1
Зарегистрирован: Dec 2015
Репутация:
-1
03-25-2016, 11:16 PM
(Сообщение последний раз редактировалось: 03-26-2016, 01:25 AM ivanius.)
Спасибо всем за помощь, а можно еще ссылку на тему или как-то сюда поместить правильные точки телепортации от гейткипера из ГОДа особенно интересует Z правильный но от точного X\Y не откажусь.
А то у меня город людей вообще не работает там теперь артеи и все точки не к черту, понял что нужно все проверять.
Заранее благодарю всех за помощь.
Редактирую файл teleport.sql
UPD: нашел в шареных сброках, вроде пока ок.
Сообщений: 329
Тем: 16
Зарегистрирован: Nov 2014
Mantra Написал:Ищу патчик кореи с отключенным GG итд. 55 protocol (Lineage II Helios/Lineage II Classic 2.0: Saviors)
http://m0nster.io/ качаем-> отключаем -> pofit
Сообщений: 109
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
7
Какие основные пакеты нужны для входа на 28 протакол? При поднятии с HF сурса?
Апнул основные user info, char info, CharacterSelectionInfo
И еще около 200+ более менее основных пакетов. При выборе чара вечная загрузка... Но user info брал с другой аналогичной сборки где он 100% работал.
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
а ты точно проверь, корректно ли у тебя описаны все методы отправки данных в пакетах.
у меня вот к примеру в свое время после апа нашего серва линда до этреи причиной вечной загрузки была вобще примитивнейшая причина, на которую я даже не обратил внимания вначале - имя и титул необходимо было слать без нулевого байта, т.е. стандартный writeS не подходит для этого.
З.Ы. так же на будущее - в нескольких пакетах еще используется тип поля, который ранее не использовался - float, т.е. writeF, отсылающий double - в данном случае не подойдет.
Сообщений: 77
Тем: 14
Зарегистрирован: Jun 2015
Репутация:
-117
Здравствуйте.
При заселении инст Таинственная Таверна Кельбим и Лагерь серой тени, столкнулся со следующей проблемой
Шмотки одевал на них, оружие давал, тишина...
Возможно кто-то сталкивался и подскажет решение?
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
Сообщений: 109
Тем: 4
Зарегистрирован: Oct 2015
Репутация:
7
04-21-2016, 05:19 PM
(Сообщение последний раз редактировалось: 04-21-2016, 09:11 PM Mantra.)
Gaikotsu Написал:а ты точно проверь, корректно ли у тебя описаны все методы отправки данных в пакетах.
у меня вот к примеру в свое время после апа нашего серва линда до этреи причиной вечной загрузки была вобще примитивнейшая причина, на которую я даже не обратил внимания вначале - имя и титул необходимо было слать без нулевого байта, т.е. стандартный writeS не подходит для этого.
З.Ы. так же на будущее - в нескольких пакетах еще используется тип поля, который ранее не использовался - float, т.е. writeF, отсылающий double - в данном случае не подойдет.
Проблема оказалось банальная, сравнил оверский пакет с l2j mobius там место writeB(new byte[]{(byte) 0xFF, (byte) 0xFF, (byte) 0xFF}); там идут 0x00. Странно конечно как это работало раньше. Заменил на нули в пустило)
Теперь другое, все по нулям (кроме хп сп мп) в статусе персонажа, откуда берется информация? Например в админке всю информацию о чаре показывает правильно.
Сообщений: 77
Тем: 14
Зарегистрирован: Jun 2015
Репутация:
-117
Gaikotsu Написал:а npc state менял? Спасибо. Разобрался. Подскажи пожалуйста по Пространственному Барьеру, какой моб вызывает спавн Саламандры? ( http://l2on.net/?c=npc&id=23466)
Сообщений: 1,065
Тем: 20
Зарегистрирован: Mar 2010
Репутация:
3,855
19563
не скажу что по оффу, но главное работает
[SRC="java"]package ai.DimensionalWarp;
import instances.DimensionalWarp;
import l2p.commons.util.Rnd;
import l2p.gameserver.ai.CtrlEvent;
import l2p.gameserver.ai.DefaultAI;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.instances.NpcInstance;
import l2p.gameserver.utils.NpcUtils;
public class SalamanderSpawner extends DefaultAI
{
private static final int[] _chances = { 11, 22, 33 };
private long _nextSpawnTime;
private DimensionalWarp _ref;
public SalamanderSpawner(NpcInstance actor)
{
super(actor);
AI_TASK_ACTIVE_DELAY = 1000;
_nextSpawnTime = System.currentTimeMillis() + 5000;
}
@Override
protected void onEvtSpawn()
{
super.onEvtSpawn();
if (getActor().getReflection() instanceof DimensionalWarp)
_ref = (DimensionalWarp) getActor().getReflection();
else
_ref = null;
}
private int getSalamanderId()
{
int floor = _ref.getFloor();
if (floor > 0 && floor <= 10)
return 23466;
else if (floor > 10 && floor <= 20)
return 23473;
else
return 23479;
}
@Override
protected boolean thinkActive()
{
if (_ref != null && _nextSpawnTime <= System.currentTimeMillis())
{
_nextSpawnTime = System.currentTimeMillis() + 30000;
if (!Rnd.chance(_chances[_ref.getMode()]))
return super.thinkActive();
NpcInstance mob = NpcUtils.spawnSingle(getSalamanderId(), getActor().getLoc(), _ref, 120000);
if (mob != null)
for (Player player : _ref.getPlayers())
if (player != null && !player.isDead())
getActor().getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, player, Rnd.get(100, 200));
}
return super.thinkActive();
}
}[/SRC]
Сообщений: 77
Тем: 14
Зарегистрирован: Jun 2015
Репутация:
-117
Gaikotsu Написал:19563
не скажу что по оффу, но главное работает
[SRC="java"]package ai.DimensionalWarp;
import instances.DimensionalWarp;
import l2p.commons.util.Rnd;
import l2p.gameserver.ai.CtrlEvent;
import l2p.gameserver.ai.DefaultAI;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.instances.NpcInstance;
import l2p.gameserver.utils.NpcUtils;
public class SalamanderSpawner extends DefaultAI
{
private static final int[] _chances = { 11, 22, 33 };
private long _nextSpawnTime;
private DimensionalWarp _ref;
public SalamanderSpawner(NpcInstance actor)
{
super(actor);
AI_TASK_ACTIVE_DELAY = 1000;
_nextSpawnTime = System.currentTimeMillis() + 5000;
}
@Override
protected void onEvtSpawn()
{
super.onEvtSpawn();
if (getActor().getReflection() instanceof DimensionalWarp)
_ref = (DimensionalWarp) getActor().getReflection();
else
_ref = null;
}
private int getSalamanderId()
{
int floor = _ref.getFloor();
if (floor > 0 && floor <= 10)
return 23466;
else if (floor > 10 && floor <= 20)
return 23473;
else
return 23479;
}
@Override
protected boolean thinkActive()
{
if (_ref != null && _nextSpawnTime <= System.currentTimeMillis())
{
_nextSpawnTime = System.currentTimeMillis() + 30000;
if (!Rnd.chance(_chances[_ref.getMode()]))
return super.thinkActive();
NpcInstance mob = NpcUtils.spawnSingle(getSalamanderId(), getActor().getLoc(), _ref, 120000);
if (mob != null)
for (Player player : _ref.getPlayers())
if (player != null && !player.isDead())
getActor().getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, player, Rnd.get(100, 200));
}
return super.thinkActive();
}
}[/SRC]
При много благодарен=)
|