21.05.2014, 15:17
|
#383
|
Пользователь
Регистрация: 08.07.2013
Сообщений: 199
Отблагодарили 77 раз(а)
|
Re: Работа над Goddess of Destruction (part 6)
Цитата:
Сообщение от Gaikotsu
2Melcor:
таки да, использование ExAlterSkillRequest для вызова кнопки альтер скиллов оказалось тупиковым путем :/
сия кнопка при отправке пакета показывается у меня не у всех персонажей. причем закономерности отображения я так и не выяснил - даже на полностью идентичных по профе, уровню и скиллам персонажах у одного кнопку показывает, а у второго - нет.
так что реализовал всю систему с этими комбо через ExAbnormalStatusUpdateFromTarget.
в сявзи с этим назрел еще один вопрос - может тоже кто знает решение.
вобщем не все альтер скиллы почему-то у меня имеют анимацию каста. вот к примеру 10249 имеет - персонаж подскакивает в воздух и наносит там несколько ударов по цели. а вот 10250 не имеет анимации, хотя мой помощник говорит что на оффе анимация там тоже должна быть - игрок так же подскакивает в воздух а затем вроде как прыгает на лежащую на земле цель с нанесением удара. и такая фигня у меня со всеми остальными альтер скиллами - 10499/10500, 10749/10750 и т.д. - первый скилл имеет анимацию, а второй нет.
были идее конечно что для показа анимации этих скиллов надо слать еще какую-то дополнительную информацию о том, что цель лежит на земле, но что-то ума не приложу как это сделать - ведь по идее клиенту вполне должно быть достаточно информации от висящего на цели абнормала кнокдауна...
|
Физ скиллы без анимации - это прыжки с FlyType == CHARGE, вставить это и анимация должна появиться.
Свернуть ↑
Код:
package lineage2.gameserver.network.serverpackets;
import lineage2.gameserver.model.Creature;
import lineage2.gameserver.network.serverpackets.components.ServerPacket;
import lineage2.gameserver.utils.Location;
public class FlyToLocation extends L2GameServerPacket
{
private int _chaObjId;
private final FlyType _type;
private Location _loc;
private Location _destLoc;
private int _speed;
private int _speed2;
public enum FlyType
{
THROW_UP,//0
THROW_HORIZONTAL,//1
DUMMY,//2
CHARGE,//3
PUSH_HORIZONTAL,//4
JUMP_EFFECTED,//5
NOT_USED,//6
PUSH_DOWN_HORIZONTAL,//7
WARP_BACK,//8
WARP_FORWARD,//9
NONE;// 10
// скилов
// надо...
}
public FlyToLocation(Creature cha, Location destLoc, FlyType type, int speed, int speed2)
{
_destLoc = destLoc;
_type = type;
_chaObjId = cha.getObjectId();
_loc = cha.getLoc();
_speed = speed;
_speed2 = speed2;
}
@Override
protected void writeImpl()
{
writeC(ServerPacket.FlyToLocation);
writeD(_chaObjId);
writeD(_destLoc.x);
writeD(_destLoc.y);
writeD(_destLoc.z);
writeD(_loc.x);
writeD(_loc.y);
writeD(_loc.z);
writeD(_type.ordinal());
writeD(_speed);
writeD(_speed2); //хз что это, но при притягивании изменяется
}
}
Свернуть ↑Развернуть ↓
з.ы. да и вообще асима птску где-то сперла, так что в скором времени можно более детально все проснифать.
|
|
|