Jump to content

Question

Posted

l2jfrozen-1004

 

Hello,

So there is a bug with melee attack ,when you exceed 1600 attack speed if you keep pressing the Attack button(F1) somehow bugs and is like 5000 attack speed.

I've noticed that when you move a little to the side of your opponent while pressing F1 then starts bugging

If you only hit F1 once it hits normally.

How can I fix this?

Recommended Posts

  • 0
Posted (edited)

I'm not familiar with l2jfrozen, so i have no idea why the others are suggesting you to update your files, but i believe this to be a client issue, in which case finding a way to fix would be really tough and would require modifying engine.dll

 

I could definetely be wrong, i have never checked IL client atk spd cap, but the bug you are describing sounds like that.

 

Edit: Seems like i was right, i don't see anything wrong with frozen files, should be client issue.

Edited by Versus
  • 0
Posted (edited)

I'm not familiar with l2jfrozen, so i have no idea why the others are suggesting you to update your files, but i believe this to be a client issue, in which case finding a way to fix would be really tough and would require modifying engine.dll

 

I could definetely be wrong, i have never checked IL client atk spd cap, but the bug you are describing sounds like that.

 

Edit: Seems like i was right, i don't see anything wrong with frozen files, should be client issue.

 

It's more a task issue ; task are never stored somewhere, so can't be retrieved to be canceled "in case of". It happens on few other places over L2J and is a common issue on old writting style (and as none decided to work on system such as MMOCore, movement, attack (,...) since litterally a decade, you got 10y old code maze).

 

If task system works as intented, it's a Intention issue. If Intention system works as intented :D.

Edited by Tryskell
  • 0
Posted

It's more a task issue ; task are never stored somewhere, so can't be retrieved to be canceled "in case of". It happens on few other places over L2J and is a common issue on old writting style (and as none decided to work on system such as MMOCore, movement, attack (,...) since litterally a decade, you got 10y old code maze).

 

If task system works as intented, it's a Intention issue. If Intention system works as intented :D.

Thanks for the explanation, didn't really look into this, i just somehow remembered hearing before this was client issue and checked the frozen attack time calculation method, which is the basic L2J one.

  • 0
Posted

Thank you for your answers.

 

On aCis you can do it as well.

 But on aCis if you click the floor to move he starts moving so the bug dont really work (ive tried)

 

So these are mmocore settings maybe change something from here?

#=========================================#
#   MMOCore Connection Settings           #
#=========================================#

# ---------------------------- #
#  Debug and Develop logging   #
# ---------------------------- #
EnableMMOCoreDebug = False
EnableMMOCoreDevelop = False
EnableMMOCoreExceptions = False
PacketHandlerDebug = False
# Don't ENABLE, just for debug use
DumpCloseConnectionLogs = False

# ----------------------------
#  Config BackLog -
# ----------------------------
# Maximum length of request.
# The maximum length for incoming requests (connection request).
# Maximum number of requests, after which the requests
# Will not be accepted.
# The default is 50
# Must be equal to the estimated number of players.
# Example: Players in the game 1000 +, NetworkBackLog = 1000 
# NetworkBackLog = 50

# ----------------
#  Set TOS -
# ----------------
# Set the traffic going to a particular socket.
# Can be ignored JAVA-machine.
# Range: 0 <= tc <= 255 or a ban happens.
# Note:
# To TCP4 should be set high priority and should be RFC 1349.
# You can also create a type priorities bit, example:
# IPTOS_LOWCOST (0x02)
# IPTOS_RELIABILITY (0x04)
# IPTOS_THROUGHPUT (0x08)
# IPTOS_LOWDELAY (0x10)
# The lowest bit is ignored (0).
# Set bits in the priority may cause the collapse of the server.
# depends on the service and platform.
# Note:
# Applications can not change GameServer after connecting.
# To TCP6 value can be found in the header sin6_flowinfo.
# NetworkIpTOS = 0

# ---------------------------------------
#  Setting TCP_NODELAY -
# ---------------------------------------
# On / Off TCP_NODELAY
#NetworkTcpNoDelay = False

# -------------------------------
#  Setting KeepAlive -
# -------------------------------
# On / Off SO_KEEPALIVE
#NetworkKeepAlive = False

# ------------------------
#  Set a timeout -
# ------------------------
# Set a timeout in milliseconds.
# If set to 0, the timeout will be standard.
# Timeout must be greater than 0.
# Zero timeout is defined as an infinite timeout. 
#NetworkSoTimeOut = 0

# ---------------------------------------------------
#  Configure repetitions Adresses -
# ---------------------------------------------------
# On / Off option.
# If the connection is closed, then turn timeout.
#NetworkSoReuseAddr = True

# --------------------------------------
#  Set buffer compounds -
# --------------------------------------
# Buffer size in kbit (kilobits)
# By default (Windows) - 64KBits
# Default (* nix) - 128KBits
#NetworkReadBufferSize = 64
#NetworkWriteBufferSize = 64
#NetworkHelperBufferSize = 64

# The size of the auxiliary buffer
#NetworkHelperBufferCount = 20
					
