Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Так я и написал как дойдет дело до аи, я не говорил сейчас, чуть внимательнее!Какой смысл прикручивать ай? Если для начала нужно разобраться с геодвигом и мувингом. После этого смотреть в скилл двиг, всё взаимодействует между собой и в самом конце только заниматься ай, который и квесты и не только содержит
Таймер же. Есть base attack speed /attack speed multiplier. Они показывают, через сколько фактически произойдет удар. Эти данные высылаются клиенту, чтобы синхронизировать скорость атаки в клиенте и "скорость" на сервере.P.S. подскажи как понять на сервере, что персонаж атаковал цель. Сейчас я меняю флаг сразу при получении пакета RequestAttack.
Я бы так не говорил, на не публичных форках давно перепиленные данные механики и не только. Просто в паблике такого нету, а у кого есть он не будет делиться.Я спросил про скрипты, чтобы увидеть серьзность намерений автора. Про гео/мувинг давно все ясно - это автор не реализует. Наивно думать, что если за 10 лет в L2J никто не смог гео-двиг запилить нормальный, то тут удастся. Если у нет представления, что со всем этим Г делать - ничего не взлетит
Предположу в пакете charinfo или userinfo есть что то типо isCombat, может еще какие attack* пакетыКак вернуть состояние чара из атаки в обычное?
Я перерыл 3 java сборки но так и не нашёл ответа) после удара у меня чар находится в состоянии атаки. В java есть константа STATE_IDLE но я не нашёл пакет, в который она передаётся. В пакете userInfo или statusupdate нет ничего подобного. Пакет ActionFailed тоже не дал результата
ServerToClientPacket_AutoAttackStart = 59,
ServerToClientPacket_AutoAttackStop = 60,
Что это за цифры такие?)Вместе с isCombat в charinfo/userinfoC++:ServerToClientPacket_AutoAttackStart = 59, ServerToClientPacket_AutoAttackStop = 60,
Может это тайм аут задач проверки состояния боя/атакиЧто это за цифры такие?)
Вот пакет из явыВместе с isCombat в charinfo/userinfoC++:ServerToClientPacket_AutoAttackStart = 59, ServerToClientPacket_AutoAttackStop = 60,
public void updatePvPStatus()
{
if (getPvpFlag() == 0) startPvPFlag();
if (getPvpFlag() != 0) setlastPvpAttack (System.currentTimeMillis()); //update last pvp ATTACK controller
}
Вы не можете просматривать ссылку пожалуйста воспользуйтесь следующими ссылками Вход или РегистрацияJava:public void updatePvPStatus() { if (getPvpFlag() == 0) startPvPFlag(); if (getPvpFlag() != 0) setlastPvpAttack (System.currentTimeMillis()); //update last pvp ATTACK controller }
writeD(_cha.getPvpFlag()); // 0-non-pvp 1-pvp = violett name
Как вернуть состояние чара из атаки в обычное?
Я перерыл 3 java сборки но так и не нашёл ответа) после удара у меня чар находится в состоянии атаки. В java есть константа STATE_IDLE но я не нашёл пакет, в который она передаётся. В пакете userInfo или statusupdate нет ничего подобного. Пакет ActionFailed тоже не дал результата
public class AutoAttackStop extends L2GameServerPacket
{
private final int _targetObjId;
/**
* @param targetObjId
*/
public AutoAttackStop(int targetObjId)
{
_targetObjId = targetObjId;
}
@Override
protected final void writeImpl()
{
writeC(0x26);//HF
writeD(_targetObjId);
}
}
ИД пакетов для С1 протоколаЧто это за цифры такие?)
03=CharInfo:
d(X)
d(Y)
d(Z)
d(Heading)
d(ObjectID)
s(Name)
d(Race)
d(Sex)
d(ClassID:Get.ClassID)
d(DHair)
d(Head:Get.Func01)
d(RHand:Get.Func01)
d(LHand:Get.Func01)
d(Gloves:Get.Func01)
d(Chest:Get.Func01)
d(Legs:Get.Func01)
d(Feet:Get.Func01)
d(Back:Get.Func01)
d(LRHand:Get.Func01)
d(Hair:Get.Func01)
d(PvpFlag)
d(Karma)
d(MSpeed)
d(PSpeed)
d(PvpFlag)
d(Karma)
d(runSpd)
d(walkSpd)
d(swimRSpd)
d(swimWSpd)
d(flRunSpd)
d(flWalkSpd)
d(flyRSpd)
d(flyWSpd)
f(SpdMul)
f(ASpdMul)
f(collisRadius)
f(collisHeight)
d(HairStyle)
d(HairColor)
d(Face)
s(Title)
d(clanID)
d(clanCrest)
d(allyID)
d(allyCrest)
d(siegeFlag)
c(isStand)
c(isRun)
c(isInFight)
c(isAlikeDead)
c(Invis)
c(Mount)
c(shop)
h(cubics:For.0001)
h(cubID)
c(findparty)
d(abnEffects)
c(RecomLeft)
h(RecomHave)
d(classID:Get.ClassID)
d(maxCP)
d(curCP)
c(isMounted)
c(Team)
d(clanBigCrestId)
c(isNoble)
c(isHero)
c(isFishing)
d(fishX)
d(fishY)
d(fishZ)
d(NameColor:Get.FCol)
c(isRun)
d(d)
d(PItem)
d(PledgeClass)
d(?PledgeColor:Get.FCol)
d(TitleColor:Get.FCol)
d(Cursed)
c(RecomLeft)
h(RecomHave)
d(classID:Get.ClassID)
d(maxCP)
d(curCP)
c(isMounted)
c(Team)
d(clanBigCrestId)
c(isNoble)
c(isHero)
c(isFishing)
d(fishX)
d(fishY)
d(fishZ)
d(NameColor:Get.FCol)
c(isRun)
d(d)
d(PItem)
d(PledgeClass)
d(?PledgeColor:Get.FCol)
d(TitleColor:Get.FCol)
d(Cursed)
А выше скидывал пакет. Там нет такого. Откуда эти данные ?вот структура пакета charinfo из c4 где присутствует переменная isInFight, как там в С1 я не знаю
Код:03=CharInfo: d(X) d(Y) d(Z) d(Heading) d(ObjectID) s(Name) d(Race) d(Sex) d(ClassID:Get.ClassID) d(DHair) d(Head:Get.Func01) d(RHand:Get.Func01) d(LHand:Get.Func01) d(Gloves:Get.Func01) d(Chest:Get.Func01) d(Legs:Get.Func01) d(Feet:Get.Func01) d(Back:Get.Func01) d(LRHand:Get.Func01) d(Hair:Get.Func01) d(PvpFlag) d(Karma) d(MSpeed) d(PSpeed) d(PvpFlag) d(Karma) d(runSpd) d(walkSpd) d(swimRSpd) d(swimWSpd) d(flRunSpd) d(flWalkSpd) d(flyRSpd) d(flyWSpd) f(SpdMul) f(ASpdMul) f(collisRadius) f(collisHeight) d(HairStyle) d(HairColor) d(Face) s(Title) d(clanID) d(clanCrest) d(allyID) d(allyCrest) d(siegeFlag) c(isStand) c(isRun) c(isInFight) c(isAlikeDead) c(Invis) c(Mount) c(shop) h(cubics:For.0001) h(cubID) c(findparty) d(abnEffects) c(RecomLeft) h(RecomHave) d(classID:Get.ClassID) d(maxCP) d(curCP) c(isMounted) c(Team) d(clanBigCrestId) c(isNoble) c(isHero) c(isFishing) d(fishX) d(fishY) d(fishZ) d(NameColor:Get.FCol) c(isRun) d(d) d(PItem) d(PledgeClass) d(?PledgeColor:Get.FCol) d(TitleColor:Get.FCol) d(Cursed)