From 2790decd4490d5807edd42ea594dfe8e6d0b41c9 Mon Sep 17 00:00:00 2001 From: Gptaqbc <56596815+Gptaqbc@users.noreply.github.com> Date: Sun, 22 Dec 2019 15:59:33 -0500 Subject: [PATCH] =?UTF-8?q?Added=20some=20sound,=20refactored=20fletching?= =?UTF-8?q?=20and=20arrowmaking=20a=20bit...=20I've=20=E2=80=A6=20(#314)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added some sound, refactored fletching and arrowmaking a bit... I've maybe fixed the issue with fletching.. idk Added some sound, refactored fletching and arrowmaking a bit... I've maybe fixed the issue with fletching.. idk * Commented clipping server side check so we can work on it Commented and brought back the old code so gates works while we work in the clipping check server side. * Added Canifis bank to the bank boolean --- .../game/content/consumables/Potions.java | 1 + .../content/skills/fletching/ArrowMaking.java | 89 ++++++------- .../content/skills/fletching/LogCutting.java | 104 +++++---------- .../skills/fletching/LogCuttingInterface.java | 9 +- .../content/skills/fletching/Stringing.java | 3 +- .../game/globalworldobjects/Doors.java | 2 +- .../game/globalworldobjects/DoubleDoors.java | 2 +- .../rebotted/game/objects/ObjectsActions.java | 29 ++-- .../rebotted/game/objects/impl/Climbing.java | 7 + .../src/com/rebotted/game/players/Player.java | 1 + .../rebotted/net/packets/impl/PickupItem.java | 2 - .../rebotted/net/packets/impl/Walking.java | 124 ++++++++++++------ 12 files changed, 191 insertions(+), 182 deletions(-) diff --git a/2006Redone Server/src/com/rebotted/game/content/consumables/Potions.java b/2006Redone Server/src/com/rebotted/game/content/consumables/Potions.java index 4e9fbd9a..ad6781e4 100644 --- a/2006Redone Server/src/com/rebotted/game/content/consumables/Potions.java +++ b/2006Redone Server/src/com/rebotted/game/content/consumables/Potions.java @@ -47,6 +47,7 @@ public class Potions { CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { @Override public void execute(CycleEventContainer container) { + c.getPacketSender().sendSound(1210, 100, 0); c.getPacketSender().sendMessage(m1); container.stop(); } diff --git a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/ArrowMaking.java b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/ArrowMaking.java index 96930471..d9b29d6d 100644 --- a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/ArrowMaking.java +++ b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/ArrowMaking.java @@ -104,55 +104,52 @@ public class ArrowMaking { player.getPacketSender().sendMessage("Not enough space in your inventory."); return false; } - player.playerIsFletching = true; - int factor = 1; - final int multiplier = factor; - int count1 = player.getItemAssistant().getItemAmount(arrowData.getItem1()) < 15 ? player - .getItemAssistant().getItemAmount(arrowData.getItem1()) : 15; - int count2 = player.getItemAssistant().getItemAmount(arrowData.getItem2()) < 15 ? player - .getItemAssistant().getItemAmount(arrowData.getItem2()) : 15; - final int count = count1 < count2 ? count1 : count2; - CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { - - @Override - public void execute(CycleEventContainer container) { - if (!player.getItemAssistant().playerHasItem(arrowData.getItem1(), - count) - || !player.getItemAssistant().playerHasItem( - arrowData.getItem2(), count) - || player.playerIsFletching == false) { - container.stop(); - return; + if (!player.playerIsFletching) + { + player.playerIsFletching = true; + CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { + int factor = 1; + final int multiplier = factor; + int count1 = player.getItemAssistant().getItemAmount(arrowData.getItem1()) < 15 ? player + .getItemAssistant().getItemAmount(arrowData.getItem1()) : 15; + int count2 = player.getItemAssistant().getItemAmount(arrowData.getItem2()) < 15 ? player + .getItemAssistant().getItemAmount(arrowData.getItem2()) : 15; + final int count = count1 < count2 ? count1 : count2; + @Override + public void execute(CycleEventContainer container) { + if (!player.getItemAssistant().playerHasItem(arrowData.getItem1(), + count) + || !player.getItemAssistant().playerHasItem( + arrowData.getItem2(), count) || player.isWoodcutting || player.isCrafting || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isSmithing || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting) { + container.stop(); + return; + } + player.getPacketSender().sendSound(375, 100, 0); + player.getItemAssistant().deleteItem(arrowData.getItem1(), count); + player.getItemAssistant().deleteItem(arrowData.getItem2(), count); + player.getItemAssistant().addItem(arrowData.getProduct(), + count / multiplier); + player.getPacketSender().sendMessage( + "You attach the " + + ItemAssistant.getItemName(arrowData + .getItem1()) + + " to " + + count + / multiplier + + " " + + ItemAssistant.getItemName(arrowData + .getItem2()) + "s."); + player.getPlayerAssistant().addSkillXP( + count / multiplier * arrowData.getXp(), 9); } - if (player.isWoodcutting == true) { - container.stop(); - } - player.getItemAssistant().deleteItem(arrowData.getItem1(), count); - player.getItemAssistant().deleteItem(arrowData.getItem2(), count); - player.getItemAssistant().addItem(arrowData.getProduct(), - count / multiplier); - player.getPacketSender().sendMessage( - "You attach the " - + ItemAssistant.getItemName(arrowData - .getItem1()) - + " to " - + count - / multiplier - + " " - + ItemAssistant.getItemName(arrowData - .getItem2()) + "s."); - player.getPlayerAssistant().addSkillXP( - count / multiplier * arrowData.getXp(), 9); - } - @Override - public void stop() { - player.playerIsFletching = false; - return; - } - }, 1); + @Override + public void stop() { + player.playerIsFletching = false; + } + }, 1); + } return true; - } } diff --git a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCutting.java b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCutting.java index 6f10139b..957a2af5 100644 --- a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCutting.java +++ b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCutting.java @@ -22,83 +22,45 @@ public class LogCutting { } } - public static void cutLog(final Player c, final int product, final int level, final double xp, int amount) { - if (c.isSpinning) { - c.isSpinning = false; - } - if (c.isWoodcutting) { - c.isWoodcutting = false; - } - c.doAmount = amount; - c.getPacketSender().closeAllWindows(); - if (c.playerLevel[9] < level) { - c.getPacketSender().sendMessage("You need a fletching level of " + level + " to make this."); + public static void cutLog(final Player player, final int product, final int level, final double xp, int amount) { + player.doAmount = amount; + player.getPacketSender().closeAllWindows(); + if (player.playerLevel[9] < level) { + player.getPacketSender().sendMessage("You need a fletching level of " + level + " to make this."); return; } - c.playerIsFletching = true; - c.startAnimation(1248); - c.getPacketSender().sendSound(CUT_SOUND, 100, 0); - - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - - @Override - public void execute(CycleEventContainer container) { - if (c.getItemAssistant().playerHasItem(LogCuttingInterface.log) && c.getItemAssistant().playerHasItem(KNIFE)) { - c.getItemAssistant().deleteItem(LogCuttingInterface.log, 1); - if (product == 52) { - c.getItemAssistant().addItem(product, 15); - } else { - c.getItemAssistant().addItem(product, 1); + if (!player.playerIsFletching) + { + player.playerIsFletching = true; + CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { + @Override + public void execute(CycleEventContainer container) { + if (player.doAmount <= 0 || !player.getItemAssistant().playerHasItem(LogCuttingInterface.log) || !player.getItemAssistant().playerHasItem(KNIFE) || player.isWoodcutting || player.isCrafting || player.isMoving || player.isMining || player.isBusy || player.isShopping || player.isSmithing || player.isFiremaking || player.isSpinning || player.isPotionMaking || player.playerIsFishing || player.isBanking || player.isSmelting || player.isTeleporting || player.isHarvesting || player.playerIsCooking || player.isPotCrafting) { + container.stop(); + return; } - c.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into an " + ItemAssistant.getItemName(product) + "."); - c.getPlayerAssistant().addSkillXP(xp, c.playerFletching); - c.doAmount--; + player.startAnimation(1248); + player.getItemAssistant().deleteItem(LogCuttingInterface.log, 1); + if (product == 52) + { + player.getItemAssistant().addItem(product, 15); + } + else + { + player.getItemAssistant().addItem(product, 1); + } + player.getPacketSender().sendMessage("You carefully cut the " + ItemAssistant.getItemName(LogCuttingInterface.log) + " into an " + ItemAssistant.getItemName(product) + "."); + player.getPlayerAssistant().addSkillXP(xp, player.playerFletching); + player.doAmount--; + player.getPacketSender().sendSound(CUT_SOUND, 100, 0); } - if (!c.getItemAssistant().playerHasItem(LogCuttingInterface.log)) { - container.stop(); - return; + @Override + public void stop() { + player.playerIsFletching = false; } - - if (c.playerIsFletching == false) { - container.stop(); - return; - } - - if (c.doAmount <= 0) { - container.stop(); - return; - } - - } - - @Override - public void stop() { - c.playerIsFletching = false; - c.startAnimation(65535); - return; - } - }, 3); - CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() { - - @Override - public void execute(CycleEventContainer container) { - if (c.playerIsFletching == false) { - container.stop(); - return; - } - c.getPacketSender().sendSound(CUT_SOUND, 100, 0); - c.startAnimation(1248); - - } - - @Override - public void stop() { - c.playerIsFletching = false; - c.startAnimation(65535); - return; - } - }, 3); + }, 3); + } } public static void handleClick(Player c, int buttonId) { diff --git a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCuttingInterface.java b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCuttingInterface.java index 75ffbc30..6ee89289 100644 --- a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCuttingInterface.java +++ b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/LogCuttingInterface.java @@ -20,12 +20,14 @@ public class LogCuttingInterface { } public static void fletchInterface(Player c, int item) { - if (c.playerIsFletching == true && (item > 1510 && item < 1522)) { - LogCutting.resetFletching(c); + if (c.playerIsFletching) { + c.playerIsFletching = false; return; - } else if (c.playerIsFletching == true && (item < 1510 || item > 1521)) { + } + if (item < 1510 || item > 1521) { c.playerIsFletching = false; c.getPacketSender().sendMessage("Nothing interesting happens."); + return; } log = item; if (item == 1511) { @@ -73,7 +75,6 @@ public class LogCuttingInterface { c.getPacketSender().sendFrame126(ItemAssistant.getItemName(72), 8874); c.getPacketSender().sendFrame126(ItemAssistant.getItemName(70), 8878); } - c.playerIsFletching = true; } public static void handleItemOnItem(Player player, int itemUsed, int useWith) { diff --git a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/Stringing.java b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/Stringing.java index e6f13a64..d7a015ba 100644 --- a/2006Redone Server/src/com/rebotted/game/content/skills/fletching/Stringing.java +++ b/2006Redone Server/src/com/rebotted/game/content/skills/fletching/Stringing.java @@ -86,10 +86,11 @@ public class Stringing { @Override public void execute(CycleEventContainer container) { - if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2()) || player.playerIsFletching == false) { + if (!player.getItemAssistant().playerHasItem(loadData.getItem1()) || !player.getItemAssistant().playerHasItem(loadData.getItem2()) || !player.playerIsFletching) { container.stop(); return; } + player.getPacketSender().sendSound(1311, 100, 0); player.getItemAssistant().deleteItem(loadData.getItem1(), 1); player.getItemAssistant().deleteItem(loadData.getItem2(), 1); player.getPacketSender().sendMessage("You add a string to the bow."); diff --git a/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java b/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java index b9df9db1..b7e9651a 100644 --- a/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java +++ b/2006Redone Server/src/com/rebotted/game/globalworldobjects/Doors.java @@ -70,7 +70,7 @@ public class Doors { } //Remove clipping for old door (gets added back in placeObject) - Region.removeClipping(x, y, z); + //Region.removeClipping(x, y, z); int xAdjustment = 0, yAdjustment = 0; if (d.type == 0) { diff --git a/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java b/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java index 247b1a2f..37782cb7 100644 --- a/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java +++ b/2006Redone Server/src/com/rebotted/game/globalworldobjects/DoubleDoors.java @@ -60,7 +60,7 @@ public class DoubleDoors { return true; //nearly all of these are not opened } - Region.removeClipping(x, y, z); + //Region.removeClipping(x, y, z); if (doorClicked.open == 0) { if (doorClicked.originalFace == 0) { diff --git a/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java b/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java index 04628d1e..a2b9c55f 100644 --- a/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java +++ b/2006Redone Server/src/com/rebotted/game/objects/ObjectsActions.java @@ -69,7 +69,7 @@ public class ObjectsActions { if (player.stopPlayerPacket == true) { return; } - LogCutting.resetFletching(player); + //LogCutting.resetFletching(player); if (player.getGnomeStrongHold().gnomeCourse(objectType)) { return; } @@ -2554,11 +2554,9 @@ public class ObjectsActions { player.faceUpdate(0); player.clickObjectType = 0; player.turnPlayerTo(obX, obY); - //if (!Region.objectExists(objectType, obX, obY, player.heightLevel) && player.playerRights > 1) { - // player.getPacketSender().sendMessage("[DEBUG] This object does not exist."); - // return; - //} - LogCutting.resetFletching(player); + if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) { + return; + } switch (objectType) { case 6: player.getCannon().loadCannon(obX, obY); @@ -2814,10 +2812,9 @@ public class ObjectsActions { if (player.playerRights == 3) { player.getPacketSender().sendMessage("Object type: " + objectType); } - //if (!Region.objectExists(objectType, obX, obY, player.heightLevel) && player.playerRights > 1) { - // player.getPacketSender().sendMessage("[DEBUG] This object does not exist."); - // return; - //} + if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) { + return; + } if (Stalls.isObject(objectType)) { Stalls.attemptStall(player, objectType, obX, obY); return; @@ -2860,13 +2857,11 @@ public class ObjectsActions { if (player.playerRights == 3) { player.getPacketSender().sendMessage("Object type: " + objectType); } - //if (!Region.objectExists(objectType, obX, obY, player.heightLevel) && player.playerRights > 1) { - // player.getPacketSender().sendMessage("[DEBUG] This object does not exist."); - // return; - //} - Farming.openGuide(player, player.objectId); - switch (objectType) { - + if (!Region.objectExists(objectType, obX, obY, player.heightLevel)) { + return; } + Farming.openGuide(player, player.objectId); +// switch (objectType) { +// } } } diff --git a/2006Redone Server/src/com/rebotted/game/objects/impl/Climbing.java b/2006Redone Server/src/com/rebotted/game/objects/impl/Climbing.java index d62ae0bb..1d8e55ed 100644 --- a/2006Redone Server/src/com/rebotted/game/objects/impl/Climbing.java +++ b/2006Redone Server/src/com/rebotted/game/objects/impl/Climbing.java @@ -456,6 +456,13 @@ public class Climbing { case 3443: client.getPlayerAssistant().movePlayer(3423, 3485, 0); break; + case 1754: + if (client.objectX == 3116 && client.objectY == 3452) { + client.getPlayerAssistant().movePlayer(3222, 3218, 0); + client.startAnimation(CLIMB_DOWN); + client.resetWalkingQueue(); + } + break; case 1755: if (client.objectX == 3116 && client.objectY == 9852) { client.getPlayerAssistant().movePlayer(3116, 3451, 0); diff --git a/2006Redone Server/src/com/rebotted/game/players/Player.java b/2006Redone Server/src/com/rebotted/game/players/Player.java index 22ce0d2a..8f630bd8 100644 --- a/2006Redone Server/src/com/rebotted/game/players/Player.java +++ b/2006Redone Server/src/com/rebotted/game/players/Player.java @@ -1762,6 +1762,7 @@ public abstract class Player { isInArea(2834, 10215, 2841, 10204) || // Keldagrim isInArea(2379, 4453, 2386, 4462) || // Zanaris isInArea(2582, 3423, 2591, 3417) || //Fishing Guild + isInArea(3509, 3483, 3516, 3476) || //Canifis false; } diff --git a/2006Redone Server/src/com/rebotted/net/packets/impl/PickupItem.java b/2006Redone Server/src/com/rebotted/net/packets/impl/PickupItem.java index 13d9760a..9a8d0576 100644 --- a/2006Redone Server/src/com/rebotted/net/packets/impl/PickupItem.java +++ b/2006Redone Server/src/com/rebotted/net/packets/impl/PickupItem.java @@ -73,7 +73,6 @@ public class PickupItem implements PacketType { SkillHandler.resetSkills(player); player.getCombatAssistant().resetPlayerAttack(); player.walkingToItem = true; - //player.getPacketSender().sendMessage("walkingToItem"); player.soundDone = false; CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() { @Override @@ -94,7 +93,6 @@ public class PickupItem implements PacketType { @Override public void stop() { player.walkingToItem = false; - //player.getPacketSender().sendMessage("!walkingToItem - stop"); GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX, player.pItemY, true); GlobalDropsHandler.pickup(player, player.pItemId, player.pItemX, player.pItemY); if (!player.soundDone) diff --git a/2006Redone Server/src/com/rebotted/net/packets/impl/Walking.java b/2006Redone Server/src/com/rebotted/net/packets/impl/Walking.java index 5949b5f9..df2e3574 100644 --- a/2006Redone Server/src/com/rebotted/net/packets/impl/Walking.java +++ b/2006Redone Server/src/com/rebotted/net/packets/impl/Walking.java @@ -160,50 +160,96 @@ public class Walking implements PacketType { if (packetType == 248) { packetSize -= 14; } +// +// if (player.clickToTele) { +// player.newWalkCmdSteps = (packetSize - 5) / 2; +// if (++player.newWalkCmdSteps > player.walkingQueueSize) { +// player.newWalkCmdSteps = 0; +// return; +// } +// player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; +// int firstStepX, firstStepY; +// firstStepX = player.getInStream().readSignedWordBigEndianA(); +// for (int i = 1; i < player.newWalkCmdSteps; i++) { +// player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte(); +// player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte(); +// } +// firstStepY = player.getInStream().readSignedWordBigEndian(); +// player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0); +// for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) { +// player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel); +// player.getNewWalkCmdX()[i1] += firstStepX; +// player.getNewWalkCmdY()[i1] += firstStepY; +// } +// } +// else { +// player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; +// int steps = (packetSize - 5) / 2; +// +// int[][] path = new int[steps][2]; +// int firstStepX = player.getInStream().readSignedWordBigEndianA(); +// for (int i = 0; i < steps; i++) { +// path[i][0] = player.getInStream().readSignedByte(); +// path[i][1] = player.getInStream().readSignedByte(); +// } +// int firstStepY = player.getInStream().readSignedWordBigEndian(); +// int x = firstStepX; +// int y = firstStepY; +// player.setNewWalkCmdIsRunning(player.isRunning2 && player.playerEnergy > 0); +// for (int i = 0; i < steps; i++) { +// path[i][0] += firstStepX; +// path[i][1] += firstStepY; +// x = path[i][0]; +// y = path[i][1]; +// } +// //System.out.println("Player has requested to walk to: "+x+","+y); +// player.getPlayerAssistant().playerWalk(x, y); +// } +// } +//} + player.newWalkCmdSteps = (packetSize - 5) / 2; + if (++player.newWalkCmdSteps > player.walkingQueueSize) { + player.newWalkCmdSteps = 0; + return; + } + + player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; + + int firstStepX, firstStepY; + int realX = 0; + int realY = 0; if (player.clickToTele) { - player.newWalkCmdSteps = (packetSize - 5) / 2; - if (++player.newWalkCmdSteps > player.walkingQueueSize) { - player.newWalkCmdSteps = 0; + firstStepX = player.getInStream().readSignedWordBigEndianA(); + } 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) { + firstStepY = player.getInStream().readSignedWordBigEndian(); + } else { + realY = player.getInStream().readSignedWordBigEndian(); + firstStepY = realY - player.getMapRegionY() * 8; + } + + if (!player.clickToTele) { + if (player.distanceToPoint(realX, realY) > 30) { return; } - player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; - int firstStepX, firstStepY; - firstStepX = player.getInStream().readSignedWordBigEndianA(); - for (int i = 1; i < player.newWalkCmdSteps; i++) { - player.getNewWalkCmdX()[i] = player.getInStream().readSignedByte(); - player.getNewWalkCmdY()[i] = player.getInStream().readSignedByte(); - } - firstStepY = player.getInStream().readSignedWordBigEndian(); - player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0); - for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) { - player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel); - player.getNewWalkCmdX()[i1] += firstStepX; - player.getNewWalkCmdY()[i1] += firstStepY; - } } - else { - player.getNewWalkCmdX()[0] = player.getNewWalkCmdY()[0] = 0; - int steps = (packetSize - 5) / 2; - int[][] path = new int[steps][2]; - int firstStepX = player.getInStream().readSignedWordBigEndianA(); - for (int i = 0; i < steps; i++) { - path[i][0] = player.getInStream().readSignedByte(); - path[i][1] = player.getInStream().readSignedByte(); - } - int firstStepY = player.getInStream().readSignedWordBigEndian(); - int x = firstStepX; - int y = firstStepY; - player.setNewWalkCmdIsRunning(player.isRunning2 && player.playerEnergy > 0); - for (int i = 0; i < steps; i++) { - path[i][0] += firstStepX; - path[i][1] += firstStepY; - x = path[i][0]; - y = path[i][1]; - } - //System.out.println("Player has requested to walk to: "+x+","+y); - player.getPlayerAssistant().playerWalk(x, y); + player.setNewWalkCmdIsRunning(player.getInStream().readSignedByteC() == 1 && player.playerEnergy > 0); + for (int i1 = 0; i1 < player.newWalkCmdSteps; i1++) { + if (player.clickToTele) + player.getPlayerAssistant().movePlayer(player.getNewWalkCmdX()[i1] + firstStepX, player.getNewWalkCmdY()[i1] + firstStepY, player.heightLevel); + player.getNewWalkCmdX()[i1] += firstStepX; + player.getNewWalkCmdY()[i1] += firstStepY; } } -} \ No newline at end of file + +}