diff --git a/2006Redone Server/data/logs/commands/michael.txt b/2006Redone Server/data/logs/commands/michael.txt index 7c86cd07..66a3d8c4 100644 --- a/2006Redone Server/data/logs/commands/michael.txt +++ b/2006Redone Server/data/logs/commands/michael.txt @@ -1 +1,4 @@ [2019/10/27] 16:16 michael used command: bank +[2019/11/24] 09:27 michael used command: bank +[2019/11/24] 09:31 michael used command: bank +[2019/11/24] 09:38 michael used command: bank diff --git a/2006Redone Server/src/redone/game/npcs/NpcHandler.java b/2006Redone Server/src/redone/game/npcs/NpcHandler.java index da2393d1..9c3be912 100644 --- a/2006Redone Server/src/redone/game/npcs/NpcHandler.java +++ b/2006Redone Server/src/redone/game/npcs/NpcHandler.java @@ -553,33 +553,6 @@ public class NpcHandler { } } - if (npcs[i].walkingType >= 0) { - switch (npcs[i].walkingType) { - - case 5: - npcs[i].turnNpc(npcs[i].absX - 1, npcs[i].absY); - break; - - case 4: - npcs[i].turnNpc(npcs[i].absX + 1, npcs[i].absY); - break; - - case 3: - npcs[i].turnNpc(npcs[i].absX, npcs[i].absY - 1); - break; - - case 2: - npcs[i].turnNpc(npcs[i].absX, npcs[i].absY + 1); - break; - - default: - if (npcs[i].walkingType >= 0) { - npcs[i].turnNpc(npcs[i].absX, npcs[i].absY); - } - break; - } - } - if (npcs[i].isDead) { if (npcs[i].actionTimer == 0 && npcs[i].applyDead == false && npcs[i].needRespawn == false) { diff --git a/2006Redone Server/src/redone/game/players/Player.java b/2006Redone Server/src/redone/game/players/Player.java index 89be462c..09e6c2b5 100644 --- a/2006Redone Server/src/redone/game/players/Player.java +++ b/2006Redone Server/src/redone/game/players/Player.java @@ -42,7 +42,7 @@ public abstract class Player { godSpellDelay, singleCombatDelay, singleCombatDelay2, reduceStat, restoreStatsDelay, logoutDelay, buryDelay, foodDelay, potDelay, doorDelay, doubleDoorDelay, buySlayerTimer, lastIncrease, - boneDelay, botAttempts, leverDelay = 0, farmTime, searchObjectDelay = 0; + boneDelay, botAttempts, leverDelay = 0, farmTime, searchObjectDelay = 0, clickDelay = 0; private Npc specialTarget = null; diff --git a/2006Redone Server/src/redone/net/packets/impl/ClickObject.java b/2006Redone Server/src/redone/net/packets/impl/ClickObject.java index 6252414b..7a8f53b6 100644 --- a/2006Redone Server/src/redone/net/packets/impl/ClickObject.java +++ b/2006Redone Server/src/redone/net/packets/impl/ClickObject.java @@ -26,6 +26,10 @@ public class ClickObject implements PacketType { THIRD_CLICK = 70, FOURTH_CLICK = 234; public void onObjectReached(Client player, Consumer consumer) { + if (System.currentTimeMillis() - player.clickDelay < 300) + return; + player.clickDelay = System.currentTimeMillis(); + final int objectX = player.objectX; final int objectY = player.objectY; final int objectId = player.objectId; diff --git a/2006Redone Server/src/redone/net/packets/impl/Walking.java b/2006Redone Server/src/redone/net/packets/impl/Walking.java index b220bdc9..010c15b9 100644 --- a/2006Redone Server/src/redone/net/packets/impl/Walking.java +++ b/2006Redone Server/src/redone/net/packets/impl/Walking.java @@ -170,21 +170,33 @@ public class Walking implements PacketType { } player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; - int firstStepX, firstStepY; - if (player.clickToTele) + int firstStepX, firstStepY; + int realX = 0; + int realY = 0; + + if (player.clickToTele) { firstStepX = player.getInStream().readSignedWordBigEndianA(); - else - firstStepX = player.getInStream().readSignedWordBigEndianA()-player.getMapRegionX()*8; + } else { + realX = player.getInStream().readSignedWordBigEndianA(); + firstStepX = realX - player.getMapRegionX() * 8; + } for (int i = 1; i < player.newWalkCmdSteps; i++) { player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte(); player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte(); } - if (player.clickToTele) + if (player.clickToTele) { firstStepY = player.getInStream().readSignedWordBigEndian(); - else - firstStepY = player.getInStream().readSignedWordBigEndian()-player.getMapRegionY()*8; + } else { + realY = player.getInStream().readSignedWordBigEndian(); + firstStepY = realY - player.getMapRegionY() * 8; + } + + if (player.distanceToPoint(realX, realY) > 30) { + return; + } + player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0); for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) { if (player.clickToTele) diff --git a/2006Redone Server/src/redone/world/ObjectManager.java b/2006Redone Server/src/redone/world/ObjectManager.java index 2bd8a11b..fae85803 100644 --- a/2006Redone Server/src/redone/world/ObjectManager.java +++ b/2006Redone Server/src/redone/world/ObjectManager.java @@ -146,8 +146,9 @@ public class ObjectManager { for (Player player : PlayerHandler.players) { if (player != null) { Client c = (Client) player; - c.getActionSender().object(o.newId, o.objectX, o.objectY, - o.face, o.type); + if (loadForPlayer(o, c)) { + c.getActionSender().object(o.newId, o.objectX, o.objectY, o.face, o.type); + } } } } @@ -157,8 +158,7 @@ public class ObjectManager { if (player != null) { Client c = (Client) player; if (c.distanceToPoint(o.objectX, o.objectY) <= 60) { - c.getActionSender().object(o.objectId, o.objectX, - o.objectY, o.face, o.type); + c.getActionSender().object(o.objectId, o.objectX, o.objectY, o.face, o.type); } } } diff --git a/CompiledServer/production/2006rebotted/redone/game/npcs/NpcHandler.class b/CompiledServer/production/2006rebotted/redone/game/npcs/NpcHandler.class index 310e10cf..1a052747 100644 Binary files a/CompiledServer/production/2006rebotted/redone/game/npcs/NpcHandler.class and b/CompiledServer/production/2006rebotted/redone/game/npcs/NpcHandler.class differ diff --git a/CompiledServer/production/2006rebotted/redone/game/players/Player.class b/CompiledServer/production/2006rebotted/redone/game/players/Player.class index 1b25b8f5..e176b448 100644 Binary files a/CompiledServer/production/2006rebotted/redone/game/players/Player.class and b/CompiledServer/production/2006rebotted/redone/game/players/Player.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$1.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$1.class index ae69f4e8..6a736bf2 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$1.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$1.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$2.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$2.class index f719ce0d..4acac966 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$2.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$2.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$3.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$3.class index d2d1d7a1..8ae2ee68 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$3.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$3.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$4.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$4.class index 98ea430b..fd9c5311 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$4.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$4.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$5.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$5.class index f60906b5..0be53df2 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$5.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$5.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$6.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$6.class index 2420d53a..7368eb53 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$6.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject$6.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject.class index 85989bac..04172f64 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/ClickObject.class differ diff --git a/CompiledServer/production/2006rebotted/redone/net/packets/impl/Walking.class b/CompiledServer/production/2006rebotted/redone/net/packets/impl/Walking.class index 479cddf2..640a761e 100644 Binary files a/CompiledServer/production/2006rebotted/redone/net/packets/impl/Walking.class and b/CompiledServer/production/2006rebotted/redone/net/packets/impl/Walking.class differ diff --git a/CompiledServer/production/2006rebotted/redone/world/ObjectManager.class b/CompiledServer/production/2006rebotted/redone/world/ObjectManager.class index 6231c3b8..ec9cde27 100644 Binary files a/CompiledServer/production/2006rebotted/redone/world/ObjectManager.class and b/CompiledServer/production/2006rebotted/redone/world/ObjectManager.class differ