mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-07 00:32:06 +00:00
Random stuff 3 (#312)
* Make ::update automatically restart server as well
* Add bank area checks back since previously you could open a bank, and as long as you didn't open another interface you could abuse it
* Fix noclip (NEEDS TESTING)
* Revert "Fix noclip (#302)"
This reverts commit 521ae52e4c.
* ::clip command removed, fixed a typo, reordered some stuff, fixed a bug with others cannon
-Removed the clip command from the client;
-Fixed a typo in a dialogue;
-Fixed mud battlestaff nto working as runes (water and earth);
-Fixed a bug with other cannons near you preventing you from setting down a cannon. Somehow your player would glitch himself and make it impossible to spawn a cannon at certain spot;
* Snow improvement
Nothing major
* Fixed Click to teleport command
Fixed Click to teleport command;
* cleaned stuff
* Update Commands.java
* Fixed picking up items requiring 2 clicks when not standing on/near it. Fixed the sound so it doesnt repeat itself anymore if spamclicked.
Fixed picking up items requiring 2 clicks when not standing on/near it. Fixed the sound so it doesnt repeat itself anymore if spamclicked.
Co-authored-by: Daniel Ginovker <dcress01@uoguelph.ca>
This commit is contained in:
@@ -969,6 +969,8 @@ public abstract class Player {
|
|||||||
|
|
||||||
public int soundVolume = 10;
|
public int soundVolume = 10;
|
||||||
|
|
||||||
|
public boolean soundDone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Outputs a send packet which is built from the data params provided
|
* Outputs a send packet which is built from the data params provided
|
||||||
* towards a connected user client channel.
|
* towards a connected user client channel.
|
||||||
|
|||||||
@@ -27,6 +27,14 @@ public class PickupItem implements PacketType {
|
|||||||
player.pItemY = player.getInStream().readSignedWordBigEndian();
|
player.pItemY = player.getInStream().readSignedWordBigEndian();
|
||||||
player.pItemId = player.getInStream().readUnsignedWord();
|
player.pItemId = player.getInStream().readUnsignedWord();
|
||||||
player.pItemX = player.getInStream().readSignedWordBigEndian();
|
player.pItemX = player.getInStream().readSignedWordBigEndian();
|
||||||
|
if (player.getItemAssistant().freeSlots() < 1)
|
||||||
|
{
|
||||||
|
if (!(player.getItemAssistant().playerHasItem(player.pItemId) && player.getItemAssistant().isStackable(player.pItemId)))
|
||||||
|
{
|
||||||
|
player.getPacketSender().sendMessage("Not enough inventory space...");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (Math.abs(player.getX() - player.pItemX) > 25 || Math.abs(player.getY() - player.pItemY) > 25) {
|
if (Math.abs(player.getX() - player.pItemX) > 25 || Math.abs(player.getY() - player.pItemY) > 25) {
|
||||||
player.resetWalkingQueue();
|
player.resetWalkingQueue();
|
||||||
return;
|
return;
|
||||||
@@ -64,34 +72,37 @@ public class PickupItem implements PacketType {
|
|||||||
}
|
}
|
||||||
SkillHandler.resetSkills(player);
|
SkillHandler.resetSkills(player);
|
||||||
player.getCombatAssistant().resetPlayerAttack();
|
player.getCombatAssistant().resetPlayerAttack();
|
||||||
if (player.getX() == player.pItemX && player.getY() == player.pItemY
|
|
||||||
|| player.getX() - 1 == player.pItemX && player.getY() == player.pItemY
|
|
||||||
|| player.getY() - 1 == player.pItemY && player.getX() == player.pItemX
|
|
||||||
|| player.getX() + 1 == player.pItemX && player.getY() == player.pItemY
|
|
||||||
|| player.getY() + 1 == player.pItemY && player.getX() == player.pItemX) {
|
|
||||||
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX,
|
|
||||||
player.pItemY, true);
|
|
||||||
player.getPacketSender().sendSound(SoundList.ITEM_PICKUP, 100, 0);
|
|
||||||
GlobalDropsHandler.pickup(player, player.pItemId, player.pItemX, player.pItemY);
|
|
||||||
} else {
|
|
||||||
player.walkingToItem = true;
|
player.walkingToItem = true;
|
||||||
|
//player.getPacketSender().sendMessage("walkingToItem");
|
||||||
|
player.soundDone = false;
|
||||||
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
CycleEventHandler.getSingleton().addEvent(player, new CycleEvent() {
|
||||||
@Override
|
@Override
|
||||||
public void execute(CycleEventContainer container) {
|
public void execute(CycleEventContainer container) {
|
||||||
if (!player.walkingToItem) {
|
if (!player.walkingToItem) {
|
||||||
container.stop();
|
container.stop();
|
||||||
}
|
}
|
||||||
if (player.getX() == player.pItemX && player.getY() == player.pItemY && player.walkingToItem) {
|
if ((player.getX() == player.pItemX && player.getY() == player.pItemY
|
||||||
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX, player.pItemY, true);
|
|| player.getX() - 1 == player.pItemX && player.getY() == player.pItemY
|
||||||
|
|| player.getY() - 1 == player.pItemY && player.getX() == player.pItemX
|
||||||
|
|| player.getX() + 1 == player.pItemX && player.getY() == player.pItemY
|
||||||
|
|| player.getY() + 1 == player.pItemY && player.getX() == player.pItemX
|
||||||
|
||player.getX() == player.pItemX && player.getY() == player.pItemY) && player.walkingToItem) {
|
||||||
container.stop();
|
container.stop();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stop() {
|
public void stop() {
|
||||||
player.walkingToItem = false;
|
player.walkingToItem = false;
|
||||||
}
|
//player.getPacketSender().sendMessage("!walkingToItem - stop");
|
||||||
}, 1);
|
GameEngine.itemHandler.removeGroundItem(player, player.pItemId, player.pItemX, player.pItemY, true);
|
||||||
}
|
GlobalDropsHandler.pickup(player, player.pItemId, player.pItemX, player.pItemY);
|
||||||
|
if (!player.soundDone)
|
||||||
|
{
|
||||||
|
player.soundDone = true;
|
||||||
|
player.getPacketSender().sendSound(SoundList.ITEM_PICKUP, 100, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ public class GlobalDropsHandler {
|
|||||||
* @param c
|
* @param c
|
||||||
* cord y
|
* cord y
|
||||||
*/
|
*/
|
||||||
public static void pickup(Player player2, int a, int b, int c) {
|
public static void pickup(Player player, int a, int b, int c) {
|
||||||
GlobalDrop drop = itemExists(a, b, c);
|
GlobalDrop drop = itemExists(a, b, c);
|
||||||
if (drop == null) {
|
if (drop == null) {
|
||||||
return;
|
return;
|
||||||
@@ -158,16 +158,20 @@ public class GlobalDropsHandler {
|
|||||||
if (drop.isTaken()) {
|
if (drop.isTaken()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (player2.getItemAssistant().freeSlots() > 0) {
|
if (player.getItemAssistant().freeSlots() < 1) {
|
||||||
player2.getItemAssistant().addItem(drop.getId(), drop.getAmount());
|
if (!(player.getItemAssistant().playerHasItem(player.pItemId) && player.getItemAssistant().isStackable(player.pItemId))) {
|
||||||
drop.setTakenAt(System.currentTimeMillis());
|
player.getPacketSender().sendMessage("Not enough inventory space...");
|
||||||
drop.setTaken(true);
|
return;
|
||||||
for (Player player : PlayerHandler.players) {
|
}
|
||||||
Client cl = (Client) player;
|
}
|
||||||
if (cl != null) {
|
player.getItemAssistant().addItem(drop.getId(), drop.getAmount());
|
||||||
cl.getPacketSender().removeGroundItem(drop.getId(), drop.getX(), drop.getY(), drop.getAmount());
|
drop.setTakenAt(System.currentTimeMillis());
|
||||||
spawnedDrops.remove(drop);
|
drop.setTaken(true);
|
||||||
}
|
for (Player playerLoop : PlayerHandler.players) {
|
||||||
|
Client cl = (Client) playerLoop;
|
||||||
|
if (cl != null) {
|
||||||
|
cl.getPacketSender().removeGroundItem(drop.getId(), drop.getX(), drop.getY(), drop.getAmount());
|
||||||
|
spawnedDrops.remove(drop);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user