11-10-2011, 03:27 PM
(Сообщение последний раз редактировалось: 11-10-2011, 06:32 PM Cheatkiller.)
Всем привет! Скажу сразу в яве я новичек=)По этому кто может помогите разобраться в данном случае.
Хотел добавить эффекту отталкивания (StaggerEffect.java) перемещение следующего вида: Враг перемещается на 5м в противоположную сторону от стороны в которую он обращен лицом.
Но Получается что врага отодвигает в сторону.
Конструктор такого вида
final Creature effected = effect.getEffected();
effected.getController().cancelCurrentSkill();
effect.setAbnormal(EffectId.STAGGER.getEffectId());
effect.getEffected().getEffectController().setAbnormal(EffectId.STAGGER.getEffectId());
double radian = Math.toRadians(MathUtil.convertHeadingToDegree(effected.getHeading()));
float x = effected.getX();
float y = effected.getY();
float z = effected.getZ();
int distance = 5; //TODO: move to effect template
float x2 = (float)(x + (distance * Math.cos(Math.PI+radian)));
float y2 = (float)(y + (distance * Math.sin(Math.PI+radian)));
PacketSendUtility.broadcastPacketAndReceive(effect.getEffected(), new SM_FORCED_MOVE(effect.getEffected(), x2, y2, z + 0.25f));
PS Взято из описания эффекта скилла Изгиб пространства
Добавлено через 3 часа 4 минуты
Печально, если никто у себя такое не реализовал(
Просто это важный момент в работе скиллов, так что у кого получилось скиньте, в долгу не останусь)
Хотел добавить эффекту отталкивания (StaggerEffect.java) перемещение следующего вида: Враг перемещается на 5м в противоположную сторону от стороны в которую он обращен лицом.
Но Получается что врага отодвигает в сторону.
Конструктор такого вида
final Creature effected = effect.getEffected();
effected.getController().cancelCurrentSkill();
effect.setAbnormal(EffectId.STAGGER.getEffectId());
effect.getEffected().getEffectController().setAbnormal(EffectId.STAGGER.getEffectId());
double radian = Math.toRadians(MathUtil.convertHeadingToDegree(effected.getHeading()));
float x = effected.getX();
float y = effected.getY();
float z = effected.getZ();
int distance = 5; //TODO: move to effect template
float x2 = (float)(x + (distance * Math.cos(Math.PI+radian)));
float y2 = (float)(y + (distance * Math.sin(Math.PI+radian)));
PacketSendUtility.broadcastPacketAndReceive(effect.getEffected(), new SM_FORCED_MOVE(effect.getEffected(), x2, y2, z + 0.25f));
PS Взято из описания эффекта скилла Изгиб пространства
Добавлено через 3 часа 4 минуты
Печально, если никто у себя такое не реализовал(
Просто это важный момент в работе скиллов, так что у кого получилось скиньте, в долгу не останусь)