# --------------------------
# Client Queue Configuration
# --------------------------
# Queue size, do not set it too low !
# Default: 14
ClientPacketQueueSize=14
# Maximum number of packets in burst.
# Execution will be aborted and thread released if more packets executed in raw.
# Default: 50
ClientPacketQueueMaxBurstSize=50
# Maximum number of packets per second.
# Flood detector will be triggered if more packets received.
# After triggering all incoming packets will be dropped until flooding stopped.
# Default: 80
ClientPacketQueueMaxPacketsPerSecond=80
# Average number of packets per second calculated during this interval.
# Using larger value decrease number of false kicks, but slower reaction to flood.
# Avoid using too low or too high values, recommended between 3 and 10.
# Default: 5
ClientPacketQueueMeasureInterval=5
# Maximum average number of packets per second during measure interval.
# Flood detector will be triggered if more packets received.
# After triggering all incoming packets will be dropped until flooding stopped.
# Default: 40
ClientPacketQueueMaxAveragePacketsPerSecond=40
# Maximum number of flood triggers per minute.
# Client will be kicked if more floods detected.
# Default: 2
ClientPacketQueueMaxFloodPerMin=6
# Maximum number of queue overflows per minute.
# After overflow all incoming packets from client are dropped until queue is flushed.
# Client will be kicked if more queue overflows detected.
# Default: 50
ClientPacketQueueOverflowsPerMin=50
# Maximum number of buffer underflows per minute.
# Client will be kicked if more underflow exceptions detected.
# Default: 1
ClientPacketQueueUnderflowsPerMin=1
# Maximum number of unknown packets per minute.
# Client will be kicked if more unknown packets received.
# Default: 5
ClientPacketQueueUnknownPerMin = 5

# --------------------------
# Food Packets Protections -
# --------------------------
# Interval - interval in gameserver ticks (1 tick = 100ms) in which only one request is allowed
# LogFlooding - whether flooding should be logged (only first occurrence of flooding and total count of flood requests is logged)
# PunishmentLimit - if number of requests within single interval exceeds specified number then the specified punishment is applied (0 = disables punishment feature)
# PunishmentType - type of the punishment ('none', 'kick', 'ban'), valid only if PunishmentLimit is greater than 0

# Flood protection method: check if in given FLOOD_PROTECTION_INTERVAL 
# more then PUNISHMENT_LIMIT actions are performed: if this condition has been verified
# apply PUNISHMENT_TYPE for PUNISHMENT_TIME minutes
DisableOpCodesFloodProtector = False
FloodPacketProtectionInterval = 1
LogPacketFlooding = False
PacketFloodingPunishmentLimit = 20
PacketFloodingPunishmentType = kick

