Mousewheel camera and shift drop

This commit is contained in:
dginovker
2019-06-19 15:09:59 -04:00
parent e4495339e5
commit 477a3224de
5 changed files with 243 additions and 170 deletions
+20 -1
View File
@@ -1153,7 +1153,12 @@ public class Game extends RSApplet {
}
if (class9_1.usableItemInterface) {
menuActionName[menuActionRow] = "Use @lre@" + itemDef.name;
if (shiftDown)
{
menuActionName[menuActionRow] = "Drop @lre@" + itemDef.name;
} else {
menuActionName[menuActionRow] = "Use @lre@" + itemDef.name;
}
menuActionID[menuActionRow] = 447;
menuActionCmd1[menuActionRow] = itemDef.id;
menuActionCmd2[menuActionRow] = k2;
@@ -4193,6 +4198,12 @@ public class Game extends RSApplet {
}
}
if (l == 447) {
if (shiftDown)
{
doAction(2); //Drop?
needDrawTabArea = true;
return;
}
itemSelected = 1;
anInt1283 = j;
anInt1284 = k;
@@ -9000,6 +9011,7 @@ public class Game extends RSApplet {
if (menuActionRow < 2 && itemSelected == 0 && spellSelected == 0) {
return;
}
String s;
if (itemSelected == 1 && menuActionRow < 2) {
s = "Use " + selectedItemName + " with...";
@@ -12119,4 +12131,11 @@ public class Game extends RSApplet {
}
}
void mouseWheelDragged(int i, int j) {
if (!mouseWheelDown)
return;
this.anInt1186 += i * 3;
this.anInt1187 += (j << 1);
}
}
+60 -14
View File
@@ -2,12 +2,9 @@
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
import javax.swing.*;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.*;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
@@ -21,6 +18,12 @@ import java.awt.event.WindowListener;
@SuppressWarnings("serial")
public class RSApplet extends Applet implements Runnable, MouseListener, MouseMotionListener, KeyListener, FocusListener, WindowListener {
public static boolean ctrlDown = false;
public static boolean shiftDown = false;
private int mouseWheelX = 0;
private int mouseWheelY = 0;
public static boolean removeShiftDropOnMenuOpen;
final void createClientFrame(int i, int j) {
myWidth = j;
myHeight = i;
@@ -203,6 +206,8 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseMo
raiseWelcomeScreen();
}
public boolean mouseWheelDown;
@Override
public final void mousePressed(MouseEvent mouseevent) {
int i = mouseevent.getX();
@@ -215,6 +220,13 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseMo
clickX = i;
clickY = j;
clickTime = System.currentTimeMillis();
if (mouseevent.getButton() == 2) {
mouseWheelDown = true;
mouseWheelX = mouseevent.getX();
mouseWheelY = mouseevent.getY();
return;
}
if (mouseevent.isMetaDown()) {
clickMode1 = 2;
clickMode2 = 2;
@@ -222,12 +234,14 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseMo
clickMode1 = 1;
clickMode2 = 1;
}
}
@Override
public final void mouseReleased(MouseEvent mouseevent) {
idleTime = 0;
clickMode2 = 0;
mouseWheelDown = false;
}
@Override
@@ -245,17 +259,28 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseMo
mouseY = -1;
}
@Override
public final void mouseDragged(MouseEvent mouseevent) {
int i = mouseevent.getX();
int j = mouseevent.getY();
if (gameFrame != null) {
i -= 4;
j -= 22;
public final void mouseDragged(MouseEvent e) {
int x = e.getX();
int y = e.getY();
if(gameFrame != null) {
Insets insets = gameFrame.getInsets();
x -= insets.left;//4
y -= insets.top;//22
}
if (mouseWheelDown) {
y = mouseWheelX - e.getX();
int k = mouseWheelY - e.getY();
mouseWheelDragged(y, -k);
mouseWheelX = e.getX();
mouseWheelY = e.getY();
return;
}
idleTime = 0;
mouseX = i;
mouseY = j;
mouseX = x;
mouseY = y;
}
void mouseWheelDragged(int param1, int param2) {
}
@Override
@@ -276,6 +301,18 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseMo
idleTime = 0;
int i = keyevent.getKeyCode();
int j = keyevent.getKeyChar();
switch (keyevent.getKeyCode())
{
case KeyEvent.VK_ESCAPE:
//call ::close_interface
break;
case KeyEvent.VK_SHIFT:
shiftDown = true;
break;
case KeyEvent.VK_CONTROL:
ctrlDown = true;
break;
}
if (j < 30) {
j = 0;
}
@@ -335,6 +372,15 @@ public class RSApplet extends Applet implements Runnable, MouseListener, MouseMo
idleTime = 0;
int i = keyevent.getKeyCode();
char c = keyevent.getKeyChar();
switch (keyevent.getKeyCode())
{
case KeyEvent.VK_SHIFT:
shiftDown = false;
break;
case KeyEvent.VK_CONTROL:
ctrlDown = false;
break;
}
if (c < '\036') {
c = '\0';
}
@@ -17,8 +17,8 @@ public class Commands implements PacketType {
public void processPacket(Client player, int packetType, int packetSize) {
String playerCommand = player.getInStream().readString();
if ((playerCommand.startsWith("ban") || playerCommand.startsWith("ip") || playerCommand.startsWith("mute") || playerCommand.startsWith("un")) && player.playerRights > 0 && player.playerRights < 4) {
GameLogger.writeLog(player.playerName, "commands", player.playerName + " used command: " + playerCommand + "");
}
GameLogger.writeLog(player.playerName, "commands", player.playerName + " used command: " + playerCommand + "");
}
if (player.playerRights >= 0) {
playerCommands(player, playerCommand);
}
@@ -49,27 +49,35 @@ public class Commands implements PacketType {
return;
}
switch (playerCommand)
{
case "close_interface":
player.getPlayerAssistant().closeAllWindows();
break;
}
}
public static void donatorCommands(Client player, String playerCommand) {
}
public static void moderatorCommands(Client player, String playerCommand) {
if (playerCommand.startsWith("yell")) {
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (PlayerHandler.players[j] != null) {
Client c2 = (Client)PlayerHandler.players[j];
if (player.playerRights == 1) {
c2.getActionSender().sendMessage("@blu@[Moderator]@bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
} else if (player.playerRights == 2) {
c2.getActionSender().sendMessage("@gre@[Administator]@bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
} else if (player.playerRights == 3) {
c2.getActionSender().sendMessage("@red@[Owner]@bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
}
}
}
if (playerCommand.startsWith("yell")) {
for (int j = 0; j < PlayerHandler.players.length; j++) {
if (PlayerHandler.players[j] != null) {
Client c2 = (Client)PlayerHandler.players[j];
if (player.playerRights == 1) {
c2.getActionSender().sendMessage("@blu@[Moderator]@bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
} else if (player.playerRights == 2) {
c2.getActionSender().sendMessage("@gre@[Administator]@bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
} else if (player.playerRights == 3) {
c2.getActionSender().sendMessage("@red@[Owner]@bla@"+ Misc.optimizeText(player.playerName) +": " + Misc.optimizeText(playerCommand.substring(5)) +"");
}
}
}
}
if (playerCommand.startsWith("mute")) {
try {
@@ -137,9 +145,9 @@ public class Commands implements PacketType {
public static void adminCommands(Client player, String playerCommand) {
if (playerCommand.equalsIgnoreCase("clearbank")) {
player.getItemAssistant().clearBank();
}
if (playerCommand.equalsIgnoreCase("clearbank")) {
player.getItemAssistant().clearBank();
}
if (playerCommand.startsWith("ipban")) { // use as ::ipban name
try {
@@ -202,9 +210,9 @@ public class Commands implements PacketType {
}
if (playerCommand.startsWith("gfx")) {
String[] args = playerCommand.split(" ");
player.gfx0(Integer.parseInt(args[1]));
}
String[] args = playerCommand.split(" ");
player.gfx0(Integer.parseInt(args[1]));
}
if (playerCommand.startsWith("anim")) {
String[] args = playerCommand.split(" ");
@@ -224,32 +232,32 @@ public class Commands implements PacketType {
if (playerCommand.startsWith("xteletome")) {
try {
String teleTo = playerCommand.substring(10);
for (int i = 0; i < PlayerHandler.players.length; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleTo)) {
Client p = (Client) PlayerHandler.players[i];
player.getActionSender().sendMessage(p.playerName + " has been teleported to you.");
p.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel);
}
try {
String teleTo = playerCommand.substring(10);
for (int i = 0; i < PlayerHandler.players.length; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(teleTo)) {
Client p = (Client) PlayerHandler.players[i];
player.getActionSender().sendMessage(p.playerName + " has been teleported to you.");
p.getPlayerAssistant().movePlayer(player.absX, player.absY, player.heightLevel);
}
}
}
}
} catch (Exception e) {
player.getActionSender().sendMessage("Player is not online.");
}
} catch (Exception e) {
player.getActionSender().sendMessage("Player is not online.");
}
}
if (playerCommand.startsWith("xteleto")) {
String name = playerCommand.substring(8);
for (int i = 0; i < PlayerHandler.players.length; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
player.getPlayerAssistant().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
if (playerCommand.startsWith("xteleto")) {
String name = playerCommand.substring(8);
for (int i = 0; i < PlayerHandler.players.length; i++) {
if (PlayerHandler.players[i] != null) {
if (PlayerHandler.players[i].playerName.equalsIgnoreCase(name)) {
player.getPlayerAssistant().movePlayer(PlayerHandler.players[i].getX(), PlayerHandler.players[i].getY(), PlayerHandler.players[i].heightLevel);
}
}
}
}
}
}
if (playerCommand.startsWith("tele")) {
String[] arg = playerCommand.split(" ");
if (arg.length > 3) {
@@ -327,8 +335,8 @@ public class Commands implements PacketType {
if (newItemID <= 10000 && newItemID >= 0) {
player.getItemAssistant().addItem(newItemID, newItemAmount);
if (player.isBusy()) {
player.getPlayerAssistant().closeAllWindows();
}
player.getPlayerAssistant().closeAllWindows();
}
player.getActionSender().sendMessage("You spawn (" + newItemAmount + ") "+ ItemAssistant.getItemName(newItemID) + ".");
} else {
player.getActionSender().sendMessage("No such item.");
@@ -418,15 +426,15 @@ public class Commands implements PacketType {
}
if (playerCommand.startsWith("object2")) {
String[] args = playerCommand.split(" ");
player.getActionSender().object(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 0);
Region.addObject(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 0, false);
}
String[] args = playerCommand.split(" ");
player.getActionSender().object(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 0);
Region.addObject(Integer.parseInt(args[1]), player.absX, player.absY, player.heightLevel, 0, 0, false);
}
if (playerCommand.startsWith("npc")) {
try {
int newNPC = Integer.parseInt(playerCommand.substring(4)), maxHit = NpcHandler.getNpcListCombat(newNPC) / 10,
attack = NpcHandler.getNpcListCombat(newNPC), defence = NpcHandler.getNpcListCombat(newNPC);
attack = NpcHandler.getNpcListCombat(newNPC), defence = NpcHandler.getNpcListCombat(newNPC);
boolean attackPlayer = NpcHandler.getNpcListCombat(newNPC) > 0;
if (newNPC > 0) {
NpcHandler.spawnNpc(player, newNPC, player.absX, player.absY, player.heightLevel, 0, NpcHandler.getNpcListHP(newNPC), maxHit, attack, defence, attackPlayer, false);
@@ -451,44 +459,44 @@ public class Commands implements PacketType {
}
if (playerCommand.startsWith("sound")) {
String[] args = playerCommand.split(" ");
player.getActionSender().sendSound(Integer.parseInt(args[1]), 100, 0);
String[] args = playerCommand.split(" ");
player.getActionSender().sendSound(Integer.parseInt(args[1]), 100, 0);
}
if (playerCommand.startsWith("tutprog")) {
String[] args = playerCommand.split(" ");
int id = Integer.parseInt(args[1]);
player.tutorialProgress = id;
}
if (playerCommand.startsWith("tutprog")) {
String[] args = playerCommand.split(" ");
int id = Integer.parseInt(args[1]);
player.tutorialProgress = id;
}
if (playerCommand.startsWith("song")) {
String[] args = playerCommand.split(" ");
int id = Integer.parseInt(args[1]);
player.getActionSender().sendSong(id);
}
if (playerCommand.startsWith("song")) {
String[] args = playerCommand.split(" ");
int id = Integer.parseInt(args[1]);
player.getActionSender().sendSong(id);
}
if (playerCommand.equalsIgnoreCase("run")) {
player.getActionSender().sendMessage("You have refilled your run-energy!");
player.playerEnergy = 100;
}
if (playerCommand.equalsIgnoreCase("run")) {
player.getActionSender().sendMessage("You have refilled your run-energy!");
player.playerEnergy = 100;
}
if (playerCommand.equalsIgnoreCase("runes")) {
final int amount = 10000;
final int[][] RUNES = { { 554, amount }, { 555, amount },
{ 556, amount }, { 557, amount }, { 558, amount },
{ 559, amount }, { 560, amount }, { 561, amount },
{ 562, amount }, { 563, amount }, { 564, amount },
{ 565, amount }, { 566, amount }, { 1963, 1 }, };
for (int[] element : RUNES) {
int item = element[0];
int amountToRecieve = element[1];
player.getItemAssistant().addItem(item, amountToRecieve);
}
}
if (playerCommand.equalsIgnoreCase("runes")) {
final int amount = 10000;
final int[][] RUNES = { { 554, amount }, { 555, amount },
{ 556, amount }, { 557, amount }, { 558, amount },
{ 559, amount }, { 560, amount }, { 561, amount },
{ 562, amount }, { 563, amount }, { 564, amount },
{ 565, amount }, { 566, amount }, { 1963, 1 }, };
for (int[] element : RUNES) {
int item = element[0];
int amountToRecieve = element[1];
player.getItemAssistant().addItem(item, amountToRecieve);
}
}
if (playerCommand.startsWith("sidebars")) {
player.getPlayerAssistant().sendSidebars();
}
if (playerCommand.startsWith("sidebars")) {
player.getPlayerAssistant().sendSidebars();
}
if (playerCommand.startsWith("update")) {
try {
Binary file not shown.
Binary file not shown.