Jump to content

Rootware

L2J Developer
  • Content Count

    769
  • Joined

  • Last visited

  • Days Won

    3
  • Feedback

    100%

Rootware last won the day on April 12

Rootware had the most liked content!

Community Reputation

34 Excellent

3 Followers

About Rootware

  • Rank
    Viscount
  • Birthday 04/05/1979

Contact Methods

  • Website URL
    http://rootware.ru

Profile Information

  • Current Mood
    Busy
  • Gender
    Male
  • Country
    Russia
  • Location
    Russia
  • Interests
    Java, C#, PHP, JavaScripts

Recent Profile Visitors

2,832 profile views
  1. It is a pity that such a project has remained useless.
  2. The original share of Interlude and High Five interface.u compilers you can find in russian community. https://forum.zone-game.info/showthread.php?t=41879 Credits: edKith (Persy) & Zubastic. P.S. Other links it's reshares or resellers of this share.
  3. For aCis html locates aCis_datapack / data / html / scripts / village_master / Clan / 9000-03.htm The handler locates in gameserver/model/actor/instance/VillageMaster.java Section else if (actualCommand.equalsIgnoreCase("increase_clan_level")) { if (player.getClan().levelUpClan(player)) player.broadcastPacket(new MagicSkillUse(player, player, 5103, 1, 0, 0)); }
  4. Here all my paid work. http://rootware.ru/category/java/portfolio/paid-works/
  5. L2UI_CT1 or L2UI_CH3 textures HeadDisplay_DF_Target_*.
  6. Your Grand Bosses data are corrupted. I meant spawns, zones, sql, scripts. Check this way and remember what you did yet.
  7. Forgot about credits and allowing rights for sharing. /** * @author SweeTs */
  8. Try with this debug code and show the stacktrace message. ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/scripting/ScriptManager.java =================================================================== --- java/net/sf/l2j/gameserver/scripting/ScriptManager.java (revision 712) +++ java/net/sf/l2j/gameserver/scripting/ScriptManager.java (working copy) @@ -107,6 +107,7 @@ catch (Exception e) { _log.warning("ScriptManager: Error loading \"scripts.xml\" file, " + e); + e.printStackTrace(); } ThreadPool.scheduleAtFixedRate(this, 0, PERIOD); P.S. Why people tries to change something w/o Java and architecture knowledge? It's some madness.
  9. Need share full code of voice's command handler and what L2J source name you are uses. We can't help you more than told you JVM console.
  10. This little code will shows the real diff range of async between server and client position. By default, this code was maked for aCis but can be use for any L2J forks. ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/network/clientpackets/MoveBackwardToLocation.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/MoveBackwardToLocation.java (revision 1133) +++ java/net/sf/l2j/gameserver/network/clientpackets/MoveBackwardToLocation.java (working copy) @@ -2,6 +2,8 @@ import java.nio.BufferUnderflowException; +import net.sf.l2j.commons.math.MathUtil; + import net.sf.l2j.Config; import net.sf.l2j.gameserver.model.actor.ai.CtrlIntention; import net.sf.l2j.gameserver.model.actor.instance.Player; @@ -95,6 +97,18 @@ activeChar.sendPacket(ActionFailed.STATIC_PACKET); return; } + + // Check async range. + dx = _originX - activeChar.getX(); + dy = _originY - activeChar.getY(); + double dz1 = _originZ - activeChar.getZ(); + float diff = (float) Math.sqrt(dx * dx + dy * dy + dz1 * dz1); + int heading = MathUtil.calculateHeadingFrom(_originX, _originY, activeChar.getX(), activeChar.getY()); + if (Math.abs(activeChar.getHeading() - heading) > 16000) + diff = diff * -1; + + activeChar.sendMessage("Async distance: " + diff); + activeChar.getAI().setIntention(CtrlIntention.MOVE_TO, new Location(_targetX, _targetY, _targetZ)); } } \ No newline at end of file Index: java/net/sf/l2j/gameserver/network/clientpackets/ValidatePosition.java =================================================================== --- java/net/sf/l2j/gameserver/network/clientpackets/ValidatePosition.java (revision 1133) +++ java/net/sf/l2j/gameserver/network/clientpackets/ValidatePosition.java (working copy) @@ -1,5 +1,7 @@ package net.sf.l2j.gameserver.network.clientpackets; +import net.sf.l2j.commons.math.MathUtil; + import net.sf.l2j.gameserver.model.actor.instance.Player; import net.sf.l2j.gameserver.model.zone.ZoneId; import net.sf.l2j.gameserver.network.serverpackets.GetOnVehicle; @@ -88,5 +90,17 @@ player.setClientY(_y); player.setClientZ(_z); player.setClientHeading(_heading); // No real need to validate heading. + + // Check async range. + dx = _x - player.getX(); + dy = _y - player.getY(); + dz = _z - player.getZ(); + float diff = (float) Math.sqrt(dx * dx + dy * dy + dz * dz); + + int heading = MathUtil.calculateHeadingFrom(_x, _y, player.getX(), player.getY()); + if (Math.abs(player.getHeading() - heading) > 16000) + diff = diff * -1; + + player.sendMessage("[4] Async distance: " + diff); } } \ No newline at end of file Have fun, so!
  11. The new version 1.0.1.0 released.
  12. I use this structure of packet since the time when i used yet IL client for own project. And it's worked/works correct. FastTeleport variable disable effect of black screen for teleport and can be uses only for not longer teleports (read the my description "correct position"). The tip of sending this packet after UserInfo while player entering into the world not checked by me. Fot this packet you need change basic holder Location() and add new param _heading. Also you will need rewrite all teleportTo() methods everywhere and for everyone. Otherwise it will look like no heading effect. The result of fix. The same effect can be seen in IL, CT1.x and CT2.x clients.
  13. Try this up. @Override protected final void writeImpl() { writeC(0x22); writeD(_objectId); writeD(_x); writeD(_y); writeD(_z); writeD(_isFastTeleport ? 1 : 0); // 0 - with black screen, 1 - fast teleport (for correcting position) writeD(_heading); }
  14. Sure. You are right, my mistake. I meant TeleportToLacation packet. You can send him with special params (for disable black screen for teleport) after UserInfo packet while character entering onto the world and you will see correct character rotation.
  15. When you entering to the world you can see own/another character always with wrong heading. It's client bug, because model in client always spawns w/o server heading - always look to the east. While teleporting the heading saving and processing correct for all characters own or another.
×