# -- GAME SERVER -- 
#
# OPCODE1
# --  opcode1 0x00: ProtocolVersion();
# --  opcode1 0x08: AuthLogin();
# --  opcode1 0x09: Logout();
# --  opcode1 0x0b: CharacterCreate();
# --  opcode1 0x0c: CharacterDelete();
# --  opcode1 0x0d: CharacterSelected();
# --  opcode1 0x0e: NewCharacter();
# --  opcode1 0x62: CharacterRestore();
# --  opcode1 0x68: RequestPledgeCrest();
# --  opcode1 0x01: MoveBackwardToLocation();
# --  opcode1 0x02: // Say  ... not used any more ??
# --  opcode1 0x03: EnterWorld();
# --  opcode1 0x04: Action();
# --  opcode1 0x09: Logout();
# --  opcode1 0x0a: AttackRequest();
# --  opcode1 0x0f: RequestItemList();
# --  opcode1 0x10: // RequestEquipItem ... not used any more, instead "useItem"
# --  opcode1 0x11: RequestUnEquipItem();
# --  opcode1 0x12: RequestDropItem();
# --  opcode1 0x14: UseItem();
# --  opcode1 0x15: TradeRequest();
# --  opcode1 0x16: AddTradeItem();
# --  opcode1 0x17: TradeDone();
# --  opcode1 0x1a: DummyPacket();
# --  opcode1 0x1b: RequestSocialAction();
# --  opcode1 0x1c: ChangeMoveType2();
# --  opcode1 0x1d: ChangeWaitType2();
# --  opcode1 0x1e: RequestSellItem();
# --  opcode1 0x1f: RequestBuyItem();
# --  opcode1 0x20: RequestLinkHtml();
# --  opcode1 0x21: RequestBypassToServer();
# --  opcode1 0x22: RequestBBSwrite();
# --  opcode1 0x23: DummyPacket();
# --  opcode1 0x24: RequestJoinPledge();
# --  opcode1 0x25: RequestAnswerJoinPledge();
# --  opcode1 0x26: RequestWithdrawalPledge();
# --  opcode1 0x27: RequestOustPledgeMember();
# --  opcode1 0x28: // RequestDismissPledge
# --  opcode1 0x29: RequestJoinParty();
# --  opcode1 0x2a: RequestAnswerJoinParty();
# --  opcode1 0x2b: RequestWithDrawalParty();
# --  opcode1 0x2c: RequestOustPartyMember();
# --  opcode1 0x2d: // RequestDismissParty
# --  opcode1 0x2e: DummyPacket();
# --  opcode1 0x2f: RequestMagicSkillUse();
# --  opcode1 0x30: Appearing(); //  (after death)
# --  opcode1 0x31: SendWareHouseDepositList();
# --  opcode1 0x32: SendWareHouseWithDrawList();
# --  opcode1 0x33: RequestShortCutReg();
# --  opcode1 0x34: DummyPacket();
# --  opcode1 0x35: RequestShortCutDel();
# --  opcode1 0x36: CannotMoveAnymore();
# --  opcode1 0x37: RequestTargetCanceld();
# --  opcode1 0x38: Say2();
# --  opcode1 0x3c: RequestPledgeMemberList();
# --  opcode1 0x3e: DummyPacket();
# --  opcode1 0x3f: RequestSkillList();
# --  opcode1 0x41: MoveWithDelta(); // MoveWithDelta    ... unused ?? or only on ship ??
# --  opcode1 0x42: RequestGetOnVehicle();
# --  opcode1 0x43: RequestGetOffVehicle();
# --  opcode1 0x44: AnswerTradeRequest();
# --  opcode1 0x45: RequestActionUse();
# --  opcode1 0x46: RequestRestart();
# --  opcode1 0x47: RequestSiegeInfo();
# --  opcode1 0x48: ValidatePosition();
# --  opcode1 0x49: // RequestSEKCustom
# --  opcode1 0x4a: //new StartRotating();
# --  opcode1 0x4b: //new FinishRotating();
# --  opcode1 0x4d: RequestStartPledgeWar();
# --  opcode1 0x4e: RequestReplyStartPledgeWar();
# --  opcode1 0x4f: RequestStopPledgeWar();
# --  opcode1 0x50: RequestReplyStopPledgeWar();
# --  opcode1 0x51: RequestSurrenderPledgeWar();
# --  opcode1 0x52: RequestReplySurrenderPledgeWar();
# --  opcode1 0x53: RequestSetPledgeCrest();
# --  opcode1 0x55: RequestGiveNickName();
# --  opcode1 0x57: RequestShowBoard();
# --  opcode1 0x58: RequestEnchantItem();
# --  opcode1 0x59: RequestDestroyItem();
# --  opcode1 0x5b: SendBypassBuildCmd();
# --  opcode1 0x5c: RequestMoveToLocationInVehicle();
# --  opcode1 0x5d: CannotMoveAnymoreInVehicle();
# --  opcode1 0x5e: RequestFriendInvite();
# --  opcode1 0x5f: RequestAnswerFriendInvite();
# --  opcode1 0x60: RequestFriendList();
# --  opcode1 0x61: RequestFriendDel();
# --  opcode1 0x63: RequestQuestList();
# --  opcode1 0x64: RequestQuestAbort();
# --  opcode1 0x66: RequestPledgeInfo();
# --  opcode1 0x67: RequestPledgeExtendedInfo();
# --  opcode1 0x68: RequestPledgeCrest();
# --  opcode1 0x69: RequestSurrenderPersonally();
# --  opcode1 0x6a: // Ride
# --  opcode1 0x6b: // send when talking to trainer npc, to show list of available skills, RequestAquireSkillInfo();//  --> [s] 0xa4;
# --  opcode1 0x6c: // send when a skill to be learned is selected, RequestAquireSkill();
# --  opcode1 0x6d: RequestRestartPoint();
# --  opcode1 0x6e: RequestGMCommand();
# --  opcode1 0x6f: RequestPartyMatchList();
# --  opcode1 0x70: RequestPartyMatchConfig();
# --  opcode1 0x71:  RequestPartyMatchDetail();
# --  opcode1 0x72: RequestCrystallizeItem();
# --  opcode1 0x73: RequestPrivateStoreManageSell();
# --  opcode1 0x74: SetPrivateStoreListSell();
# --  opcode1 0x75: //RequestPrivateStoreManageCancel(data, _client);
# --  opcode1 0x76: RequestPrivateStoreQuitSell();
# --  opcode1 0x77: SetPrivateStoreMsgSell();
# --  opcode1 0x78: // RequestPrivateStoreList
# --  opcode1 0x79: RequestPrivateStoreBuy();
# --  opcode1 0x7a: // ReviveReply
# --  opcode1 0x7b: RequestTutorialLinkHtml();
# --  opcode1 0x7c: RequestTutorialPassCmdToServer();
# --  opcode1 0x7d: RequestTutorialQuestionMark();
# --  opcode1 0x7e: RequestTutorialClientEvent();
# --  opcode1 0x7f: RequestPetition();
# --  opcode1 0x80: RequestPetitionCancel();
# --  opcode1 0x81: RequestGmList();
# --  opcode1 0x82: RequestJoinAlly();
# --  opcode1 0x83: RequestAnswerJoinAlly();
# --  opcode1 0x84: AllyLeave();
# --  opcode1 0x85: AllyDismiss();
# --  opcode1 0x86: RequestDismissAlly();
# --  opcode1 0x87: RequestSetAllyCrest();
# --  opcode1 0x88: RequestAllyCrest();
# --  opcode1 0x89: RequestChangePetName();
# --  opcode1 0x8a: RequestPetUseItem();
# --  opcode1 0x8b: RequestGiveItemToPet();
# --  opcode1 0x8c: RequestGetItemFromPet();
# --  opcode1 0x8e: RequestAllyInfo();
# --  opcode1 0x8f: RequestPetGetItem();
# --  opcode1 0x90: RequestPrivateStoreManageBuy();
# --  opcode1 0x91: SetPrivateStoreListBuy();
# --  opcode1 0x92: // RequestPrivateStoreBuyManageCancel
# --  opcode1 0x93: RequestPrivateStoreQuitBuy();
# --  opcode1 0x94: SetPrivateStoreMsgBuy();
# --  opcode1 0x95: // RequestPrivateStoreBuyList
# --  opcode1 0x96: RequestPrivateStoreSell();
# --  opcode1 0x97: // SendTimeCheckPacket
# --  opcode1 0x98: // RequestStartAllianceWar
# --  opcode1 0x99: // ReplyStartAllianceWar
# --  opcode1 0x9a: // RequestStopAllianceWar
# --  opcode1 0x9b: // ReplyStopAllianceWar
# --  opcode1 0x9c: // RequestSurrenderAllianceWar
# --  opcode1 0x9d: // RequestSkillCoolTime
# --  opcode1 0x9e: RequestPackageSendableItemList();
# --  opcode1 0x9f: RequestPackageSend();
# --  opcode1 0xa0: RequestBlock();
# --  opcode1 0xa1: // RequestCastleSiegeInfo
# --  opcode1 0xa2: RequestSiegeAttackerList();
# --  opcode1 0xa3: RequestSiegeDefenderList();
# --  opcode1 0xa4: RequestJoinSiege();
# --  opcode1 0xa5: RequestConfirmSiegeWaitingList();
# --  opcode1 0xa6: // RequestSetCastleSiegeTime
# --  opcode1 0xa7: MultiSellChoose();
# --  opcode1 0xa8: // NetPing
# --  opcode1 0xaa: RequestUserCommand();
# --  opcode1 0xab: SnoopQuit();
# --  opcode1 0xac: RequestRecipeBookOpen(); // we still need this packet to handle BACK button of craft dialog,
# --  opcode1 0xad: RequestRecipeBookDestroy();
# --  opcode1 0xae: RequestRecipeItemMakeInfo();
# --  opcode1 0xaf: RequestRecipeItemMakeSelf();
# --  opcode1 0xb0: // RequestRecipeShopManageList(data, client);
# --  opcode1 0xb1: RequestRecipeShopMessageSet();
# --  opcode1 0xb2: RequestRecipeShopListSet();
# --  opcode1 0xb3: RequestRecipeShopManageQuit();
# --  opcode1 0xb4: SnoopQuit();
# --  opcode1 0xb5: RequestRecipeShopMakeInfo();
# --  opcode1 0xb6: RequestRecipeShopMakeItem();
# --  opcode1 0xb7: RequestRecipeShopManagePrev();
# --  opcode1 0xb8: ObserverReturn();
# --  opcode1 0xb9: RequestEvaluate();
# --  opcode1 0xba: RequestHennaList();
# --  opcode1 0xbb: RequestHennaItemInfo();
# --  opcode1 0xbc: RequestHennaEquip();
# --  opcode1 0xc0: RequestPledgePower();
# --  opcode1 0xc1: RequestMakeMacro();
# --  opcode1 0xc2: RequestDeleteMacro();
# --  opcode1 0xc3: RequestBuyProcure();
# --  opcode1 0xc4: RequestBuySeed();
# --  opcode1 0xc5: DlgAnswer();
# --  opcode1 0xc6: RequestWearItem();
# --  opcode1 0xc7: RequestSSQStatus();
# --  opcode1 0xCA: GameGuardReply();
# --  opcode1 0xcc: RequestSendFriendMsg();
# --  opcode1 0xcd: RequestShowMiniMap();
# --  opcode1 0xce: // MSN dialogs so that you dont see them in the console.
# --  opcode1 0xcf: RequestRecordInfo();//record video
# --  opcode1 0xee:  RequestChangePartyLeader();
# --  opcode1 0xd0:
#
#	OPCODE2 (just if opcode1 == 0xd0)
#       --  opcode2 1: RequestOustFromPartyRoom();
#       --  opcode2 2: RequestDismissPartyRoom();
#       --  opcode2 3: RequestWithdrawPartyRoom();
#       --  opcode2 4: RequestChangePartyLeader();
#       --  opcode2 5: RequestAutoSoulShot();
#       --  opcode2 6: RequestExEnchantSkillInfo();
#       --  opcode2 7: RequestExEnchantSkill();
#       --  opcode2 8: RequestManorList();
#       --  opcode2 9: RequestProcureCropList();
#       --  opcode2 0x0a: RequestSetSeed();
#       --  opcode2 0x0b: RequestSetCrop();
#       --  opcode2 0x0c: RequestWriteHeroWords();
#       --  opcode2 0x0d: RequestExAskJoinMPCC();
#       --  opcode2 0x0e: RequestExAcceptJoinMPCC();
#       --  opcode2 0x0f: RequestExOustFromMPCC();
#       --  opcode2 0x10: RequestExPledgeCrestLarge();
#       --  opcode2 0x11: RequestExSetPledgeCrestLarge();
#       --  opcode2 0x12: RequestOlympiadObserverEnd();
#       --  opcode2 0x13: RequestOlympiadMatchList();
#       --  opcode2 0x14: RequestAskJoinPartyRoom();
#       --  opcode2 0x15: AnswerJoinPartyRoom();
#       --  opcode2 0x16: RequestListPartyMatchingWaitingRoom();
#       --  opcode2 0x17: RequestExitPartyMatchingWaitingRoom();
#       --  opcode2 0x18: RequestGetBossRecord();
#       --  opcode2 0x19: RequestPledgeSetAcademyMaster();
#       --  opcode2 0x1a: RequestPledgePowerGradeList();
#       --  opcode2 0x1b: RequestPledgeMemberPowerInfo();
#       --  opcode2 0x1c: RequestPledgeSetMemberPowerGrade();
#       --  opcode2 0x1d: RequestPledgeMemberInfo();
#       --  opcode2 0x1e: RequestPledgeWarList();
#       --  opcode2 0x1f: RequestExFishRanking();
#       --  opcode2 0x20: RequestPCCafeCouponUse();
#       --  opcode2 0x22: RequestCursedWeaponList();
#       --  opcode2 0x23: RequestCursedWeaponLocation();
#       --  opcode2 0x24: RequestPledgeReorganizeMember();
#       --  opcode2 0x26: RequestExMPCCShowPartyMembersInfo();
#       --  opcode2 0x27: RequestDuelStart();
#       --  opcode2 0x28: RequestDuelAnswerStart();
#       --  opcode2 0x29: RequestConfirmTargetItem();
#       --  opcode2 0x2a: RequestConfirmRefinerItem();
#       --  opcode2 0x2b: RequestConfirmGemStone();
#       --  opcode2 0x2c: RequestRefine();
#       --  opcode2 0x2d: RequestConfirmCancelItem();
#       --  opcode2 0x2e: RequestRefineCancel();
#       --  opcode2 0x2f: RequestExMagicSkillUseGround();
#       --  opcode2 0x30: RequestDuelSurrender();

