- edited description
Dagger skill sounds
Is a old l2j issue, there's no sound of impact on blow attack skills, because of this, every attack seems that was missed!
Below is only a example (is not exactly L2jserver but also happens with L2jserver):
Comparison: with sound and without sound
List of skills:
16 Mortal Blow 30 Backstab 263 Deadly Blow 321 Blinding Blow 344 Lethal Blow 409 Critical Blow 928 Dual Blow
I guess that's all, I'm not right about Backstab, must be checked...
Thank you, L2jServer is the best emulator :)
Comments (10)
-
reporter -
reporter More details
-
if crit, set 2 here
change value to 0, it never changes
You're done.
-
reporter Thanks for your answer Sdw-, but I'm very noob in java xD
-
public final class MagicSkillUse extends L2GameServerPacket { private final int _skillId; private final int _skillLevel; private final int _hitTime; private final int _reuseDelay; private final L2Character _activeChar; private final L2Character _target; // private final List<Integer> _unknown = Collections.emptyList(); private boolean _success = false; private final List<Location> _groundLocations; public MagicSkillUse(L2Character cha, L2Character target, int skillId, int skillLevel, int hitTime, int reuseDelay, boolean crit) { this(cha, target, skillId, skillLevel, hitTime, reuseDelay); _success = crit; } public MagicSkillUse(L2Character cha, L2Character target, int skillId, int skillLevel, int hitTime, int reuseDelay) { _activeChar = cha; _target = target; _skillId = skillId; _skillLevel = skillLevel; _hitTime = hitTime; _reuseDelay = reuseDelay; _groundLocations = cha.isPlayer() && (cha.getActingPlayer().getCurrentSkillWorldPosition() != null) ? Arrays.asList(cha.getActingPlayer().getCurrentSkillWorldPosition()) : Collections.<Location> emptyList(); } public MagicSkillUse(L2Character cha, int skillId, int skillLevel, int hitTime, int reuseDelay) { this(cha, cha, skillId, skillLevel, hitTime, reuseDelay); } @Override protected final void writeImpl() { writeC(0x48); writeD(_activeChar.getObjectId()); writeD(_target.getObjectId()); writeD(_skillId); writeD(_skillLevel); writeD(_hitTime); writeD(_reuseDelay); writeLoc(_activeChar); // writeH(_unknown.size()); // TODO: Implement me! // for (int unknown : _unknown) // { // writeH(unknown); // } if (_success) { writeD(0x01); writeH(0x00); } else { writeD(0x00); } writeH(_groundLocations.size()); for (IPositionable target : _groundLocations) { writeLoc(target); } writeLoc(_target); } }
But I don't find where to transfer it.
-
FatalBlow.java
+import com.l2jserver.gameserver.network.serverpackets.PlaySound;
- L2PcInstance activePlayer = activeChar.getActingPlayer();
- activePlayer.sendDamageMessage(target, (int) damage, false, true, false);
- +PlaySound playSound = new PlaySound("skillsound.critical_hit_02");
- +activeChar.sendPacket(playSound);
-
That's a workaround, not even a fix.
-
But it solves the problem with sound in deadly & mortal blow skills.
-
reporter I saw on other project forum that include this on fatalBlow.java can be a bad idea, I not understand nothing about java, but the guy told something about performace issue...
-
The ShinichiYao's fix doesn't worked for me. I noticed that the sound only appears if you request the action to move during the casting. With this information, someone can help to fix this? Thanks.
- Log in to comment