# -- LOGIN SERVER -- 
# 
# OPCODE1
#
# --  opcode1  0x07: AuthGameGuard();
# --  opcode1  0x00: RequestAuthLogin();
# --  opcode1  0x05: RequestServerList();
# --  opcode1  0x02: RequestServerLogin();

				
# List of not checked OPCODES ---> if server receive a Packet that has 
# OpCode into this protected list, it will not be checked by Flood Protector. 
# If you want disable check on a LoginServer OpCode, just provide into the
# list values as "L,OpCodeA;L,OpCodeB;....", meanwhile if you want to disable 
# check on a Gameserver Opcode, just provide into the list values as "G,OpCode1".
# If the Gameserver OpCode1 is 0xd0, you "can" specify which OpCode2 you want to
# allow, "G,0xd0,OpCode2A,OpCode2B...". If you want make something mixed, just
# provide mixed values: 
#
# Example ListOfProtectedOpCodes1=G,0x48;G,0x04;L,0x07;G,0xd0,0x0a;
#
# This means "allow my server to be flooded by ValidationPotiion Packets, Action Packets, 
# AuthGameGuard Packets and RequestSetSeed Packets" .
ListOfProtectedOpCodes=G,0x48;G,0x01;G,0x2f;G,0x0a;G,0x45;G,0x04;G,0x4a;G,0x4b;G,0x14;G,0x37;G,0x88;G,0x68;


# List of allowed "offline" OPCODES ---> if server receive a Packet that has not 
# OpCode into this protected list and Character is OFFLINE, it will not be elaborated and client connection is closed. 
# You "can" specify also OpCode2 you want to filter over main OpCode, e.g. "0xd0,OpCode2A,OpCode2B". 
# If you want make something mixed, just provide mixed values: 
#
# Example ListOfAllowedOfflineOpCodes=0x03;0x9d;0xd0,0x08;0x13;0x81;
#
ListOfAllowedOfflineOpCodes=0x03;0x9d;0xd0,0x08;0x13;0x81;0x0d;0x55;0xca;
  • 0
Posted

There's no easy way to fix this (changing a config, etc), read tryskell's post, his explanation is more than enough and provides a solution as well.

  • 0
Posted

It's more a task issue ; task are never stored somewhere, so can't be retrieved to be canceled "in case of". It happens on few other places over L2J and is a common issue on old writting style (and as none decided to work on system such as MMOCore, movement, attack (,...) since litterally a decade, you got 10y old code maze).

 

If task system works as intented, it's a Intention issue. If Intention system works as intented :D.

But aren't those tasks queued? 

Do they just start when they are requested?

  • 0
Posted

But aren't those tasks queued? 

Do they just start when they are requested?

ThreadPool.schedule(new HitTask(target, damage1, crit1, miss1, attack.soulshot, shld1), sAtk);

There is atm no track of hits. You attack, you launch a task, but can't deny it.

 

----

		// Get the Attack Speed of the L2Character (delay (in milliseconds) before next attack)
		int timeAtk = calculateTimeBetweenAttacks(target, weaponItemType);
		_attackEndTime = System.currentTimeMillis() + timeAtk;

Probably provides wrong values, or is somehow bypassed clicking like a naab on feet.

  • 0
Posted
ThreadPool.schedule(new HitTask(target, damage1, crit1, miss1, attack.soulshot, shld1), sAtk);

There is atm no track of hits. You attack, you launch a task, but can't deny it.

 

----

		// Get the Attack Speed of the L2Character (delay (in milliseconds) before next attack)
		int timeAtk = calculateTimeBetweenAttacks(target, weaponItemType);
		_attackEndTime = System.currentTimeMillis() + timeAtk;

Probably provides wrong values, or is somehow bypassed clicking like a naab on feet.

 

Don't you think an action queue would be a better idea?

  • 0
Posted (edited)

Don't you think an action queue would be a better idea?

 

L2 needs only a single action as "queue", but atm it is based on Intention (cf : you run and sit when action ended, you cast a spell but continue to run, etc).

 

But yeah, basically the idea is from the moment the current action is running you can't do a shit.

Edited by Tryskell
Guest
This topic is now closed to further replies.


  • Posts

    • Opening April 25 at 19:00 (UTC +3) Open Beta Test from April 21 This is pre-announcing of NEW season server, so we want to share some key points of it. Full details with road map, patch notes we will announce a bit latter If this is your first time on Dex and you haven’t played on our seasonal servers before, the information below will help you understand what our project is about and its key features. Dex veterans can skip the following section and go straight to the “What’s New in the New Season” part. Why Choose Dex? Best Balance on Interlude+ - we offer the most polished balance among all modified Interlude servers(It may not be perfect yet, but we are committed to continuous improvements and refinements. ). Our build is 100% unique, developed on retail PTS files, and refined over 6+ years. This is not a copy–paste pack – it’s our own work, shaped by players feedback and suggestions for more than 6 years. Proven Stability & Long-Term Life - Our Union x25 server has been running since April 2020 – 6 years of stability and still active with strong online! This makes Dex the only server with real players (not phantoms) with such a setup and longevity. Always Fresh, Always Engaging - Every Seasonal server comes with a clear roadmap of changes and updates. At the end of the season, the server merges with Union, so your effort is never wasted. New players can start fresh together with everyone else on the new season. Before the merge, we run exclusive boosted events for about a month, giving seasonal players a massive head start. (Union players don’t get these events) Endless Endgame Content - High-end activities, unique PvP events, and continuous new features will keep you engaged long-term. We’re always working to improve and deliver fresh, fun content for our community. All your progress, items, and characters are safe - when the season ends, you continue on Union. Main features Modern Classic client (less lags, smoother gameplay, a lot of useful interface features). Anti-bot protection - we use our own system in combine with popular solutions like AAC, so in the end our project have one of the best anti-bot shield exists. Buff book to buff yourself or your summon/pet. With regular buff book you can create only 1 buff profile, if you need more - get the modern buff book and create up to 10 profiles! 36 buff slots - 24 regular buffs, and addictiona 12 slots for Dance/Song Daily rewards - login to the game every day and get rewards. Expanded subclass slots - you can have 5 subclasses from the beginning and expand up to 10. Class/Gender change - you can change your main class and gender if you want. Masterwork items (can be obtained by crafting or farming RBs, have better bonuses than regular items). Item Broker Auctions in towns can sell some epic jewelry and other useful goods for adena (3 times per week). Giran Harbor Fair - daily event which allows you to get rare items for adena. Talents - special tree with passive skills which will help you to tune your class better. Events like TvT and new event WarHunt Epic Replica system. Episodes - we open new content step by step to keep you engaged, bring more fun and extend the game. Episodes reveal following features: Progressive grade unlocks: B-grade is max available at launch → then A-grade opens → later S-grade. Reworked locations: Mithril Mines and Plunderouse Plains Hellbound Island Isle of Preyer, with new content, new Dynasty gear PvP item improvement allows you to improve your items with additional bonuses. Charms can be equipped in one of the special slots that open when wearing a bracelet. Each type of charm grants the wearer certain bonuses New Epic Bosses - Freya, Beleth, Tiat, Trasken Cyclic macros (macros restarts when finishes) What’s New in the Upcoming Season? Below is a brief overview of the main changes coming in the new season, along with short explanations. More detailed information about each feature will be published later, most likely in our wiki. Divisions We plan to test a Division system on Dex, initially only for low-tier epic bosses (AQ, Core, Orfen, Zaken). At the same time as the main Epic Boss respawn, an additional instance version of the boss will appear. Clans from the big war will not be able to enter this instance. The drop table is identical to the main boss, but the Epic Jewelry have not a 100% drop chance. Mithril Mines /data/attachments/4/4662-e7b9c5989ccf81d0b2d48e88b7aa9bc7.jpg A reworked location that will open on the first Monday after S-grade becomes available. In this zone you will be able to: Obtain alternative recipes for S-grade equipment Get your first Charms and upgrade them up to Level 3 Obtain bracelets with 2 Charm slots Farm Void Neolithics (used for upgrade any item to Masterwork, but lose enchant level) 2 New Raid Bosses with valuable drop Fight the Raid Boss Trasken Plunderous Plains /data/attachments/4/4661-2ecd2d0a4702d31c1ba26d4b7e369285.jpg Another reworked location, which will open one week after Mithril Mines. This zone provides: GCM drops LS drop More different Charms 2 New Raid Bosses with valuable drop 3-slot Charm bracelet The ability to make PvP versions of equipment Isle of Prayer A location where players will be able to obtain a new type of equipment - Dynasty. This area will also provide: More different Charms 4-slot Charm bracelet Upgrade charms to level 4 Hellbound Hellbound is now an endgame location. Almost everything can be farmed there, and the drop quality is very high. However, the location will only be available during weeks without Olympiad battles. This means it will be open for one week and closed for the next. This area will also provide: 5-6 slot Charm bracelet bracelet engravement ancient scrolls Best drop GCM Best drop LS More different charms Upgrade charms to level 5 Talents An additional talent tree has been added: the PvE branch. The PvE talent tree has its own limits and does not overlap with the standard tree. Olympiad The Olympiad will now run 5 days per week, from Wednesday to Sunday. Each day you will have a limit on the number of battles you can participate in. War Hunt Event A new event. Players who previously played on Skadi may already be familiar with it. The idea is simple: You enter a PvP zone Killing monsters grants points These points can be exchanged for rewards Killing other players allows you to steal their points PvE / PvP Layers The locations Mithril Mines, Plunderous Plains, IOP and Hellbound will have two separate layers. The drop on both versions are identical. Open World Version: Full PvP zone Instance Version: No PvP zone, works like the regular world with standard war/flag/PK rules Players who enjoy PvP can defend their farming spots and gain extra advantage, while players who prefer a safer farming experience can use the instance version, though with more competition and higher population. As you can see, this season brings quite a lot of changes However, these are mostly content-related additions - the core spirit and classic gameplay of the season remain unchanged. Please note that this is a pre-announcement, and some details may still change before the Beta Test begins. A full roadmap and patch notes will be published later. https://forum.lineage2dex.com/threads/16738/#lg=post-72311&slide=0  
    • Automatic Streamer Rewards System (Twitch / Kick / TikTok) Hey everyone, I’ve developed a Streamer Rewards system for Lineage 2 servers that automatically rewards players who stream the server. The system works fully automatic: Detects if the streamer is currently live Checks if the stream title contains the server name If everything matches, the system sends a custom reward coin to the streamer’s character Rewards are given every 30 minutes while streaming Supported platforms Twitch Kick TikTok Live Configurable options Reward Item ID Reward interval time Server name keyword detection Character name linked to the streamer This makes it easy to encourage players to promote the server without manual work from admins. Example flow: Player goes live on Twitch/Kick/TikTok Stream title includes the server name System detects the stream automatically Every 30 minutes the player receives a reward coin in-game Setup I can also help set up and integrate the system with your server. Works with custom coin rewards Can be configured for different intervals Additional help with installation and configuration available If you're interested or want more details, feel free to send me a PM. I also have a ticket ping system, if new ticket created on the website you can make it send you a ping on discord server for selected roles (support and stuff) but this one is basic and most likely not needed, my discord: zujarka
    • General Trackers :   IPTorrents invite IPTorrents account 1 tb TorrentLeech invite Torrentleech account 1 tb buffer  InTheShaDow ( ITS ) account Acid-lounge invite Torrentday invite Crnaberza account Abn.Lol account Limit-of-eden account Norbits account Xspeeds account Xspeeds invite Bemaniso invite Wigornot account Bithumen invite Filelist account Funfile invite AvistaZ invite Potuk.net invite ResurrectThe.Net invite GrabThe.Info invite Greek-Team invite LinkoManija invite Fano.in account tracker.czech-server.com Speed.cd invite Arab-torrents.net account Arabscene.me account Scenetime account 4thd.xyz invite Btarg.com.ar account Dedbit invite Estone.cc account Speedapp invite Finvip invite Fluxzone account GigaTorrents account Gimmepeers account Haidan.video invite Mojblink account Mycarpathians invite Newinsane.info account Oscarworld.xyz account Peers.FM invite Pt.msg.vg account Ransackedcrew account Redemption invite Scene-rush account Seedfile.io invite Teracod invite Torrent.ai account Torrentmasters invite Ttsweb invite X-files invite X-ite invite Ncore account TorrentHR account Rptorrents account BwTorrents account Superbits invite Krazyzone account Immortalseed account Tntracker invite Pt.eastgame.org account Bitturk account Rstorrent account Tracker.btnext invite Torrent-turk.de account BeiTai.PT account Pt.keepfrds account 52pt.site account Pthome account Torrentseeds account Aystorrent account Blues-brothers.biz invite Divteam account Thesceneplace invite CinemaMovies.pl account Brasiltracker account Patiodebutacas account Newheaven.nl account  Swarmazon.club invite Bc-reloaded account Crazyspirits account Silentground invite Omg.wtftrackr invite Milkie.cc invite Breathetheword invite Madsrevolution account Chilebt account Yubraca account Uniongang.tv account Frboard account Exvagos account Diablotorrent account Microbit account Carp-hunter.hu account Majomparade.eu account Theshinning.me account Youiv.info account Dragonworld-reloaded account Sharewood.tv account Partis.si account Digitalcore.club invite Fuzer.me account R3vuk.wtf invite Ztracker account 1 tb buffer 3changtrai account Best-core.info account Bitsite.us account Eliteunitedcrew invite Exitorrent.org account Tophos invite Torrent.lt account Sktorrent.eu account Oshen account Pirata.digital account Esharenet account Ohmenarikgi.la Pirate-share account Immortuos account Kiesbits account Cliente.amigos-share.club account Broadcity invite Ilovetorzz account Torrentbytes account Polishsource account Portugas account Shareisland account ArabaFenice account Hudbt.hust.edu.cn account Audiences account Nanyangpt account Pt.sjtu.edu.cn account Pt.zhixing.bjtu.edu.cn account Byr.pt invite Ptfiles invite Red-bits account Pt.hdpost.top account Irrenhaus.dyndns.dk (NewPropaganda) account Mnvv2.info (MaxNewVision V2) account 1ptba.com account Spidertk.top account Film-paleis account Generation-free account Aftershock-tracker account Twilightsdreams account Back-ups.me invite Sor-next.tk ( Spirit Of Revolution ) account Tfa.tf ( The Falling Angels ) account Hdmayi account S-f-p.dyndns.dk ( Share Friends Projekt ) account Unlimitz.biz account Pttime account St-tracker.eu account New-retro.eu account Zbbit account Tigers-dl.net account Jptvts.us account Lat-team account Club.hares.top account Falkonvision-team account Concen account Drugari account T.ceskeforum account Peeratiko.org account Zamunda.se account Central-torrent.eu account h-o-d.org account Torrentleech.pl account Demonoid invite Lst.gg account Fakedoor.store account LaidBackManor account Vrbsharezone.co.uk invite Torrenteros account Arenaelite account Datascene account Tracker.0day.community Tapochek.net invite Ptchina invite Lesaloon account Exyusubs account Therebels.tv account Ubits.club invite Zmpt.cc account Turktorrent.us account Dasunerwarte account Hawke.uno account Monikadesign account Fearnopeer account Alpharatio account Wukongwendao.top account Chinapyg account Azusa.wiki account Yggtorrent.top account Torrentdd account Cyanbug.net invite Hhanclub.top account Wintersakura.net account Xthor account Tctg.pm account Finelite invite Agsvpt.com account Pt.0ff.cc invite Qingwapt.com account Xingtan.one account Ptcafe.club invite W-o-t.pro account Coastal-crew.bounceme.net account Darkpeers.org account Pianyuan.org account Seedpool.org  account Tempelbox account Pt.itzmx.com account Itatorrents.xyz  account Letseed.org account The-new-fun.com  account Malayabits.cc account Trellas.me account Yu-scene.net account Futuretorrent.org account Bitpt.cn account Tocashare.biz  account Videoteka.org  account White-angel.hu account Xbytesv2.li account Torr9  account Desitorrents account Okpt.net account Samaritano.cc account Polishtorrent.top  account C411.org account Bigcore.eu account BJ-Share.info account Infinitylibrary.net account Beload.org account Emuwarez.com account Yhpp.cc account Funsharing ( FSC ) account Rastastugan account Tlzdigital account account Upscalevault account Bluraytracker.cz account Torrenting.com account Infire.si account Dasunerwartete.biz invite The-torrent-trader account New-asgard.xyz account Pandapt account Deildu account Tmpt.top invite Pt.gtk.pw account Media.slo-bitcloud.eu account P.t-baozi.cc account 13city.org account Cangbao.ge account Cc.mypt.cc invite Dubhe.site invite Hdbao.cc account Kufei.org invite Mooko.org account Pt.aling.de invite Pt.lajidui.top invite Longpt.org invite Pt.luckpt.de invite Ptlover.cc invite Raingfh.top account Sewerpt.com account   Movies Trackers :   Secret-cinema account Anthelion account Pixelhd account Cinemageddon account Cinemaz account Retroflix account Classix-unlimited - invite Movie-Torrentz (m2g.link) invite Punck-tracker.net account Tmghub account Cathode-ray.tube account Greatposterwall account Arabicsource.net account Upload.cx account Crabpt.vip invite Onlyencodes.cc account Exyusubs account Hellashut.net invite Nordichd.sytes.net invite Locadora.cc account   HD Trackers :   Blutopia buffered account Hd-olimpo buffered account Hdf.world account Torrentland.li account HdSky account Hdchina account Chdbits account Totheglory account Hdroute account Hdhome account TorrentCCF aka et8.org account 3DTorrents invite HD-Torrents account Bit-HDTV account HDME.eu invite Hdarea.co account Asiancinema.me account JoyHD invite HDSpace invite CrazyHD invite Bluebird-hd invite Htpt.cc account Hdtime invite Ourbits.club account Hd4fans account Siambit account Privatehd account Springsunday account Tjupt account Hdcity.leniter invite Ccfbits account Discfan account Pt.btschool.club account Ptsbao.club invite Hdzone.me invite Danishbytes account Zonaq.pw account Tracker.tekno3d account Arabp2p account Hd-united account Reelflix.xyz account Hdatmos.club account Anasch.cc invite Tigris-t account Nethd.org account Hd.ai invite Hitpt.com account Hdmonkey account Dragonhd.xyz account Hdclub.eu account Forum.bluraycd.com account Carpt account Hdfun.me invite Pt.hdupt invite Puntotorrent account Ultrahd account Rousi.zip account Bearbit account Hdturk.club account Asiandvdclub account Star-space.net account Nordicq.org account Hdkyl.in account Utp.to account Hdzero account Novahd account Hdtorrents.eu account 4k3dyptt account Duckboobee.org invite Si-qi.xyz account   Music Trackers :   Dicmusic account Music-Vid account Open.cd account LzTr account ProAudioTorrents invite Jpopsuki invite TranceTraffic invite Audionews invite Kraytracker invite Libble.me invite Losslessclub invite Indietorrents.com invite Dimeadozen account Funkytorrents invite Karaokedl account zombtracker.the-zomb account Concertos account Sugoimusic account Satclubbing.club invite Metal.iplay invite Psyreactor invite Panda.cd account Adamsfile account Freehardmusic account Tracker.hqmusic.vn accouunt Twilightzoom account 3 tb buffer Hiresmusic account Metalguru account Musictorrents.org account Musebootlegs.com invite Zappateers.com account Jungleland.dnsalias.com account Naftamusic account Bemusic account   E-Learning Trackers :   Theplace account Thevault account Myanonamouse account Libranet account 420Project account Learnflakes account Pt.soulvoice.club account P2pelite account Aaaaarg.fail invite Ebooks-shares.org account Abtorrents account Pt.tu88.men invite Docspedia.world invite   TV-Trackers :   Skipthecommercials.xyz account Cryptichaven account TV-Vault invite Shazbat.TV account Myspleen account Tasmanit.es invite Tvstore.me account Tvchaosuk account Jptv.club account   XXX - Porn Trackers :   FemdomCult account Pussytorrents account Adult-cinema-network account Bootytape account 1 Tb buffer Exoticaz account Bitporn account Kufirc account Gaytorrent.ru invite Nicept account Gay-torrents.org invite Ourgtn account Pt.hdbd.us account BitSexy account Happyfappy.org account Kamept.com account Lesbians4u.org account Fappaizuri.me account   Gaming Trackers :   Mteam.fr account BitGamer invite Retrowithin invite Gamegamept account   Cartoon/Anime/Comic Trackers :   Animeworld account Oldtoons.world account U2.dmhy account CartoonChaos invite Mononoke account Totallykids.tv account Bakabt.me invite Revanime account Ansktracker account Tracker.shakaw.com.br invite Bt.mdan.org account Skyey2.com account Animetracker.cc Adbt.it.cx invite Tracker.uniotaku.com account Mousebits.com account   Sports Trackers :   MMA-Tracker invite T3nnis.tv invite AcrossTheTasman account RacingForMe invite Sportscult invite Ultimatewrestlingtorrents account Worldboxingvideoarchive invite CyclingTorrents account Xtremewrestlingtorrents account Tc-boxing invite Mma-torrents account Aussierul invite Xwt-classics account Racing4everyone account Talk.tenyardtracker account Stalker.societyglitch invite Extremebits invite Rgfootball.net account F1carreras.xyz account   Software/Apps Trackers :   Brokenstones account Appzuniverse invite Teamos.xyz account Macbb.org account Phoenixproject.app account Tormac.org account   Graphics Trackers:   Forum.Cgpersia account Cgfxw account   Others   Hduse.net account Fora.snahp.eu account Makingoff.org/forum account Xrel.to account Undergunz.su account Corebay account Endoftheinter.net ( EOTI ) account Thismight.be invite Skull.facefromouter.space account Avxhm.se (AvaxHome) account Ssdforum account Notfake.vip account Intotheinter.net account Tildes.net invite Thetoonz account Usinavirtual account Hdclasico invite HispaShare account Valentine.wtf account Adit-hd account Forum-andr.net account Warezforums account Justanothermusic.site account Forbiddenlibrary.moe account Senturion.to account Movieparadise account Dcdnet.ru account Sftdevils.net account Heavy-r.com account New-team.org account Ddl.tv account Filewarez.club account Hispamula.org account Hubwarez.tv account Ultim-zone.in account Leprosorium.ru account Planet-ultima.org account The-dark-warez.com account Koyi.pub account Tehparadox.net account Forumophilia account Torrentinvite.fr account Gmgard.com account Board4all.biz account   NZB :   Ninjacentral account Tabula-rasa.pw account Drunkenslug account Drunkenslug invite Usenet-4all account Dognzb.cr invite Kleverig account Nzb.cat account Nzbplanet.net invite Ng4you.com account NZB.to account Samuraiplace account Abhdtv.net account Abook.link account Comix.pw account House-of-usenet Secretbinaries.net account Vnext.to account Stockboxx.top account Sky-of-use.net account Indexer.codeshy.com account Oldboys.pw account Uhd100.com account   Prices start from 3 $ to 100 $   Payment methods: Crypto, Neteller, Revolut   If you want to buy something send me a pm or contact me on:   Email: morrison2102@gmail.com   Discord: LFC4LIFE#4173   Telegram: https://t.me/LFC4LIFE4173   Skype: morrison2102@hotmail.com
    • FILE vs SCENARIO – where the outcome is actually decided ▪ Most people think everything depends on the document. Make it “clean” – and you’re good. ▪ But the check doesn’t look at the file. It looks at the story around it. – where you “live” – what you “do” – where your income comes from – how it all fits together ▪ The same document can pass… or get rejected – depending on the scenario. ▪ Because it’s not the file itself that matters, but the logic of the entire chain. ▪ The document is just one part of the structure. If the rest doesn’t match – it won’t save you. ▪ Got a case? Describe your situation – we’ll point out the weak spots. › TG: @mustang_service ( https:// t.me/ mustang_service ) › Channel: Mustang Service ( https:// t.me/ +JPpJCETg-xM1NjNl ) #editing #photoshop #documents #correction #verification
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..